From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 42E99C52D7C for ; Sun, 18 Aug 2024 19:52:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 82F216B00CA; Sun, 18 Aug 2024 15:52:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7DF156B0149; Sun, 18 Aug 2024 15:52:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6D7B96B014A; Sun, 18 Aug 2024 15:52:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 4AF7F6B00CA for ; Sun, 18 Aug 2024 15:52:01 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id BE910A84C0 for ; Sun, 18 Aug 2024 19:52:00 +0000 (UTC) X-FDA: 82466412000.02.5FBFC76 Received: from mail-lj1-f174.google.com (mail-lj1-f174.google.com [209.85.208.174]) by imf23.hostedemail.com (Postfix) with ESMTP id 01BB2140008 for ; Sun, 18 Aug 2024 19:51:57 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=VBcvsQx6; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf23.hostedemail.com: domain of ubizjak@gmail.com designates 209.85.208.174 as permitted sender) smtp.mailfrom=ubizjak@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724010661; a=rsa-sha256; cv=none; b=UEbaVaPuBcVUW2DAX2OJz37j1lpd7SdFr1fuVkw3TCmRG9gegRKAuBezosh2kLWH3hwSiV sUZSgmjV2fEwTOnwbUFfNGzQcipDO9n9BG5l9QNyZpIhBFRcsoLR3JKMy6J0wkYfvvylhr aa6TS5PYJI4A4y+gON+N17GxkF84etk= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=VBcvsQx6; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf23.hostedemail.com: domain of ubizjak@gmail.com designates 209.85.208.174 as permitted sender) smtp.mailfrom=ubizjak@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724010661; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=HygLz4lr7P8WKYrQBOAfXSnwsJqt7olzVpK96u5Fr80=; b=kxQXY0vCFuBL9mGpdb1cXKZspBp2W94gItc/78C4Nr6ySA2j0YV+qTtMoj2S7h3Flj3E5l ecinMCPZyaPiNssGhSZ/6YHBsFq9P16eZR0+4cfpnmGqOlIPzUsCEuJf9H6ypQZgX3iYl9 KH/2khpbyDn+wY3fDRIf46wBIG+OWZI= Received: by mail-lj1-f174.google.com with SMTP id 38308e7fff4ca-2f1a7faa4d4so35451201fa.0 for ; Sun, 18 Aug 2024 12:51:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1724010716; x=1724615516; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=HygLz4lr7P8WKYrQBOAfXSnwsJqt7olzVpK96u5Fr80=; b=VBcvsQx6YRysNegxSzcjeCR1dxNdRMyR5rYwzYGswKt7Ul2HavM08br6YpQjPXM6AN bJZto+CvvxE5ONKC6kuxX2fE5pxex31JugBUq1gtban4FB8ClFtQvpVcb+lJ57Sib3GW 1WZlBZa7H9aN0D4ctdZ6HBMwbnUiKHE/IyWOrZvkveqMtLYYGyvqsrAY9YjpEUI/xwf4 hMccVYr2Ob2DzsnQKk+BQ+gdlozqpnesGNOmz6yHn6OpFDu0UfKBj8F8w2bSONO8Pvjt pBQhFNprFMpq0WUYZ1JcKdlvTXByUZkCgZex2YiPSXY5uY8kF0KsLtW2xv91sQMlAQJT owkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724010716; x=1724615516; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=HygLz4lr7P8WKYrQBOAfXSnwsJqt7olzVpK96u5Fr80=; b=Q/u5Tub4k+YwRgIbF/oGoyqBldySS/Xa8rCqlIHKOr/73+viaDRsWlsn5rjo3EktSD 2t3BDaziKCl9KxgIBEeb1anEXc2z6EM34IxlsP8UJFX4IpPF21vew5/RsQI8MRc1qGG6 8w/Qf70O2bYvBF53QyPGS0PkCJ7DKYbSkusf+LNVP5FcJjCfqY/ZekIqsRVxwRkAzL1o m1XBBJ094dsyaUQlbnxnTrokT9FgB8wQIBZXffF/ovtG6sD3h9U6Z2zqzthvxetLWLQx pBIoDyiXwmhQGAUzg5ma1P5JPhoVxaKrLa2c5ufOIp69a9P0b1LACbaIwsX3AKFL+IY4 niFQ== X-Gm-Message-State: AOJu0YwXbq5xGY90hBidSoxiFIw0Y/PftpxygtsSnhsTQ5qGkDUWbIPy 06Wr2eUe+u4IaVMNV0r8cXSDIbW9fkUn6CBXUQMvloVy9aRYYPDfSYO6dEYmkP0aTDT1pB6BoEj jPt9ypVNIWzNh1mWBk+qUutk6i0lOiw== X-Google-Smtp-Source: AGHT+IG4/azy1BipsGz50yyFODjemRjPoWuBkdlTqirLQtcIcQY4fvCrRextMlthXhPmXdEQ3lc7awcA/sg05JsOKxY= X-Received: by 2002:a05:651c:19a5:b0:2f3:ac23:b1db with SMTP id 38308e7fff4ca-2f3b3b84d7fmr37554001fa.4.1724010715234; Sun, 18 Aug 2024 12:51:55 -0700 (PDT) MIME-Version: 1.0 References: <20240818152634.17443-1-ubizjak@gmail.com> In-Reply-To: <20240818152634.17443-1-ubizjak@gmail.com> From: Uros Bizjak Date: Sun, 18 Aug 2024 21:51:43 +0200 Message-ID: Subject: Re: [PATCH v2] mm/kmemleak: Use explicit cast to cast pointer from percpu to generic AS To: linux-mm@kvack.org, linux-kernel@vger.kernel.org Cc: Catalin Marinas , Andrew Morton Content-Type: multipart/mixed; boundary="000000000000455c0f061ffa8622" X-Rspamd-Queue-Id: 01BB2140008 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: kp9krm9w31uacuw156mggitfhpyu8zu1 X-HE-Tag: 1724010717-609424 X-HE-Meta: U2FsdGVkX19ubkizlNQvC7hkPaajA3nDORr/N8F5GPicQTCz3cvt62hfMhaAfv8moA3UBEyQ4o3rpTQ3KOA/m2eN/T+FUUTg6iMhrkOZ3H2OSyBwO85T8bnV66v+KeJzVubqqxZw/lWPCJvCotKVVTZFsZnX0oLLe8BgG+KLVkph514Ofq8Unta5jGgWOlorFcJPtAp5uafgsFriWKQc5P7QyjUb3fJsClUi6excIbkhW7zRrmlp1ZeZc8gxNJthhXtJQPEquNbAynxC8AWoPFiLM6mEqHgT2xvgta+3H+nM4qYEO0epHiuE29apOdVRNF6Ao0h7ib56DJNekmWOaAYZ7U3R/UL3RX1kf81BTbeCG8ZcoXtMNS14zGAp+WELg1ER7qr46WmIyoYKd9HmThm4EpUSe08RuxZB0iRck/7s663PyI9VmNbM5Kdy7tu4zDNHKTTgM+iQ7IvSi0i7tWGIE+AnyqVe50NWno4dKbtedvHJXnJmkCC/aylu05O0OfGPsOL2hmkpL8FTXrCGpTdz2Q+TJYcwZdN/rCpCVDgMuP2WoslxYAOTblH5FLd0PppLBmPP2R6r9OT0vLg3/pilNoe8J0pGsYb/HpuENlIKaZeJAWyMgWhHjF4nObwhUIgITbiFH1bVUBHBLpAsQ/xfr6/zm+9AOhSJhUAwSPq+vRGTdm3TfL8HNcD9JVqKu7uKj3N2qrhrzYQHzt3IJmeGelpI5SZtsXOKJk0H3iVu99TB9Dd16Hsc2S3GmZa0ML89yDa8r2lWB1jEIUFOD1xu6sW0s9n67PpWAM9vSQkwje7ZkpY/Wcgux4xQxrKf+JKVfnJY69I9p1daztOh1NMnA+X0+Eskex9mF0Z0sPJTvOm2yEg7GolNEDrH7sRYX/NrF91KHo+3pdyGxHS8aYhWcHntsxUINmUsLndGP9EmRYBj9ptkdg0rSDjcWzvngwEaVx6/yim1O2GAbMK t81EJGUz Jp/dlmW6oe6iZynywRVRaURUAGitbsoYRAnQVeqkDXediLmPRWbQdwH6rztvhdigxQjjL9xUtj3DGgODDWELkJkESqlnh/79BYqdIsimDs5yJRFClxAMJrolXA/rJoSWBA0wHZQdevG2A3GVM+Z4Mwu0SGJmUSan//UPo3DH/SLRfEvSXu9Uear8RWkp+UHdMkHey4MEaDXTe86vdLr48dSyLwiHdJ3qkjtBYDn57vaWSgU+a5OSPonmynwhcYYj1+m4MiFityzaVuG2jUf16Jy8Ad96B54r2pwbx7HhSv1C6m33+ORx6lfp2OJahdQlbBeDJJu+6/U+U3sOY/N2KuFodmf7cJajsksA5LiYVBeO/n+B1e1y4jL2rWsXkIabW4uFkLABNlEY+IM97p5McoUCsBrhaa4MrLy/Db8GUwJMZ60cVCo6SEX6VGRomED9+rywXSjrzE5OHQbAU4qLYYtgciXvO5UFswDVOMKpoKqsSPqUkSQw25Fsbhmr4YZ3Fv13ifCjLcW2xm9cdpNrLTvZ2RFyyGI7auKLlzlLnRA4InnXEVsxY0k/AqBaRd+ftkdz7MyLAW09eytaBc3qSbco5NZOd/ou3kNHKgiEaT/QgWjBnvcSJhulTIwRrndvAnZuLspoj590LcdY= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: --000000000000455c0f061ffa8622 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sun, Aug 18, 2024 at 5:26=E2=80=AFPM Uros Bizjak wro= te: > > Use explicit cast to cast pointer from percpu to generic address space. > > The patch will avoid future build errors due to pointer address > space mismatch with enabled strict percpu address space checks. > > The patch also fixes following sparse warnings: > > kmemleak.c:1063:39: warning: cast removes address space '__percpu' of exp= ression > kmemleak.c:1138:37: warning: cast removes address space '__percpu' of exp= ression > > Signed-off-by: Uros Bizjak > Cc: Catalin Marinas > Cc: Andrew Morton Actually, we can do something around the lines of the attached patch and still keep the __must_check directive active. Please disregard this patch, a new (better) approach is in the works. Uros. > --- > v2: Use explicit casts instead of IS_ERR_PCPU(). > --- > mm/kmemleak.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/mm/kmemleak.c b/mm/kmemleak.c > index 764b08100570..fc2e09ec48f8 100644 > --- a/mm/kmemleak.c > +++ b/mm/kmemleak.c > @@ -1059,8 +1059,9 @@ void __ref kmemleak_alloc_percpu(const void __percp= u *ptr, size_t size, > * Percpu allocations are only scanned and not reported as leaks > * (min_count is set to 0). > */ > - if (kmemleak_enabled && ptr && !IS_ERR(ptr)) > - create_object_percpu((unsigned long)ptr, size, 0, gfp); > + if (kmemleak_enabled && ptr && > + !IS_ERR((const void *)(__force const unsigned long)ptr)) > + create_object_percpu((__force unsigned long)ptr, size, 0,= gfp); > } > EXPORT_SYMBOL_GPL(kmemleak_alloc_percpu); > > @@ -1134,8 +1135,9 @@ void __ref kmemleak_free_percpu(const void __percpu= *ptr) > { > pr_debug("%s(0x%px)\n", __func__, ptr); > > - if (kmemleak_free_enabled && ptr && !IS_ERR(ptr)) > - delete_object_full((unsigned long)ptr, OBJECT_PERCPU); > + if (kmemleak_free_enabled && ptr && > + !IS_ERR((const void *)(__force const unsigned long)ptr)) > + delete_object_full((__force unsigned long)ptr, OBJECT_PER= CPU); > } > EXPORT_SYMBOL_GPL(kmemleak_free_percpu); > > -- > 2.42.0 > --000000000000455c0f061ffa8622 Content-Type: text/plain; charset="US-ASCII"; name="p.diff.txt" Content-Disposition: attachment; filename="p.diff.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lzzzgih60 ZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZXJyLmggYi9pbmNsdWRlL2xpbnV4L2Vyci5oCmlu ZGV4IGI1ZDliYjJhMjM0OS4uNmRkN2YwMGQ0MjJkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4 L2Vyci5oCisrKyBiL2luY2x1ZGUvbGludXgvZXJyLmgKQEAgLTQxLDYgKzQxLDggQEAgc3RhdGlj IGlubGluZSB2b2lkICogX19tdXN0X2NoZWNrIEVSUl9QVFIobG9uZyBlcnJvcikKIAlyZXR1cm4g KHZvaWQgKikgZXJyb3I7CiB9CiAKKyNkZWZpbmUgRVJSX1BUUl9QQ1BVKHB0cikgKHsgKHZvaWQg X19wZXJjcHUgKikodW5zaWduZWQgbG9uZylFUlJfUFRSKHB0cik7IH0pCisKIC8qKgogICogUFRS X0VSUiAtIEV4dHJhY3QgdGhlIGVycm9yIGNvZGUgZnJvbSBhbiBlcnJvciBwb2ludGVyLgogICog QHB0cjogQW4gZXJyb3IgcG9pbnRlci4KQEAgLTUxLDYgKzUzLDggQEAgc3RhdGljIGlubGluZSBs b25nIF9fbXVzdF9jaGVjayBQVFJfRVJSKF9fZm9yY2UgY29uc3Qgdm9pZCAqcHRyKQogCXJldHVy biAobG9uZykgcHRyOwogfQogCisjZGVmaW5lIFBUUl9FUlJfUENQVShwdHIpICh7IFBUUl9FUlIo KHZvaWQgKikoX19mb3JjZSB1bnNpZ25lZCBsb25nKXB0cik7IH0pCisKIC8qKgogICogSVNfRVJS IC0gRGV0ZWN0IGFuIGVycm9yIHBvaW50ZXIuCiAgKiBAcHRyOiBUaGUgcG9pbnRlciB0byBjaGVj ay4KQEAgLTYxLDYgKzY1LDggQEAgc3RhdGljIGlubGluZSBib29sIF9fbXVzdF9jaGVjayBJU19F UlIoX19mb3JjZSBjb25zdCB2b2lkICpwdHIpCiAJcmV0dXJuIElTX0VSUl9WQUxVRSgodW5zaWdu ZWQgbG9uZylwdHIpOwogfQogCisjZGVmaW5lIElTX0VSUl9QQ1BVKHB0cikgKHsgSVNfRVJSKCh2 b2lkICopKF9fZm9yY2UgdW5zaWduZWQgbG9uZylwdHIpOyB9KQorCiAvKioKICAqIElTX0VSUl9P Ul9OVUxMIC0gRGV0ZWN0IGFuIGVycm9yIHBvaW50ZXIgb3IgYSBudWxsIHBvaW50ZXIuCiAgKiBA cHRyOiBUaGUgcG9pbnRlciB0byBjaGVjay4K --000000000000455c0f061ffa8622--