From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E83D345D7C; Fri, 22 Nov 2024 12:14:27 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 952EB43407; Fri, 22 Nov 2024 12:12:10 +0100 (CET) Received: from szxga04-in.huawei.com (szxga04-in.huawei.com [45.249.212.190]) by mails.dpdk.org (Postfix) with ESMTP id DDE33433BF for ; Fri, 22 Nov 2024 12:11:50 +0100 (CET) Received: from mail.maildlp.com (unknown [172.19.88.163]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4Xvsp93fYnz21lKd; Fri, 22 Nov 2024 19:10:25 +0800 (CST) Received: from kwepemf500004.china.huawei.com (unknown [7.202.181.242]) by mail.maildlp.com (Postfix) with ESMTPS id CE295180019; Fri, 22 Nov 2024 19:11:49 +0800 (CST) Received: from localhost.localdomain (10.90.30.45) by kwepemf500004.china.huawei.com (7.202.181.242) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Fri, 22 Nov 2024 19:11:49 +0800 From: Jie Hai To: , , CC: , , , Subject: [PATCH v6 24/25] devtools: check for some reentrant function Date: Fri, 22 Nov 2024 19:04:56 +0800 Message-ID: <20241122110458.2156907-25-haijie1@huawei.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20241122110458.2156907-1-haijie1@huawei.com> References: <20231113104550.2138654-1-haijie1@huawei.com> <20241122110458.2156907-1-haijie1@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Originating-IP: [10.90.30.45] X-ClientProxiedBy: dggems703-chm.china.huawei.com (10.3.19.180) To kwepemf500004.china.huawei.com (7.202.181.242) X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Multiple threads calling the same function may cause condition race issues, which often leads to abnormal behavior and can cause more serious vulnerabilities such as abnormal termination, denial of service, and compromised data integrity. This patch adds check in checkpatches.sh for strtok, which is non-reentrant. Cc: stable@dpdk.org Signed-off-by: Jie Hai Acked-by: Chengwen Feng Acked-by: Morten Brørup --- devtools/checkpatches.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/devtools/checkpatches.sh b/devtools/checkpatches.sh index 4a8591be225e..80fe41604427 100755 --- a/devtools/checkpatches.sh +++ b/devtools/checkpatches.sh @@ -145,6 +145,14 @@ check_forbidden_additions() { # -f $(dirname $(readlink -f $0))/check-forbidden-tokens.awk \ "$1" || res=1 + # refrain from using some non-reentrant functions + awk -v FOLDERS="lib drivers app examples" \ + -v EXPRESSIONS="strtok\\\(" \ + -v RET_ON_FAIL=1 \ + -v MESSAGE='Using non-reentrant function strtok, prefer strtok_r' \ + -f $(dirname $(readlink -f $0))/check-forbidden-tokens.awk \ + "$1" || res=1 + # refrain from using some pthread functions awk -v FOLDERS="lib drivers app examples" \ -v EXPRESSIONS="pthread_(create|join|detach|set(_?name_np|affinity_np)|attr_set(inheritsched|schedpolicy))\\\(" \ -- 2.33.0