Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp1660351pxa; Thu, 6 Aug 2020 12:43:22 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxWCcdVAkwsib8wTBa46kSDa6xvgHAal3g6rxFC+bqsPc3nXhEtiBgLD++gOMBurQirRt7p X-Received: by 2002:aa7:db51:: with SMTP id n17mr4672380edt.222.1596743001894; Thu, 06 Aug 2020 12:43:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596743001; cv=none; d=google.com; s=arc-20160816; b=mmPX6YIZ6ruKC4jGF5TBiq7AJ9V6+60/nqFNf4anhPX3LiVrdU5b9oxCmX6sldAF+s jYmTYEwrO/Q1eosuH4oDnR/fpTRdmftzT4sedU+XH1y7DiA4f8IWEIPm59FiTGWXzBpe vgAhIdlSc2tIfn24SUNIbyWgi83EQa9zDZYkP0un7OXXLqPnQCxbDrXZKpndX5qa1W3j 8vaB506hMvA4dvtZQN4lL1mCR3+pbbCHacKFZxOyp/IRx+IwJ/mfO74CeESzs4yQNxY9 rVo/QL3DDs0kbCp06iivsktLE/gIrxZs0ODabEIcVXqdHq36cT/JecgxEXKiyLU4+mkP 7IPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=lTGXraRKF2Xnn2zuWAFO6+p95IAHDQSM01rMKogsvzs=; b=uLCOvYyVxe+eArPH2CFxz0JC6xil96llGrVgp9F/JjwlTDH3OnkE18ZlCzWULWM31d FSlGrMBwegp9mLKtgu3uky1iDnnuzcfK8DctnZ/TL83x8yC6N12aZP+QXzqsUqNalzZh 29Shb3hqFEpmCditfO9kkWuzt1Dq5lHFNxcHaYDavyO/T5EHDZKpB008iwxN0pCMxDAo ySS/ZfhZyD79gfaunEfuraKN9/W4d8bd2DZFvn5s/SQecPRvWCFdiFxTYeLvWrxZebZs L/OYWyJbBsnmkqHzwb6qn//Aoy5vTMnT424MUO5MSULJwOqwxM+ta5KYV4aDBKvIndaO VEZw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=vQ9MkvPx; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z17si3868330ejo.565.2020.08.06.12.42.59; Thu, 06 Aug 2020 12:43:21 -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; dkim=pass header.i=@gmail.com header.s=20161025 header.b=vQ9MkvPx; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726096AbgHFTmR (ORCPT + 99 others); Thu, 6 Aug 2020 15:42:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41772 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725272AbgHFTmQ (ORCPT ); Thu, 6 Aug 2020 15:42:16 -0400 Received: from mail-ej1-x642.google.com (mail-ej1-x642.google.com [IPv6:2a00:1450:4864:20::642]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6DCDEC061574 for ; Thu, 6 Aug 2020 12:42:16 -0700 (PDT) Received: by mail-ej1-x642.google.com with SMTP id m22so8488607eje.10 for ; Thu, 06 Aug 2020 12:42:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=lTGXraRKF2Xnn2zuWAFO6+p95IAHDQSM01rMKogsvzs=; b=vQ9MkvPxcyEeIPqReTCgblByWgNh2RXqMOXfyQnzzV5pGUlbO1gNEi9Tuk2yXGAyvw Llp+YllnNF+/5YT35hIhLddUTJeCADRxco3W0o3sJc6USpPGiFgOPIyrTihBZOF3Ps3m b5ZWbutt/sHTifnimmHoLPTtNqysTQ9XTb7MzUOjCMNhbiT5DOvjHviINbVtIZmIxAqP S/sojwgCS0IH2KnB0TgYVG74FK3c4xzz0rriqrJAqHzc4Qk0guo0NNaJc+a+XXnz9Sog 4j/RZfiLZqNe763mb3UC297NbxucK6AXP/cO9wRfGDEb577fsZw7XZ8d8qKe5ewyzyAP 3TSA== 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:mime-version :content-transfer-encoding; bh=lTGXraRKF2Xnn2zuWAFO6+p95IAHDQSM01rMKogsvzs=; b=ARd6hJv+NXd5s/qk26WZ7kkcWSBTjLPdixyWyCeT14ytPbU9mAQ+bAhoOHD49OGyY7 UTZccqO5mrhUazNsUP16X7B22Q+c+7bZqRwAjJA3eDPRJw2cP8dVoSR3Is5MqzS/TzLr DzjB0eg7eaodVtE2ee8SXwlDuOhycMAwg3gVuDDyBHRy+xaKQqUcdXrOadSaZSYu5Ny6 3OXGv37E5GzrGflngMPnzTHSgT/iYGtFOpt/O5yL5vQhYjgHJhkA4G6ZSdLaOwdIeO1t fBQFKDWj3LztxGmpj3+sFfEa1J0m+ymCCvcQbHmuBg3hMRfblJFFtoGKnVjuRBh5VKWR 9pGQ== X-Gm-Message-State: AOAM530enUZJDyDc2oRKIEZC5zk15BFZZcxeUu1RMgiLIA2zs6VHnaRy KHdz0BuJ5ZIM467NwEwHw/o= X-Received: by 2002:a17:906:2451:: with SMTP id a17mr5773388ejb.274.1596742935020; Thu, 06 Aug 2020 12:42:15 -0700 (PDT) Received: from localhost.localdomain ([2a02:a03f:a7fb:e200:d567:ec52:e0a5:f485]) by smtp.gmail.com with ESMTPSA id e13sm4016643eds.46.2020.08.06.12.42.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Aug 2020 12:42:14 -0700 (PDT) From: Luc Van Oostenryck To: Andrew Morton Cc: linux-kernel@vger.kernel.org, Luc Van Oostenryck Subject: [RESEND PATCH] sparse: use static inline for __chk_{user,io}_ptr() Date: Thu, 6 Aug 2020 21:42:06 +0200 Message-Id: <20200806194206.10338-1-luc.vanoostenryck@gmail.com> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org __chk_user_ptr() & __chk_io_ptr() are dummy extern functions which only exist to enforce the typechecking of __user or __iomem pointers in macros when using sparse. This typechecking is done by inserting a call to these functions. But the presence of these calls can inhibit some simplifications and so influence the result of sparse's analysis of context/locking. Fix this by changing these calls into static inline calls with an empty body. Signed-off-by: Luc Van Oostenryck --- include/linux/compiler_types.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/compiler_types.h b/include/linux/compiler_types.h index b67930216e45..a9b6699f3934 100644 --- a/include/linux/compiler_types.h +++ b/include/linux/compiler_types.h @@ -11,8 +11,8 @@ # define __iomem __attribute__((noderef, address_space(__iomem))) # define __percpu __attribute__((noderef, address_space(__percpu))) # define __rcu __attribute__((noderef, address_space(__rcu))) -extern void __chk_user_ptr(const volatile void __user *); -extern void __chk_io_ptr(const volatile void __iomem *); +static inline void __chk_user_ptr(const volatile void __user *ptr) { } +static inline void __chk_io_ptr(const volatile void __iomem *ptr) { } /* context/locking */ # define __must_hold(x) __attribute__((context(x,1,1))) # define __acquires(x) __attribute__((context(x,0,1))) -- 2.28.0