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 0981DC48BEB for ; Wed, 14 Feb 2024 22:01:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3233E8D0012; Wed, 14 Feb 2024 17:01:37 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2D1518D0001; Wed, 14 Feb 2024 17:01:37 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1C0EE8D0012; Wed, 14 Feb 2024 17:01:37 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 05B2C8D0001 for ; Wed, 14 Feb 2024 17:01:37 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id C87FAC0348 for ; Wed, 14 Feb 2024 22:01:36 +0000 (UTC) X-FDA: 81791781792.28.C3643C6 Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.48]) by imf03.hostedemail.com (Postfix) with ESMTP id D068320016 for ; Wed, 14 Feb 2024 22:01:34 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=JIS25mgT; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf03.hostedemail.com: domain of andreyknvl@gmail.com designates 209.85.221.48 as permitted sender) smtp.mailfrom=andreyknvl@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1707948094; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=n0ESyyBcqjsDVYShCT0eHRNmp20GSZgnSy4/io1Ynu0=; b=5hBcDjBVA0yAwL3XqEFjlTDoSsp3x1jRO48NqWz6b6j1rsxXL4AUBf5RHeyZbReewZGB9c ydhWF+2VxaXcyL8L1U6iEZToc7xD++CJdD4Nh+s1zU/YiO4xkV/dWFR7GegP6Fuy5S73yV n+iA0Fq+V1T62PQYjPXiW+1+DhSVW/0= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=JIS25mgT; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf03.hostedemail.com: domain of andreyknvl@gmail.com designates 209.85.221.48 as permitted sender) smtp.mailfrom=andreyknvl@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1707948094; a=rsa-sha256; cv=none; b=KLQIsSs7sMSpjk91kdH1hMOJpcFILK7hpewe3IAj4dEUyUR5HvZtl3Iz9cVunvLXfKuByq +lo0dqVcj3425rmj3CC9qygDQSq2AJabT1kt7zwRHOflOS29FX83jDbOkndtKi0/wTbHGs akceuM/5lrppdO6M6dgjhYnSEcKvrD4= Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-33b401fd72bso79650f8f.3 for ; Wed, 14 Feb 2024 14:01:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1707948093; x=1708552893; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=n0ESyyBcqjsDVYShCT0eHRNmp20GSZgnSy4/io1Ynu0=; b=JIS25mgTwpKSxi4ovg8CLZK71OckKa5rkmKXsgfKdGYCdeAB2pc8OEouyy4WMAM7Lw gPE0u71MFdLvJbkPAp/JXUNZDZgFhD+rXRJzB/2dlv7HcTlSnGqd5TqI7pdtZ1Hz5Iwz 98oaVJHCMUPhWQ/KL95poIyvYcFPOdAv3YhD98RP0++D34cxDPlpoKkiY1+cnz4yjkmw kSFuHHw/sOJaJdRggPmiExE1LyXKIfaY5EF2W0zzrpARSAtzUiYxeq3P9Et7nIUJqQKJ wm5/iNMgCty5Hvc8cfKIB27wbvNT+vG9bz6/zasVW7qs/Bu+8gPXM+A9f1hdBGd5CT+/ 4Yxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707948093; x=1708552893; h=content-transfer-encoding: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=n0ESyyBcqjsDVYShCT0eHRNmp20GSZgnSy4/io1Ynu0=; b=G391y0r0BGmnyzWEgxQ4bH1YX4YZeYj7XD5M5aslZxYskEncV65vwFTRGjKJLdeAQN qQlf/vJy0czzeRzoOmqDi2TFn+p06o1EkMHtt7/EMWAzOblhtvvBVq/W/DzdLP9gi+ZR 7y5xFUNEpDqXfv/EyGJw8ooC4w0eNh05a80C47aqizBCgCav/RrDIHZXLCcuJw9SMd0k soQoxwbGdrF8WOGpLbOu/bwVwnd1tbjtMVMS5t55EfPlx4sw+neKmdJySe92atk5ZWKS N/TynMtk8Xdk49g1lgXXjK1r2CrGq+2BcvC6vp84YHjk9GKq3J3ol4yy7CJLzYYHx747 04kA== X-Forwarded-Encrypted: i=1; AJvYcCW/q4NaT7jazcX5outeDFZjivEIUCXNze0jjnx01qODrye0kffoWD9EY5Th+UVOtMtjuORQzCmy/6G9mGxSVIFH1I4= X-Gm-Message-State: AOJu0YyzGKsq1/Y7ARWvOGGaH+x6W10APozXo0OispUUhfVSI9hA/AG0 4C83KiZTI6VkCruIBgtBvYGQyXCY/qZtKSExn5JUENLXj3qhLn+Ls3UuWfkKg8hzHC9COKAnrSH gkBO66HGK5dkuvMNWBruej0SBM54= X-Google-Smtp-Source: AGHT+IFVzfw569hUDx3aEGZmf2QM21gRW/L8FFiZEN9rpMdOg4TZxk0pq9lMUeHQk6a6R5C03bkl27cUK358GE3TAAQ= X-Received: by 2002:a5d:4a8b:0:b0:33b:1577:a2d1 with SMTP id o11-20020a5d4a8b000000b0033b1577a2d1mr2765986wrq.1.1707948093094; Wed, 14 Feb 2024 14:01:33 -0800 (PST) MIME-Version: 1.0 References: <20240212111609.869266-1-arnd@kernel.org> In-Reply-To: <20240212111609.869266-1-arnd@kernel.org> From: Andrey Konovalov Date: Wed, 14 Feb 2024 23:01:22 +0100 Message-ID: Subject: Re: [PATCH] kasan/test: avoid gcc warning for intentional overflow To: Arnd Bergmann Cc: Andrey Ryabinin , Andrew Morton , Andrey Konovalov , Arnd Bergmann , Alexander Potapenko , Dmitry Vyukov , Vincenzo Frascino , Marco Elver , kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: D068320016 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: 95o3guh5rcujgab3fptxpghftuyp4ipd X-HE-Tag: 1707948094-443084 X-HE-Meta: U2FsdGVkX1/OCWhQTJ+FFVE8S9Jv2p7CtexmYE2Dg0qCGhW4R4fWzQcCDEGd/1Jnh5G4BXG/ZvLicA2HjalSmAfO7SQlA+9L6guWN+Iu+6EdzeyddcvJrVa45fThXNjqvNlx5X3ol2dx2X12wrzexPIX4vohYDvjzOlUhzBWfeKD/fY6+heyBH23zQtJLjAo3glt3f9EpBrgM1EMRcDOC5oDq4NhJIkRKPpE1DltH67dBirZ6zWLQh+pW2CeO87+5KLNvsWH/B2FT08tKuuSJ3O9KG/zGDyv6pS1jT217I5kdI2AeQ8ii7P5vGaO/vD8wGiK5NdvxQrDTMn4PR9FH234VMMjTbPjgmoTylZAqkmsNjMydx8g3ZqGO+AkJOSbmOyPTcXpePY0YfX7MzKZ/nCCDpfhhyrx4cWp9cz2epi0/mom9VR1YqStwRYa9DkByKB757OZGfTIm/nWeHEUk5knqDabB1OtXXV/j79KqR9DsrOBPzJz3X82uR52o/E3hq5RweF74bkp3+WqU937paLj2Y42YpfHwNWRI77qqn5+vaUaFrgcm3VbLqdTZ9NQAXTowokDwr3Uhl9lBnmsQNkeS+CO8V83bqUcgEdplK+gsrnZflwIUgawxiPTqYfXszH6Pd8ZZ+yUxgC8nERWjBNFDkhm7DSCiTi2Tklyw1LuzQWPp94q7e9ysp2wnaSPjvkme8B+6FUW1evuowgw7PxZSX7P8EU9Mtd3jjVQpaAiqIVWOHN0rYtEEHCMMLlhyYOhmttNvvG17/XaJ5VkmnYufbmT++fk6icdoHMfzvbJvlTAfBw7xnGUFq72rABXTeKUxarsQsnrEKPaEIXDWNYNFghTas6woJ0uGoJcAvb3JNcepCXUeL2q814tCdUsnR4a2+CT2CYBF1g17U76tQuQjaTJrGHzG95PcrhM56nVHpnU/fPI72HA/cIO8yrQbetcmUOPfpjz4N1DKKg jketJq0/ 8rMuZ6gxjj1JDf8vP/zro6yM7Oh46+gnCYxRN6JpWClxRdNEa90Q/rwb52WFtG/daX852I1zF/+6NOKgT381yRSWwgamFZWJ+dDTbHZt23LI0IXr16plvHWKYr0jWLEoUQ8UuroF3pmlcj9LaIi8r97Dxwyxv/uLPKo9Ehci3tZb911KW8GIt7p3LSAAHhjk3m4zMMpTF/puC3MUyNrmBkd7dy2JfXzVYsHNa67fKKKbuieklIT7ckvDc+2OlTeZ39fkl7sJbtJHPWoHSzsc/vSe7FBFtWE5wGjPvEqMmKhvERnd+maVDNQ6ILcFAj3BNCTj56a8rOoY+IqEI7+U3CkHQMoJCc3xBUw1/zMhV+5zg3Q0blm5DtfF2sPzNf81sxyShUT+yS9V3az123vIHy7RcdoN+mxn9lNkqEHT9UtxaVC87fMvRgfos3fZxDk/Mva7K7NDds3WXJK5FYG0+Ht9nPqVKH4jOT3OBcbr+EnAaNc1dFsdO28szlsDIBh2MrpFc 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: On Mon, Feb 12, 2024 at 12:16=E2=80=AFPM Arnd Bergmann wr= ote: > > From: Arnd Bergmann > > The out-of-bounds test allocates an object that is three bytes too > short in order to validate the bounds checking. Starting with gcc-14, > this causes a compile-time warning as gcc has grown smart enough to > understand the sizeof() logic: > > mm/kasan/kasan_test.c: In function 'kmalloc_oob_16': > mm/kasan/kasan_test.c:443:14: error: allocation of insufficient size '13'= for type 'struct ' with size '16' [-Werror=3Dalloc-size] > 443 | ptr1 =3D kmalloc(sizeof(*ptr1) - 3, GFP_KERNEL); > | ^ > > Hide the actual computation behind a RELOC_HIDE() that ensures > the compiler misses the intentional bug. > > Fixes: 3f15801cdc23 ("lib: add kasan test module") > Signed-off-by: Arnd Bergmann > --- > mm/kasan/kasan_test.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/mm/kasan/kasan_test.c b/mm/kasan/kasan_test.c > index 318d9cec111a..2d8ae4fbe63b 100644 > --- a/mm/kasan/kasan_test.c > +++ b/mm/kasan/kasan_test.c > @@ -440,7 +440,8 @@ static void kmalloc_oob_16(struct kunit *test) > /* This test is specifically crafted for the generic mode. */ > KASAN_TEST_NEEDS_CONFIG_ON(test, CONFIG_KASAN_GENERIC); > > - ptr1 =3D kmalloc(sizeof(*ptr1) - 3, GFP_KERNEL); > + /* RELOC_HIDE to prevent gcc from warning about short alloc */ > + ptr1 =3D RELOC_HIDE(kmalloc(sizeof(*ptr1) - 3, GFP_KERNEL), 0); > KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ptr1); > > ptr2 =3D kmalloc(sizeof(*ptr2), GFP_KERNEL); > -- > 2.39.2 > Reviewed-by: Andrey Konovalov