Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp997036pxb; Sat, 17 Apr 2021 03:29:14 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz+Hr1zMbxITPhnTXwEIvVv8szvUxjoxep7VYzbzZcDE2qgR7MEFaT3F87IElYvm010viQQ X-Received: by 2002:a17:90a:b78d:: with SMTP id m13mr9010830pjr.47.1618655354242; Sat, 17 Apr 2021 03:29:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618655354; cv=none; d=google.com; s=arc-20160816; b=wNs7SzndUIs3IuxObNdYV9XsLGODRzIFCR7bbOqTCPKZ2bwjALPe54MpU+cFrV154N IyhxMwqGSR6wRavwQ03wqigjDkAIV9mUzWWXNxFUNF7qaG5lT3ARkqc/ex7Eo7Nedbh1 kvmfqctzrOhjzmCu+ECcg7Ji1NhxGR9oZ6l5G4fWZiigBa+BEFt/FJY8Rf/jkwJHWJzY /mHESn1Av25wI6fSQgkR1RT+VEXXeOTJzAzpWf0TXqI4OFtkTuJE6Bd8BStBoOdcx4yc EXd2J6MLA65iV/viSTv3C3StNnnGQsANKKSmlL2fWFd48FkLmIMHu4wGAqAjwK++Sjp/ 5FTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from; bh=msGV6Y2s/2HVfHszJoTOXeGsL2a++rhRtsBZT6YXmbg=; b=YpGcHano0c6730ZW0x4pnbwLWkco5r3rvLfrnPprl5nHFZmqBpSigDznnHVCLfBriL eGyZ8O6BFsj1wI5FeiMpUZBW5FY/tEqqoHx5E8XGurQ2gls7BTdS+RV+8gXrZV+bAYCe SEOA0dvQiP5PAbcvYukQMiII4nuqzGHmFCmvYLmJHa3hyjPYgjO9X5PkT0Zee3bj/jtx gPlbWkF1dicR1n9d4fXF21Jgl4EGi42pTlhCxepPBjmD+0wVHu1rsMYW+zJZ10indJHX yMuerhFz6TQzyESycde5G49dtUjq4kmB8bfN1jbPWk3805h4rAtIVsR9d4yrYTdygWB6 PLDw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=vivo.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q20si5587750pll.427.2021.04.17.03.29.02; Sat, 17 Apr 2021 03:29:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=vivo.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235901AbhDQK15 (ORCPT + 99 others); Sat, 17 Apr 2021 06:27:57 -0400 Received: from mail-m121142.qiye.163.com ([115.236.121.142]:57274 "EHLO mail-m121142.qiye.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231386AbhDQK1z (ORCPT ); Sat, 17 Apr 2021 06:27:55 -0400 X-Greylist: delayed 313 seconds by postgrey-1.27 at vger.kernel.org; Sat, 17 Apr 2021 06:27:55 EDT Received: from ubuntu.localdomain (unknown [36.152.145.182]) by mail-m121142.qiye.163.com (Hmail) with ESMTPA id 0006D80106; Sat, 17 Apr 2021 18:22:13 +0800 (CST) From: zhouchuangao To: Jessica Yu , linux-kernel@vger.kernel.org Cc: zhouchuangao Subject: [PATCH] kernel/module: Use BUG_ON instead of if condition followed by BUG. Date: Sat, 17 Apr 2021 03:22:01 -0700 Message-Id: <1618654921-124063-1-git-send-email-zhouchuangao@vivo.com> X-Mailer: git-send-email 2.7.4 X-HM-Spam-Status: e1kfGhgUHx5ZQUtXWQgYFAkeWUFZS1VLWVdZKFlBSE83V1ktWUFJV1kPCR oVCBIfWUFZGk8eTFYdSRhNSUsfTktIQhpVEwETFhoSFyQUDg9ZV1kWGg8SFR0UWUFZT0tIVUpKS0 hKTFVLWQY+ X-HM-Sender-Digest: e1kMHhlZQR0aFwgeV1kSHx4VD1lBWUc6NAg6Nio5Vj8RAhciTQoPEisO HBxPChlVSlVKTUpDTU5PQkhPSE5LVTMWGhIXVQETFA4YEw4aFRwaFDsNEg0UVRgUFkVZV1kSC1lB WUhNVUpOSVVKT05VSkNJWVdZCAFZQUpMSEM3Bg++ X-HM-Tid: 0a78df5a3429b037kuuu0006d80106 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org First: This patch comes from cocinelle warning. Second: BUG_ON uses unlikely in if(). Through disassembly, we can see that brk #0x800 is compiled to the end of the function. As you can see below: ...... ffffff8008660bec: d65f03c0 ret ffffff8008660bf0: d4210000 brk #0x800 Usually, the condition in if () is not satisfied. For the multi-stage pipeline, we do not need to perform fetch decode and excute operation on brk instruction. In my opinion, this can improve the efficiency of the multi-stage pipeline. Signed-off-by: zhouchuangao --- kernel/module.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/module.c b/kernel/module.c index 3047935..f46fc4f 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -1014,8 +1014,8 @@ void __symbol_put(const char *symbol) }; preempt_disable(); - if (!find_symbol(&fsa)) - BUG(); + BUG_ON(!find_symbol(&fsa)); + module_put(fsa.owner); preempt_enable(); } -- 2.7.4