From patchwork Mon Nov 16 22:06:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Carter X-Patchwork-Id: 11910923 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 64BAC1398 for ; Mon, 16 Nov 2020 22:07:16 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 44A45223BF for ; Mon, 16 Nov 2020 22:07:16 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="sUM3NoXF" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727233AbgKPWHQ (ORCPT ); Mon, 16 Nov 2020 17:07:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59860 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727044AbgKPWHP (ORCPT ); Mon, 16 Nov 2020 17:07:15 -0500 Received: from mail-qt1-x842.google.com (mail-qt1-x842.google.com [IPv6:2607:f8b0:4864:20::842]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 414D5C0613CF for ; Mon, 16 Nov 2020 14:07:14 -0800 (PST) Received: by mail-qt1-x842.google.com with SMTP id f93so14229036qtb.10 for ; Mon, 16 Nov 2020 14:07:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=anz3NyTiPtfor683RHrtK2coWqL3eEY13CqpeQS8bJQ=; b=sUM3NoXFgmueEyN9ySTHA7dNbb5tCcC5nX+QpTc91AeywWewQZR35pyK8I7Z5qfdSX cBXKG17JkY97nWLtWoWDN5Yq8gnY+BvaqodG7uyYd9ZVNLM3nUqB7MmF7Z2N4Cyethwv 8HWwNs9uKFFxpYBGn12nziWIVqvnixBPS/BYilz/JPZiYCH8hVKVvrh6TFh6fgYlUjZl fJVFB/9BiBt45VEclK/37vrnP19MyC4rZW48IGwZ4wTkUlXMeJDe0oTekMhCWmkNnain AeSFSEnfcCv2Wi5bUxhmNAnCCfH7a+2GbYS0ct9yeu+EZe++wlVe08fuxgKWQpr3QCRV uB0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=anz3NyTiPtfor683RHrtK2coWqL3eEY13CqpeQS8bJQ=; b=BfdrHrnLCXEgbuKt/bHV6NrFNuSKgjuaMFP0mDukwvmOj9K0rxxn5Pr2hUg/CowfqR QaYof/eCZhmQlm+ECuNpcp5SrgQFcNIB2gkxNY9rR+Grn5ei0hqtKeA6Ot6z42OqZ82C v2lmQTq1QTzhgrO/zDPx5zeNM4nBmO8l6BoFkmDcG3WdxNp7ve//D1cMtsDfA1tJLblt 3N9rlDdTsl+eqyMFnZkaErrYmSbcD1ZjMUqoUTRagbBBUImdbK56tEtgAPyW1jIPkx8J 7EA6cBvdZxssEQl/6rmUCNfSIkA22Ao5mcznd2Uhf9XsE5v6D3shh6mU67cNwO5XrxMx twUQ== X-Gm-Message-State: AOAM532ne6DtBhrfcWWjFVpa/LEkZHGuepXB4hPVvvG8AE5M8+MmNYTM 4xqnZhw6+F+wBTCnf/zn1XX5XxaWrYg= X-Google-Smtp-Source: ABdhPJzrPv5zgDPexycjTumIiRcYiEhSR1riajYnAqhbrQeWXsrP4+Uk2633m0Uqqv8VbwkHqVJ9+g== X-Received: by 2002:aed:3b7b:: with SMTP id q56mr17163892qte.377.1605564433404; Mon, 16 Nov 2020 14:07:13 -0800 (PST) Received: from localhost.localdomain (c-73-200-157-122.hsd1.md.comcast.net. [73.200.157.122]) by smtp.gmail.com with ESMTPSA id q11sm12653330qtp.47.2020.11.16.14.07.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Nov 2020 14:07:12 -0800 (PST) From: James Carter To: selinux@vger.kernel.org Cc: James Carter Subject: [PATCH 1/6] libsepol/cil: cil_tree_walk() helpers should use CIL_TREE_SKIP_* Date: Mon, 16 Nov 2020 17:06:57 -0500 Message-Id: <20201116220702.174765-2-jwcart2@gmail.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: <20201116220702.174765-1-jwcart2@gmail.com> References: <20201116220702.174765-1-jwcart2@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: selinux@vger.kernel.org The function cil_tree_walk() has an argument that can be used by the process_node helper function to tell cil_tree_walk() to skip the node's sub-tree or the rest of the current branch. The constants CIL_TREE_SKIP_NOTHING, CIL_TREE_SKIP_NEXT and CIL_TREE_SKIP_HEAD are defined to be used by that argument. Fixed two instances in the function __cil_build_ast_node_helper() where the value 1 is used instead of the more informative CIL_TREE_SKIP_NEXT. Signed-off-by: James Carter --- libsepol/cil/src/cil_build_ast.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libsepol/cil/src/cil_build_ast.c b/libsepol/cil/src/cil_build_ast.c index a8955834..bb5bbc84 100644 --- a/libsepol/cil/src/cil_build_ast.c +++ b/libsepol/cil/src/cil_build_ast.c @@ -6387,10 +6387,10 @@ int __cil_build_ast_node_helper(struct cil_tree_node *parse_current, uint32_t *f rc = cil_gen_macro(db, parse_current, ast_node); } else if (parse_current->data == CIL_KEY_CALL) { rc = cil_gen_call(db, parse_current, ast_node); - *finished = 1; + *finished = CIL_TREE_SKIP_NEXT; } else if (parse_current->data == CIL_KEY_POLICYCAP) { rc = cil_gen_policycap(db, parse_current, ast_node); - *finished = 1; + *finished = CIL_TREE_SKIP_NEXT; } else if (parse_current->data == CIL_KEY_OPTIONAL) { rc = cil_gen_optional(db, parse_current, ast_node); } else if (parse_current->data == CIL_KEY_IPADDR) { From patchwork Mon Nov 16 22:06:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Carter X-Patchwork-Id: 11910925 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 53E74A6A for ; Mon, 16 Nov 2020 22:07:17 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 33ADA223C7 for ; Mon, 16 Nov 2020 22:07:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="fH7ovnra" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727267AbgKPWHQ (ORCPT ); Mon, 16 Nov 2020 17:07:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59866 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727044AbgKPWHQ (ORCPT ); Mon, 16 Nov 2020 17:07:16 -0500 Received: from mail-qk1-x744.google.com (mail-qk1-x744.google.com [IPv6:2607:f8b0:4864:20::744]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 874DBC0613CF for ; Mon, 16 Nov 2020 14:07:16 -0800 (PST) Received: by mail-qk1-x744.google.com with SMTP id y197so18585383qkb.7 for ; Mon, 16 Nov 2020 14:07:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=w5pe9q6adHI2OT0fc7/40FKVmxW//jsuPI7tGzcF8Fw=; b=fH7ovnraYG4nIFf3IkBiuDqd68jDo2Guqkfxh2EWBUZfMgBkT/kQ5fw728TLjgxtf9 o/rXDdUaR8xf0teMRdpyXQ47cy1ppl/8lAGoHqke43u0PC1nTn49gHvKCckk3Y55fFTo CbOf+Nzw4Kn09moaN2yBOGs+ejdqFh19cydMP0SpxlsQZuHHHal+KD8W3QGZBXFmtFtZ AnweNXv+5iR7taLBmnKBtYBJcwFZD/OJ8ZbXswZPirAtLVWSI7G0R5kdO93Bw9MfIiYp fpW5q4fjhHswdw+kHbVQmuC6SRZzJFDC+EFUpRGn99HEfYL1uqEw5e+yxwa829CAEh+3 foQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=w5pe9q6adHI2OT0fc7/40FKVmxW//jsuPI7tGzcF8Fw=; b=VX0vz++6dfLvrNb8eNSgBdvGrX65fbfZGpIW/0LhjoOCJZNW6YAeDB9vR1ua8O4BiL BKhfPXR6It/i6jkdNhDlUQjj5fUVMiLK2EWIB7/acVp8Kk6NRxSnHRGiZPyKGt0jDD/o sWHk6uc0bSNEMnxkcLEvTSDzHv20RwwlR+7BkMjWyN1xoX5pDuDs7f1xPFTcyaK0WD4D EstkGeByOd+nHW1owsigIeZBYbrwesGWoBujkDavF5vYYaZt/xci/w3qkoNw0sAS/ds4 mSPq8Zz5VsyGS5LYPwSm8YLX7TVoW4uB9m2OSNnJ729I8KXVwK/hOiWGTPUxEQk5MNY7 6EFg== X-Gm-Message-State: AOAM5336O8c/N10e12PRtmpXZ+XRXvkkF8SmeW3EVF3Znu+s9bQ16LQZ baYIPCGpSUDlRBkQoF07oA/vIUDEhws= X-Google-Smtp-Source: ABdhPJzBaGj7Aj5C9hUzT5igcu3ketKSIkSyKDAugoElxWgbaFjfI4qeHpKOTJaPaKQEh6As5WRF3A== X-Received: by 2002:a37:6c06:: with SMTP id h6mr16749917qkc.288.1605564435716; Mon, 16 Nov 2020 14:07:15 -0800 (PST) Received: from localhost.localdomain (c-73-200-157-122.hsd1.md.comcast.net. [73.200.157.122]) by smtp.gmail.com with ESMTPSA id q11sm12653330qtp.47.2020.11.16.14.07.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Nov 2020 14:07:15 -0800 (PST) From: James Carter To: selinux@vger.kernel.org Cc: James Carter Subject: [PATCH 2/6] libsepol/cil: Git rid of unnecessary check in cil_gen_node() Date: Mon, 16 Nov 2020 17:06:58 -0500 Message-Id: <20201116220702.174765-3-jwcart2@gmail.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: <20201116220702.174765-1-jwcart2@gmail.com> References: <20201116220702.174765-1-jwcart2@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: selinux@vger.kernel.org Since cil_gen_node() is only called from declarations, the check to determine if the node is a declaration is not needed, so remove it. Signed-off-by: James Carter --- libsepol/cil/src/cil_build_ast.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libsepol/cil/src/cil_build_ast.c b/libsepol/cil/src/cil_build_ast.c index bb5bbc84..67801def 100644 --- a/libsepol/cil/src/cil_build_ast.c +++ b/libsepol/cil/src/cil_build_ast.c @@ -154,7 +154,7 @@ int cil_gen_node(struct cil_db *db, struct cil_tree_node *ast_node, struct cil_s } } - if (ast_node->flavor >= CIL_MIN_DECLARATIVE && ast_node->parent->flavor == CIL_MACRO) { + if (ast_node->parent->flavor == CIL_MACRO) { struct cil_list_item *item; struct cil_list *param_list = ((struct cil_macro*)ast_node->parent->data)->params; if (param_list != NULL) { From patchwork Mon Nov 16 22:06:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Carter X-Patchwork-Id: 11910927 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 6D1F6A6A for ; Mon, 16 Nov 2020 22:07:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 47C38223C7 for ; Mon, 16 Nov 2020 22:07:19 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="vbN67Se3" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727319AbgKPWHT (ORCPT ); Mon, 16 Nov 2020 17:07:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59874 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727044AbgKPWHS (ORCPT ); Mon, 16 Nov 2020 17:07:18 -0500 Received: from mail-qt1-x842.google.com (mail-qt1-x842.google.com [IPv6:2607:f8b0:4864:20::842]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 96A8DC0613CF for ; Mon, 16 Nov 2020 14:07:18 -0800 (PST) Received: by mail-qt1-x842.google.com with SMTP id m65so14222268qte.11 for ; Mon, 16 Nov 2020 14:07:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=dKWeqO/Fddpm7TbpKRoOvm2BUHb0yMtMdIL9FDKnGHE=; b=vbN67Se3IHjw7ppce+9Saj03qXpkTnXTJXtwrb2ovOjWIeWbJm2qghqEFEmZhbEkPD 84qQ2vS100wd1hPDedn+HuBgWifgzgkjiudl2LqznVRtXVdzmvFgisP/E7RvZotXdh71 ZNs7yZgZ4M6LNZBjOsEI9FghccWVTue3t+IjYWzLIqfu6jBT2Kd2xokMLj9BhO73sZSm XmAuwkt/s3xJRPtoL4QgNJAs0L4WgkjVpoQd1L6Zw4FZKrFvCE+m0Kb2ygP7X/vGDy+7 +/wDyGIgoPvZejEUf96+ME+SVl/l2RMAA8ppymZkiB8Yyt1pVXqZ400tuG0OZY036k4n 1XYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=dKWeqO/Fddpm7TbpKRoOvm2BUHb0yMtMdIL9FDKnGHE=; b=PKGA4mGAZr52qOIaqKGEg4SG9u+toxz7M5EXWbW1efrWVrsJxMl99VRDm9uVmA9Eua IcOMJXEtqi3ghjBrDPBoRSFQjux/alRY0eo24hdxbooVm5ddqiMrTkeX+6jRkWzGngkw gtRENfz+11gZSEdTxFQXCufhCm0Ix9aSCkC5P4DyAwqmfWYtJfH9gq37ic7fQdXrB3wq Qx6qVI01jwg4gy/QCyUe22lPpktXu7IQYg/Rhzt6pr4PXbaeObCAQEGowgwfzCjHcQnR jtJMxi5LBmeaWrroGLWuw72chyAuCKFmUibL3Du0xAU7UwCOIKbxnQEvuqN/5jf0HifK xpHA== X-Gm-Message-State: AOAM532UJW6NKEZi1fCJf5Dzn9gTt2Gz39GO+kXqeH8+x4Gyfj4dBeW/ g9hM7OIbdhNMAn6UUKFuTjkgmwHOkkQ= X-Google-Smtp-Source: ABdhPJzmPMi18l2NcdlviX0EuWZepH2soraHbo1QPqMaUrfEsUG85hdW+0Pru5gmuncajgOOQ3hasg== X-Received: by 2002:a05:622a:18d:: with SMTP id s13mr16112870qtw.151.1605564437717; Mon, 16 Nov 2020 14:07:17 -0800 (PST) Received: from localhost.localdomain (c-73-200-157-122.hsd1.md.comcast.net. [73.200.157.122]) by smtp.gmail.com with ESMTPSA id q11sm12653330qtp.47.2020.11.16.14.07.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Nov 2020 14:07:17 -0800 (PST) From: James Carter To: selinux@vger.kernel.org Cc: James Carter Subject: [PATCH 3/6] libsepol/cil: Remove unused field from struct cil_args_resolve Date: Mon, 16 Nov 2020 17:06:59 -0500 Message-Id: <20201116220702.174765-4-jwcart2@gmail.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: <20201116220702.174765-1-jwcart2@gmail.com> References: <20201116220702.174765-1-jwcart2@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: selinux@vger.kernel.org When resolving names, the struct cil_args_resolve is passed to the various resolve functions. The field last_resolved_name is not used. Remove the last_resolved_name field from struct cil_args_resolve. Signed-off-by: James Carter --- libsepol/cil/src/cil_resolve_ast.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/libsepol/cil/src/cil_resolve_ast.c b/libsepol/cil/src/cil_resolve_ast.c index daf873be..410b8c87 100644 --- a/libsepol/cil/src/cil_resolve_ast.c +++ b/libsepol/cil/src/cil_resolve_ast.c @@ -51,7 +51,6 @@ struct cil_args_resolve { struct cil_db *db; enum cil_pass pass; uint32_t *changed; - char *last_resolved_name; struct cil_tree_node *optstack; struct cil_tree_node *boolif; struct cil_tree_node *macro; @@ -3905,7 +3904,6 @@ int cil_resolve_ast(struct cil_db *db, struct cil_tree_node *current) extra_args.db = db; extra_args.pass = pass; extra_args.changed = &changed; - extra_args.last_resolved_name = NULL; extra_args.optstack = NULL; extra_args.boolif= NULL; extra_args.macro = NULL; @@ -4234,7 +4232,5 @@ exit: *datum = NULL; } - args->last_resolved_name = name; - return rc; } From patchwork Mon Nov 16 22:07:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Carter X-Patchwork-Id: 11910929 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 35E88A6A for ; Mon, 16 Nov 2020 22:07:21 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 16DD4223C7 for ; Mon, 16 Nov 2020 22:07:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Eg9f/nR1" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727342AbgKPWHU (ORCPT ); Mon, 16 Nov 2020 17:07:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59882 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727044AbgKPWHU (ORCPT ); Mon, 16 Nov 2020 17:07:20 -0500 Received: from mail-qk1-x743.google.com (mail-qk1-x743.google.com [IPv6:2607:f8b0:4864:20::743]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 77FAFC0613CF for ; Mon, 16 Nov 2020 14:07:20 -0800 (PST) Received: by mail-qk1-x743.google.com with SMTP id y197so18585564qkb.7 for ; Mon, 16 Nov 2020 14:07:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GVG58xhZnDvxvzqoUlfgNm/LHRJP3qzWbhK1/tZSAkM=; b=Eg9f/nR18lURQcl7ml/NNikqClLZzZW1vp3AhqodW8y27i65uPBHHYgDL01gHjn8zi ZBSE/wkZhilWYPr0qaL0Bittt/RKw2pM2apw+WAPG4zDHZQiZAd1aCZOesP7Qvp5w17j umYowiX/Dg54PZZ5/+92DlSlRbSyVrG1IkMkoaWebVweZp1n33Zl2F0PWwhV2HKnbF+j Ir7nhoYVP5X8e5eXG0cWm4a4275R7ttMqz4JovKvSWtB+rpHf+NV1D1xkGJg2TYq92Vg 34cZ96jiJHeUKHgOjk+EFVwPd2i/Bd5EUzUZGvEfGpPYPo9FWFm2t1VbLyKfzGhQIhqD IfKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GVG58xhZnDvxvzqoUlfgNm/LHRJP3qzWbhK1/tZSAkM=; b=cgI9P8hobVfOJBVyrUre1PcLahyHt8m5Qk84hI2BqW2MyqaTgrVA2BMUoLekHulUD8 PrOvW5g9Y4k3VukYd649f+UVKDsnPxzu2W0fVtOTA6Mh/QqtsfdmwJSFZ/TXrIybi2id Ie4yJiXrNXjX+RXYJ1Nk5iPcCAhXlTQaWyVTv1SZW662iHQzHMPuPRwHyPelCrXLKH3X TWeNg4LLa6PnG9DClReJQBi+vsqWyR2bQM71Mr4xVikNEeD8jsRzm7zMPFCbEajn7PCV xneBEJ0Q4QpvrV2Px3+wKU1U1QwAM/hHmw5fFaLPRG4OCoLnZi9rWoV1zz0wASEi58Fl qL1w== X-Gm-Message-State: AOAM530FmE0J4f0LLWw368y1NLMbkzc9Yz8SNqmmEuxasqJZvkAplS5h 8iI55+5yo5ZdMrvYpYXXWmZJsy3tJo8= X-Google-Smtp-Source: ABdhPJycs5bRtTaqVktfCX83qFaMYAC+CdncKGmR8ZfVhhAh+ySl7QposGvwpKav5e2IGfas+/IEMA== X-Received: by 2002:a37:634a:: with SMTP id x71mr4348463qkb.51.1605564439635; Mon, 16 Nov 2020 14:07:19 -0800 (PST) Received: from localhost.localdomain (c-73-200-157-122.hsd1.md.comcast.net. [73.200.157.122]) by smtp.gmail.com with ESMTPSA id q11sm12653330qtp.47.2020.11.16.14.07.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Nov 2020 14:07:19 -0800 (PST) From: James Carter To: selinux@vger.kernel.org Cc: James Carter Subject: [PATCH 4/6] libsepol/cil: Remove unnecessary assignment in cil_resolve_name_keep_aliases() Date: Mon, 16 Nov 2020 17:07:00 -0500 Message-Id: <20201116220702.174765-5-jwcart2@gmail.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: <20201116220702.174765-1-jwcart2@gmail.com> References: <20201116220702.174765-1-jwcart2@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: selinux@vger.kernel.org Block, macro, and optional names are all in stored in a block symtab. A declarations fully-qualified name includes all of the block names from the root node to the declaration separated by dots. Macro and optional names are only used when trying to determine the block referred to by an "in" block. An optional block name might be stored in a macro's symtab, but optional blocks have no symtab and (*datum)->symtab just refers to the symtab of the datum which would be the current symtab. Since the assignment is not needed, remove it so the code is clearer. Signed-off-by: James Carter --- libsepol/cil/src/cil_resolve_ast.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/libsepol/cil/src/cil_resolve_ast.c b/libsepol/cil/src/cil_resolve_ast.c index 410b8c87..9e6afca9 100644 --- a/libsepol/cil/src/cil_resolve_ast.c +++ b/libsepol/cil/src/cil_resolve_ast.c @@ -4209,9 +4209,6 @@ int cil_resolve_name_keep_aliases(struct cil_tree_node *ast_node, char *name, en if (node->flavor == CIL_MACRO) { struct cil_macro *macro = node->data; symtab = ¯o->symtab[sym_index]; - } else { - /* optional */ - symtab = (*datum)->symtab; } } current = next; From patchwork Mon Nov 16 22:07:01 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Carter X-Patchwork-Id: 11910931 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 83D181398 for ; Mon, 16 Nov 2020 22:07:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4C2F5223BF for ; Mon, 16 Nov 2020 22:07:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="opbxDfSE" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727533AbgKPWHX (ORCPT ); Mon, 16 Nov 2020 17:07:23 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59890 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727044AbgKPWHW (ORCPT ); Mon, 16 Nov 2020 17:07:22 -0500 Received: from mail-qk1-x744.google.com (mail-qk1-x744.google.com [IPv6:2607:f8b0:4864:20::744]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 956EAC0613CF for ; Mon, 16 Nov 2020 14:07:22 -0800 (PST) Received: by mail-qk1-x744.google.com with SMTP id u4so18579281qkk.10 for ; Mon, 16 Nov 2020 14:07:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=RusTduV3jsECSofq865SkT3RbKYUN4PskUBQ6Hzspis=; b=opbxDfSEV7s6mKgygUBbRjjQPTsZnGMzJGy0nhbTdc6IzZiCQIcZ/lN3Qi9xd/T6aL QHkyi1TAbbnvS2QgQd8VIYPYCjJXwR24HmMYWiS5Dirk2XeVYwHg4nshFNsrdaul61r3 SfolZtcqCKDRykBIZOUbye0LqY8iCd37SU46lFHBlW6if5S2jwpSQXhWtouryiVz0KYS WqrT6j6r136sOzvsdn0aLzwg1bVUxUMQ7oCjlrwFfVwG7MMNgiEtZAEseU+kKYPkyzqB 3rqw+vvLqALVB+fplLqdX2WZry8DMpBarvjCHgwDIuUEQlQWiwqR/5oXKUYpHkjmAn64 XbBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RusTduV3jsECSofq865SkT3RbKYUN4PskUBQ6Hzspis=; b=qNrPjfLfPhZmYHg76GZG1Cs/+dffhKUC+hzxwCxArLVMfbyfOYGwridwbvRLHUnboE F+vI0N3rruO6NJi39QOwK6ZLVwFW6zIhUVrzGQ2PaEbKO0owcHTVyndCdYnVMQXSL3cc Z4IK70zRBzEhQYY5bjF98gOo5k2McnGouxnlfae7fi86hlBcdYIisIcO0pC4BuOuGmrS bwWOfjt/EzkVRcyvkaLD2wv33UdBtkyg7ZOodUhPpY77AyA5yG42RA8QCNklamJtmmE4 tp/ml5VKNDuNcVALU2kazgKzPvmZcpeX0iackWg77o2yEkEuG4qXT7q6HdqiIU9coXuG dVQA== X-Gm-Message-State: AOAM532fs+GmmNfNdXLVRrIcjuZ8d4d/rwfxTTeMUnrJETPl0ae0FfW+ Xr6/BvPR+5/d7pgtQJ1Hr9sNf3TB2GQ= X-Google-Smtp-Source: ABdhPJy8ONvggBe+1RsLZSxDqEhKI3p9qGZ2ZECtDhrQh54q7J1hqVZ3bvoxV3z+EeAIEBJ0E4AbXQ== X-Received: by 2002:a37:6445:: with SMTP id y66mr17977708qkb.100.1605564441581; Mon, 16 Nov 2020 14:07:21 -0800 (PST) Received: from localhost.localdomain (c-73-200-157-122.hsd1.md.comcast.net. [73.200.157.122]) by smtp.gmail.com with ESMTPSA id q11sm12653330qtp.47.2020.11.16.14.07.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Nov 2020 14:07:21 -0800 (PST) From: James Carter To: selinux@vger.kernel.org Cc: James Carter Subject: [PATCH 5/6] libsepol/cil: Use the macro NODE() whenever possible Date: Mon, 16 Nov 2020 17:07:01 -0500 Message-Id: <20201116220702.174765-6-jwcart2@gmail.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: <20201116220702.174765-1-jwcart2@gmail.com> References: <20201116220702.174765-1-jwcart2@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: selinux@vger.kernel.org In cil_symtab.h, the macro NODE() is defined. It refers to the first node in the list of nodes that declare that datum. (It is rare for a datum to have more than one node in this list.) While the macro was used in many places, it was not used everywhere that it could be. Change all the remaining places to use NODE(). Signed-off-by: James Carter --- libsepol/cil/src/cil.c | 2 +- libsepol/cil/src/cil_binary.c | 12 ++++----- libsepol/cil/src/cil_find.c | 2 +- libsepol/cil/src/cil_resolve_ast.c | 40 +++++++++++++++--------------- libsepol/cil/src/cil_tree.c | 2 +- 5 files changed, 29 insertions(+), 29 deletions(-) diff --git a/libsepol/cil/src/cil.c b/libsepol/cil/src/cil.c index 95bdb5e5..bb7f06d5 100644 --- a/libsepol/cil/src/cil.c +++ b/libsepol/cil/src/cil.c @@ -1380,7 +1380,7 @@ static int cil_cats_to_ebitmap(struct cil_cats *cats, struct ebitmap* cats_ebitm } cil_list_for_each(i, cats->datum_expr) { - node = DATUM(i->data)->nodes->head->data; + node = NODE(i->data); if (node->flavor == CIL_CATSET) { cs = (struct cil_catset*)i->data; cil_list_for_each(j, cs->cats->datum_expr) { diff --git a/libsepol/cil/src/cil_binary.c b/libsepol/cil/src/cil_binary.c index e417c5c2..3b01ade1 100644 --- a/libsepol/cil/src/cil_binary.c +++ b/libsepol/cil/src/cil_binary.c @@ -147,7 +147,7 @@ static int __cil_get_sepol_level_datum(policydb_t *pdb, struct cil_symtab_datum static int __cil_expand_user(struct cil_symtab_datum *datum, ebitmap_t *new) { - struct cil_tree_node *node = datum->nodes->head->data; + struct cil_tree_node *node = NODE(datum); struct cil_user *user = NULL; struct cil_userattribute *attr = NULL; @@ -175,7 +175,7 @@ exit: static int __cil_expand_role(struct cil_symtab_datum *datum, ebitmap_t *new) { - struct cil_tree_node *node = datum->nodes->head->data; + struct cil_tree_node *node = NODE(datum); if (node->flavor == CIL_ROLEATTRIBUTE) { struct cil_roleattribute *attr = (struct cil_roleattribute *)datum; @@ -201,7 +201,7 @@ exit: static int __cil_expand_type(struct cil_symtab_datum *datum, ebitmap_t *new) { - struct cil_tree_node *node = datum->nodes->head->data; + struct cil_tree_node *node = NODE(datum); if (node->flavor == CIL_TYPEATTRIBUTE) { struct cil_typeattribute *attr = (struct cil_typeattribute *)datum; @@ -2943,7 +2943,7 @@ int __cil_cats_to_mls_level(policydb_t *pdb, struct cil_cats *cats, mls_level_t cat_datum_t *sepol_cat = NULL; cil_list_for_each(i, cats->datum_expr) { - struct cil_tree_node *node = DATUM(i->data)->nodes->head->data; + struct cil_tree_node *node = NODE(i->data); if (node->flavor == CIL_CATSET) { struct cil_list_item *j; struct cil_catset *cs = i->data; @@ -3701,7 +3701,7 @@ int __cil_node_to_policydb(struct cil_tree_node *node, void *extra_args) type_value_to_cil = args->type_value_to_cil; if (node->flavor >= CIL_MIN_DECLARATIVE) { - if (node != DATUM(node->data)->nodes->head->data) { + if (node != NODE(node->data)) { goto exit; } } @@ -4450,7 +4450,7 @@ static void __cil_init_sepol_type_set(type_set_t *t) static int __cil_add_sepol_type(policydb_t *pdb, const struct cil_db *db, struct cil_symtab_datum *datum, ebitmap_t *map) { int rc = SEPOL_ERR; - struct cil_tree_node *n = datum->nodes->head->data; + struct cil_tree_node *n = NODE(datum); type_datum_t *sepol_datum = NULL; if (n->flavor == CIL_TYPEATTRIBUTE) { diff --git a/libsepol/cil/src/cil_find.c b/libsepol/cil/src/cil_find.c index 41342424..c182406e 100644 --- a/libsepol/cil/src/cil_find.c +++ b/libsepol/cil/src/cil_find.c @@ -118,7 +118,7 @@ static int cil_type_matches(ebitmap_t *matches, struct cil_symtab_datum *d1, str static int cil_self_match_any(struct cil_symtab_datum *s1, struct cil_symtab_datum *s2, struct cil_symtab_datum *t2) { int rc; - struct cil_tree_node *n1 = s1->nodes->head->data; + struct cil_tree_node *n1 = NODE(s1); if (n1->flavor != CIL_TYPEATTRIBUTE) { rc = cil_type_match_any(s1, t2); } else { diff --git a/libsepol/cil/src/cil_resolve_ast.c b/libsepol/cil/src/cil_resolve_ast.c index 9e6afca9..060bc0d0 100644 --- a/libsepol/cil/src/cil_resolve_ast.c +++ b/libsepol/cil/src/cil_resolve_ast.c @@ -393,7 +393,7 @@ int cil_resolve_type_rule(struct cil_tree_node *current, void *extra_args) goto exit; } - result_node = result_datum->nodes->head->data; + result_node = NODE(result_datum); if (result_node->flavor != CIL_TYPE) { cil_log(CIL_ERR, "Type rule result must be a type [%d]\n",result_node->flavor); @@ -421,7 +421,7 @@ int cil_resolve_typeattributeset(struct cil_tree_node *current, void *extra_args goto exit; } - attr_node = attr_datum->nodes->head->data; + attr_node = NODE(attr_datum); if (attr_node->flavor != CIL_TYPEATTRIBUTE) { rc = SEPOL_ERR; @@ -470,7 +470,7 @@ int cil_resolve_expandtypeattribute(struct cil_tree_node *current, void *extra_a goto exit; } - attr_node = attr_datum->nodes->head->data; + attr_node = NODE(attr_datum); if (attr_node->flavor != CIL_TYPEATTRIBUTE) { rc = SEPOL_ERR; @@ -594,7 +594,7 @@ int cil_resolve_typepermissive(struct cil_tree_node *current, void *extra_args) goto exit; } - type_node = type_datum->nodes->head->data; + type_node = NODE(type_datum); if (type_node->flavor != CIL_TYPE && type_node->flavor != CIL_TYPEALIAS) { cil_log(CIL_ERR, "Typepermissive must be a type or type alias\n"); @@ -654,7 +654,7 @@ int cil_resolve_nametypetransition(struct cil_tree_node *current, void *extra_ar goto exit; } - result_node = result_datum->nodes->head->data; + result_node = NODE(result_datum); if (result_node->flavor != CIL_TYPE && result_node->flavor != CIL_TYPEALIAS) { cil_log(CIL_ERR, "typetransition result is not a type or type alias\n"); @@ -855,7 +855,7 @@ int cil_resolve_userlevel(struct cil_tree_node *current, void *extra_args) goto exit; } - user_node = user_datum->nodes->head->data; + user_node = NODE(user_datum); if (user_node->flavor != CIL_USER) { cil_log(CIL_ERR, "Userlevel must be a user\n"); @@ -908,7 +908,7 @@ int cil_resolve_userrange(struct cil_tree_node *current, void *extra_args) goto exit; } - user_node = user_datum->nodes->head->data; + user_node = NODE(user_datum); if (user_node->flavor != CIL_USER) { cil_log(CIL_ERR, "Userrange must be a user: %s\n", user_datum->fqn); @@ -959,7 +959,7 @@ int cil_resolve_userprefix(struct cil_tree_node *current, void *extra_args) goto exit; } - user_node = user_datum->nodes->head->data; + user_node = NODE(user_datum); if (user_node->flavor != CIL_USER) { cil_log(CIL_ERR, "Userprefix must be a user: %s\n", user_datum->fqn); @@ -986,7 +986,7 @@ int cil_resolve_selinuxuser(struct cil_tree_node *current, void *extra_args) goto exit; } - user_node = user_datum->nodes->head->data; + user_node = NODE(user_datum); if (user_node->flavor != CIL_USER) { cil_log(CIL_ERR, "Selinuxuser must be a user: %s\n", user_datum->fqn); @@ -1079,7 +1079,7 @@ int cil_resolve_roletransition(struct cil_tree_node *current, void *extra_args) if (rc != SEPOL_OK) { goto exit; } - node = result_datum->nodes->head->data; + node = NODE(result_datum); if (node->flavor != CIL_ROLE) { rc = SEPOL_ERR; printf("%i\n", node->flavor); @@ -1131,7 +1131,7 @@ int cil_resolve_roleattributeset(struct cil_tree_node *current, void *extra_args if (rc != SEPOL_OK) { goto exit; } - attr_node = attr_datum->nodes->head->data; + attr_node = NODE(attr_datum); if (attr_node->flavor != CIL_ROLEATTRIBUTE) { rc = SEPOL_ERR; @@ -1569,7 +1569,7 @@ int cil_resolve_catorder(struct cil_tree_node *current, void *extra_args) cil_log(CIL_ERR, "Failed to resolve category %s in categoryorder\n", (char *)curr->data); goto exit; } - node = cat_datum->nodes->head->data; + node = NODE(cat_datum); if (node->flavor != CIL_CAT) { cil_log(CIL_ERR, "%s is not a category. Only categories are allowed in categoryorder statements\n", cat_datum->name); rc = SEPOL_ERR; @@ -1832,7 +1832,7 @@ int cil_resolve_context(struct cil_tree_node *current, struct cil_context *conte goto exit; } - node = user_datum->nodes->head->data; + node = NODE(user_datum); if (node->flavor != CIL_USER) { cil_log(CIL_ERR, "Context user must be a user: %s\n", user_datum->fqn); @@ -1847,7 +1847,7 @@ int cil_resolve_context(struct cil_tree_node *current, struct cil_context *conte goto exit; } - node = role_datum->nodes->head->data; + node = NODE(role_datum); if (node->flavor != CIL_ROLE) { rc = SEPOL_ERR; cil_log(CIL_ERR, "Context role not a role: %s\n", role_datum->fqn); @@ -1861,7 +1861,7 @@ int cil_resolve_context(struct cil_tree_node *current, struct cil_context *conte goto exit; } - node = type_datum->nodes->head->data; + node = NODE(type_datum); if (node->flavor != CIL_TYPE && node->flavor != CIL_TYPEALIAS) { rc = SEPOL_ERR; @@ -2311,7 +2311,7 @@ int cil_resolve_blockinherit_link(struct cil_tree_node *current, void *extra_arg goto exit; } - node = block_datum->nodes->head->data; + node = NODE(block_datum); if (node->flavor != CIL_BLOCK) { cil_log(CIL_ERR, "%s is not a block\n", cil_node_to_string(node)); @@ -2450,7 +2450,7 @@ int cil_resolve_blockabstract(struct cil_tree_node *current, void *extra_args) goto exit; } - block_node = block_datum->nodes->head->data; + block_node = NODE(block_datum); if (block_node->flavor != CIL_BLOCK) { cil_log(CIL_ERR, "Failed to resolve blockabstract to a block, rc: %d\n", rc); goto exit; @@ -2482,7 +2482,7 @@ int cil_resolve_in(struct cil_tree_node *current, void *extra_args) goto exit; } - block_node = block_datum->nodes->head->data; + block_node = NODE(block_datum); rc = cil_copy_ast(db, current, block_node); if (rc != SEPOL_OK) { @@ -2774,7 +2774,7 @@ int cil_resolve_call1(struct cil_tree_node *current, void *extra_args) goto exit; } - macro_node = macro_datum->nodes->head->data; + macro_node = NODE(macro_datum); if (macro_node->flavor != CIL_MACRO) { printf("Failed to resolve %s to a macro\n", new_call->macro_str); @@ -3367,7 +3367,7 @@ int cil_resolve_userattributeset(struct cil_tree_node *current, void *extra_args if (rc != SEPOL_OK) { goto exit; } - attr_node = attr_datum->nodes->head->data; + attr_node = NODE(attr_datum); if (attr_node->flavor != CIL_USERATTRIBUTE) { rc = SEPOL_ERR; diff --git a/libsepol/cil/src/cil_tree.c b/libsepol/cil/src/cil_tree.c index b1cbda91..3ab5e868 100644 --- a/libsepol/cil/src/cil_tree.c +++ b/libsepol/cil/src/cil_tree.c @@ -1688,7 +1688,7 @@ void cil_tree_print_node(struct cil_tree_node *node) struct cil_symtab_datum *datum = ((struct cil_args*)item->data)->arg; if (datum != NULL) { if (datum->nodes != NULL && datum->nodes->head != NULL) { - cil_tree_print_node((struct cil_tree_node*)datum->nodes->head->data); + cil_tree_print_node(NODE(datum)); } } else if (((struct cil_args*)item->data)->arg_str != NULL) { switch (item->flavor) { From patchwork Mon Nov 16 22:07:02 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Carter X-Patchwork-Id: 11910933 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 58F111398 for ; Mon, 16 Nov 2020 22:07:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 35FFB223C7 for ; Mon, 16 Nov 2020 22:07:25 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="T11iL6XV" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727610AbgKPWHY (ORCPT ); Mon, 16 Nov 2020 17:07:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59896 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727044AbgKPWHY (ORCPT ); Mon, 16 Nov 2020 17:07:24 -0500 Received: from mail-qk1-x741.google.com (mail-qk1-x741.google.com [IPv6:2607:f8b0:4864:20::741]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7A560C0613CF for ; Mon, 16 Nov 2020 14:07:24 -0800 (PST) Received: by mail-qk1-x741.google.com with SMTP id v143so18632575qkb.2 for ; Mon, 16 Nov 2020 14:07:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=eJkMYichODDcRS+T2opQB0Cs8rhS7yzs4z9iIfOKdsw=; b=T11iL6XV6vECgZ8+kb8GxaO+ATyY4VWFwlRBHHKFUHJT7Ryw7n8ikJYUOMiDH0rgwP rKl7Sqw7TzvpFT0zj0HrPnq4jUFbawu16A21KJojMf0Ofhn/+H1R1a8Qv2nejeHmpBF7 mJDy/+Ij1I/nHqMyibzp6ePSlnWMSZWp/f0O5fbrYX4KoPIJtMjPHkKIhwwBqbMbcU7B XyIbzS4TTe0EDUCIHiMCCuzIlgfbRQzstv26H3dMvV2KK9A6M9O7C62PmO7D6e626/+d +yWsMb73LXK2fNIZG3owMSRfVieO/tSM9uhq7uZ/QYY1IpRJdnqp/43hhWfgoOAxfOue nncA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=eJkMYichODDcRS+T2opQB0Cs8rhS7yzs4z9iIfOKdsw=; b=C5m1tL8T+icKcXVOzb9Q3RsQdsoRkB6WI0qnL2Y5LIj6Pbz5i3D7WDS/0YgAuCsb7s DaCx4Rc4B53JMIjuI7mB41cM1rMRWLQxR5V5+WDd0j9UYDAhSmgm6bt3yfq92CfExsUt 68+MCg9dZDrQSFKvMhC38QBqYjTsmX6LFEuAmBIbBaChUqvUoagqKSeDPkN6s7a64pqA ucRoFsrux0p4ctbJB+0CNpEMe0hSgGv9tl5pkCMw+/05o+s90sWjFh4w/tBcPFJ8TCtk ymCNurmOfU8hbQcwlW7ibMyoVBjMiNgAJj2mP7MvAQ66Xe4LdrOiLtdocTbQ3CJzU8pB 2ygA== X-Gm-Message-State: AOAM5300VmAcOBQ3edisNkHlsVF34dPUWwmP4/KfWl4iOt3dM/2HXcro b/nhcEgYR5IHG8yJhROGk7iSGBzt7uw= X-Google-Smtp-Source: ABdhPJzcHWQ26PX9FRdeAgosXjLh5WZfUrlJgnBQ2vAx1jwVpFFA16fNiGvN6zIAYMfF/GTfibqorQ== X-Received: by 2002:a05:620a:148d:: with SMTP id w13mr15945025qkj.299.1605564443549; Mon, 16 Nov 2020 14:07:23 -0800 (PST) Received: from localhost.localdomain (c-73-200-157-122.hsd1.md.comcast.net. [73.200.157.122]) by smtp.gmail.com with ESMTPSA id q11sm12653330qtp.47.2020.11.16.14.07.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Nov 2020 14:07:23 -0800 (PST) From: James Carter To: selinux@vger.kernel.org Cc: James Carter Subject: [PATCH 6/6] libspepol/cil: Use the macro FLAVOR() whenever possible Date: Mon, 16 Nov 2020 17:07:02 -0500 Message-Id: <20201116220702.174765-7-jwcart2@gmail.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: <20201116220702.174765-1-jwcart2@gmail.com> References: <20201116220702.174765-1-jwcart2@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: selinux@vger.kernel.org In cil_symtab.h, the macro FLAVOR() is defined. It refers to the flavor of the first node in the list of nodes that declare the datum. (The flavors of every node should be the same.) While the macro was used in many places, it was not used everywhere that it could be. Change all the remaining places to use FLAVOR(). Signed-off-by: James Carter --- libsepol/cil/src/cil_find.c | 8 ++++---- libsepol/cil/src/cil_post.c | 2 +- libsepol/cil/src/cil_resolve_ast.c | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/libsepol/cil/src/cil_find.c b/libsepol/cil/src/cil_find.c index c182406e..638b675d 100644 --- a/libsepol/cil/src/cil_find.c +++ b/libsepol/cil/src/cil_find.c @@ -44,8 +44,8 @@ struct cil_args_find { static int cil_type_match_any(struct cil_symtab_datum *d1, struct cil_symtab_datum *d2) { - enum cil_flavor f1 = ((struct cil_tree_node*)d1->nodes->head->data)->flavor; - enum cil_flavor f2 = ((struct cil_tree_node*)d2->nodes->head->data)->flavor; + enum cil_flavor f1 = FLAVOR(d1); + enum cil_flavor f2 = FLAVOR(d2); if (f1 != CIL_TYPEATTRIBUTE && f2 != CIL_TYPEATTRIBUTE) { struct cil_type *t1 = (struct cil_type *)d1; @@ -81,8 +81,8 @@ static int cil_type_match_any(struct cil_symtab_datum *d1, struct cil_symtab_dat static int cil_type_matches(ebitmap_t *matches, struct cil_symtab_datum *d1, struct cil_symtab_datum *d2) { int rc = SEPOL_OK; - enum cil_flavor f1 = ((struct cil_tree_node*)d1->nodes->head->data)->flavor; - enum cil_flavor f2 = ((struct cil_tree_node*)d2->nodes->head->data)->flavor; + enum cil_flavor f1 = FLAVOR(d1); + enum cil_flavor f2 = FLAVOR(d2); if (f1 != CIL_TYPEATTRIBUTE && f2 != CIL_TYPEATTRIBUTE) { struct cil_type *t1 = (struct cil_type *)d1; diff --git a/libsepol/cil/src/cil_post.c b/libsepol/cil/src/cil_post.c index a0cadfde..37a44415 100644 --- a/libsepol/cil/src/cil_post.c +++ b/libsepol/cil/src/cil_post.c @@ -1482,7 +1482,7 @@ static void __mark_neverallow_attrs(struct cil_list *expr_list) cil_list_for_each(curr, expr_list) { if (curr->flavor == CIL_DATUM) { - if (NODE(curr->data)->flavor == CIL_TYPEATTRIBUTE) { + if (FLAVOR(curr->data) == CIL_TYPEATTRIBUTE) { struct cil_typeattribute *attr = curr->data; if (strstr(DATUM(attr)->name, TYPEATTR_INFIX)) { __mark_neverallow_attrs(attr->expr_list); diff --git a/libsepol/cil/src/cil_resolve_ast.c b/libsepol/cil/src/cil_resolve_ast.c index 060bc0d0..f6deb100 100644 --- a/libsepol/cil/src/cil_resolve_ast.c +++ b/libsepol/cil/src/cil_resolve_ast.c @@ -505,7 +505,7 @@ int cil_resolve_aliasactual(struct cil_tree_node *current, void *extra_args, enu if (rc != SEPOL_OK) { goto exit; } - if (NODE(alias_datum)->flavor != alias_flavor) { + if (FLAVOR(alias_datum) != alias_flavor) { cil_log(CIL_ERR, "%s is not an alias\n",alias_datum->name); rc = SEPOL_ERR; goto exit; @@ -516,7 +516,7 @@ int cil_resolve_aliasactual(struct cil_tree_node *current, void *extra_args, enu goto exit; } - if (NODE(actual_datum)->flavor != flavor && NODE(actual_datum)->flavor != alias_flavor) { + if (FLAVOR(actual_datum) != flavor && FLAVOR(actual_datum) != alias_flavor) { cil_log(CIL_ERR, "%s is a %s, but aliases a %s\n", alias_datum->name, cil_node_to_string(NODE(alias_datum)), cil_node_to_string(NODE(actual_datum))); rc = SEPOL_ERR; goto exit; @@ -2573,7 +2573,7 @@ int cil_resolve_bounds(struct cil_tree_node *current, void *extra_args, enum cil if (rc != SEPOL_OK) { goto exit; } - if (NODE(parent_datum)->flavor == attr_flavor) { + if (FLAVOR(parent_datum) == attr_flavor) { cil_log(CIL_ERR, "Bounds parent %s is an attribute\n", bounds->parent_str); rc = SEPOL_ERR; goto exit; @@ -2584,7 +2584,7 @@ int cil_resolve_bounds(struct cil_tree_node *current, void *extra_args, enum cil if (rc != SEPOL_OK) { goto exit; } - if (NODE(child_datum)->flavor == attr_flavor) { + if (FLAVOR(child_datum) == attr_flavor) { cil_log(CIL_ERR, "Bounds child %s is an attribute\n", bounds->child_str); rc = SEPOL_ERR; goto exit;