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 3DF55D711BA for ; Wed, 20 Nov 2024 15:50:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A12966B0088; Wed, 20 Nov 2024 10:50:23 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 9C30E6B0092; Wed, 20 Nov 2024 10:50:23 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8B1686B0093; Wed, 20 Nov 2024 10:50:23 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 6BEBC6B0088 for ; Wed, 20 Nov 2024 10:50:23 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 18F36160CEB for ; Wed, 20 Nov 2024 15:50:23 +0000 (UTC) X-FDA: 82806909822.14.59DF230 Received: from mail-yw1-f174.google.com (mail-yw1-f174.google.com [209.85.128.174]) by imf11.hostedemail.com (Postfix) with ESMTP id D6A9540013 for ; Wed, 20 Nov 2024 15:49:16 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf11.hostedemail.com: domain of geert.uytterhoeven@gmail.com designates 209.85.128.174 as permitted sender) smtp.mailfrom=geert.uytterhoeven@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1732117729; 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; bh=4LC1XgSXTVJwbVV22CCZwiiEz0DrDvqfvt7w+YrEcxY=; b=Mb/ucEiZvw19IrouYMPSFLvMrveGlgsGAOIIfS1VKcZAd2FlVwsFMYVbFHy9BOIm7deOcx R1E5RNjpbxqsdcIWzo4R+JZvRaJsSOpQk76Yln2iwJ7ETHksInjljtNvxE5LlL925aOyeR pPBWFjAXlRPdz8ZraHvHHAOJ0saY3Fc= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf11.hostedemail.com: domain of geert.uytterhoeven@gmail.com designates 209.85.128.174 as permitted sender) smtp.mailfrom=geert.uytterhoeven@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1732117729; a=rsa-sha256; cv=none; b=vO40K2Hwrx1u4E3PqcXqAn7nLv0/h358Up1UbHtWnV8aVqwgGm64ZvBFXuaTuE/yJVHOWK 5VTN1E6ETdwusRClLCfoLtcfDvMiPgd2tgxFkf5s9rukS9w05qLJdWNhYI+WVvZ26OtY2N dR5ijA9qSG29SYq7ceCauYAxIQhXwKA= Received: by mail-yw1-f174.google.com with SMTP id 00721157ae682-6ee8e894deeso33958727b3.0 for ; Wed, 20 Nov 2024 07:50:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732117819; x=1732722619; 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=4LC1XgSXTVJwbVV22CCZwiiEz0DrDvqfvt7w+YrEcxY=; b=gy4UpW64g5ordYCKFuMzqgFtTtSCgvpdi4Q7R7kfha+pSxO303jOiKr7FgQlDhyU8s A0L0qArpBmNih2tmnfbTrpxmqU3xLrClJ//cPGe8EnrFAncatj++sWnSZ0LMc7TPTSQs sSrfWn6G3bbuKDT9A9QkOhnGwWeAbeBCu/lGpyPI96xfJrsDS8MWO5pYGnQ9N2Qyp7aL cA654JSCadTqH54BHDhjpcCe1jeLwE4LYi60aNYeoutuEVAuYvW7VKTSm6GDqzirzTKg ZH7HzLLqn+LDxtzz+7W/SLovLtbkYkFmyKkN8NdDbyC0MxgiwGAaBQLW3s0dhZoL9ucE +udg== X-Forwarded-Encrypted: i=1; AJvYcCVY5tI3WuhAuVqD5T0XlflAka2aIADU7fM2IWVFIO0dIyTLWFoTeNL6YePYFtpgSTZBnD4ww//wlg==@kvack.org X-Gm-Message-State: AOJu0Yxchl8Q3sQHPqpHwiIvei3+oZlTtZ+yfYMC62MzbURa0AI/Hfgo 3X7cvuLooWqMNLyy7WDg9mN+bLfR1KkBUaxy0VFR8BIAO0s+r2Sz+K1mMKJV X-Google-Smtp-Source: AGHT+IF7b256f9LnQsIH7IBPLpVIOMUTXfNvbh6BWIFVJx/o1JM5YBQJILewcDH+XAX7E26XrqKmqw== X-Received: by 2002:a05:690c:6d0e:b0:6ee:6e71:e6cf with SMTP id 00721157ae682-6eebd2994eamr39442407b3.29.1732117819654; Wed, 20 Nov 2024 07:50:19 -0800 (PST) Received: from mail-yw1-f176.google.com (mail-yw1-f176.google.com. [209.85.128.176]) by smtp.gmail.com with ESMTPSA id 00721157ae682-6ee71365828sm22691117b3.104.2024.11.20.07.50.18 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 20 Nov 2024 07:50:18 -0800 (PST) Received: by mail-yw1-f176.google.com with SMTP id 00721157ae682-6e9ed5e57a7so44450207b3.1 for ; Wed, 20 Nov 2024 07:50:18 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCXxii1zFXjL40Np/49BfkNmhmdkZ8KmzvlR3BcSY5malVhGfikcFY6DXcOzypAsAP//gS2m6Cg8cw==@kvack.org X-Received: by 2002:a05:690c:6f11:b0:6ee:694f:fea3 with SMTP id 00721157ae682-6eebd0fb580mr37931657b3.14.1732117818431; Wed, 20 Nov 2024 07:50:18 -0800 (PST) MIME-Version: 1.0 References: <80c767a5d5927c099aea5178fbf2c897b459fa90.1732106544.git.geert@linux-m68k.org> <4f70f8d3-4ba5-43dc-af1c-f8e207d27e9f@suse.cz> <921f264e-dd84-4b1c-92da-948f1cc8d12c@suse.cz> In-Reply-To: <921f264e-dd84-4b1c-92da-948f1cc8d12c@suse.cz> From: Geert Uytterhoeven Date: Wed, 20 Nov 2024 16:50:06 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] slab: Fix too strict alignment check in create_cache() To: Vlastimil Babka Cc: Guenter Roeck , Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Jens Axboe , Pavel Begunkov , Mike Rapoport , Christian Brauner , Kees Cook , Jann Horn , linux-mm@kvack.org, io-uring@vger.kernel.org, linux-m68k@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: D6A9540013 X-Stat-Signature: 5gx7sy6ymp5wekwsu5j9gbmgeju66pwn X-HE-Tag: 1732117756-287079 X-HE-Meta: U2FsdGVkX1+FsxCmc7vqGwFO1q3Ga8tQ/V1fn+B0yGRvNPEpFQ1szsmma0MFfzb2ukKKmPO9RHRaBbbb81zc22cmRgouHesODPDfCGL3duLgypxonJE9I0GRDU0kD5PQWViVs0WsarlX+5clXb/xaNklevQnTQjopwEHKbo3zZhYI1ReNf9Qtj1rqeLIFUsaZPkI9pzAL45qVa6qlOMKNXmtdqZFvT7FYlW8R8+Ln+swqU7mz5/OS7X6moYVx9nOH4aNolK0ufVa3rJFzRjuULSU07GnI9duSlZjF3XJ90SQrfnVodETVQC1H9XsNJeItw7GF/yeijGgNrsXkyOu/ae6GDnbQw1IrXhLqOMPkb8UBACD1akvzC6fGPqMHanrSBUSpRlM1aM6xVWZLEjLQTJ+VeiEaunsmZGIz1SleVHbbv1mmeW1TkKMC8EI5QtjOp0Nc+ZXfl9c5feXXQ+Cdo1Zrbmu481VAPUHbAKu6jHB/RT0cEc1TaUIf2DkJV6gMn6IeLRNuYC/DHKuvR9fXLVkRyGRcemCcLAxcQuGRbqslx0VZ+YsDechxY0ScwcintNDRrIiyD5Kz1YzsGqCR3sPvVlkTTikUNpTrUaOoevy/iVYuNMrRsvdsH6R9UosXOm4HAG3ZwcEhpiRw2ynjzbbfw7wE/aOk+Dp8yikJYpfgZ2YEMwxBG1StVdZ6lgMX80OTUft0sOeqhmo2gLkF3yamovPDYwrtNd/xMWrGuFomBt0vaCPWYuUxA/lkHgngPLycvgv4aiRgAUftKLhcE6GYbnGnN374XF6hQWr22wxkB+nNXj/g+lq5XSyU7CwdUkY9w6nxvtGplpvFXuTV4vN1FlcWGqMyOK7MCZg85E1W22bGJ4BxHaIbzpyDAqW/zPtjUYUgTRCPzhsA2olWXfu6bRgILsgu7GKAvcGLSTrUuGAynB/YXDMELuGx/AHJEgeWOO7ltZff79hYGn lx/L0GuA 9N9fDvU7pFXoJfeB+uNgsPXIC5Qg5O0IXNlumgDQiFPjM3HxiHaZUF4yTZAGPesLyxS+8+p5YbFJ4uY/tIWwdsQVJY2tRQVgzuH9B6zuhhmT5cEsUbTaro0mBWFkC1REG+3ebRY+RhcKZ8r9IxOakyJwVQ/I+n24TezwmMUXLjc+9vv8gldBhnLK4q7tMdCNqYs70BY21y+iaGrK6t3SFHj8vde16DmXUG4sRQKtHvySG8sWHSnzgNQyTdhIGiOgRLM8ih6l5KyTMEw1V/7oZmYG4LhLwUdha9lxwYkNJsXCd34UK4ZuNtl89bpJV2s1I13r9dK5bhGrPz0/mcDJLj+D975+1BrdGMv9x5oYbCXGKLsu0b4WSBIJ4o/yZVpMK1+G2Yup2pukpUhvOGmoGw9xUVGmoHD12U37Y8vr4AxuPkbBldUebn07oquSaxpQ+1E7jn8XO9FTB1nh4eZOoQ4hiFrch/kddBAkrECcDddqnS0UurQo+DYSx3xIJ9RoYOa0Icu1vzi0xhuoLSVwyw7R+xNhmqLtJ5fYVS3V+U+kiS9rz7h4gEXRg3naYjzpXVS1xWTmiME5Uq2nboMU2mx3C8B9SZUzoSFt/lchkI3xoZYo= 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: Hi Vlastimil, On Wed, Nov 20, 2024 at 4:44=E2=80=AFPM Vlastimil Babka wr= ote: > On 11/20/24 16:14, Guenter Roeck wrote: > > On 11/20/24 07:03, Vlastimil Babka wrote: > >> On 11/20/24 13:49, Geert Uytterhoeven wrote: > >>> On m68k, where the minimum alignment of unsigned long is 2 bytes: > >>> > >>> Kernel panic - not syncing: __kmem_cache_create_args: Failed to = create slab 'io_kiocb'. Error -22 > >>> CPU: 0 UID: 0 PID: 1 Comm: swapper Not tainted 6.12.0-atari-0377= 6-g7eaa1f99261a #1783 > >>> Stack from 0102fe5c: > >>> 0102fe5c 00514a2b 00514a2b ffffff00 00000001 0051f5ed 00425e7= 8 00514a2b > >>> 0041eb74 ffffffea 00000310 0051f5ed ffffffea ffffffea 00601f6= 0 00000044 > >>> 0102ff20 000e7a68 0051ab8e 004383b8 0051f5ed ffffffea 000000b= 8 00000007 > >>> 01020c00 00000000 000e77f0 0041e5f0 005f67c0 0051f5ed 000000b= 6 0102fef4 > >>> 00000310 0102fef4 00000000 00000016 005f676c 0060a34c 0000001= 0 00000004 > >>> 00000038 0000009a 01000000 000000b8 005f668e 0102e000 0000137= 2 0102ff88 > >>> Call Trace: [<00425e78>] dump_stack+0xc/0x10 > >>> [<0041eb74>] panic+0xd8/0x26c > >>> [<000e7a68>] __kmem_cache_create_args+0x278/0x2e8 > >>> [<000e77f0>] __kmem_cache_create_args+0x0/0x2e8 > >>> [<0041e5f0>] memset+0x0/0x8c > >>> [<005f67c0>] io_uring_init+0x54/0xd2 > >>> > >>> The minimal alignment of an integral type may differ from its size, > >>> hence is not safe to assume that an arbitrary freeptr_t (which is > >>> basically an unsigned long) is always aligned to 4 or 8 bytes. > >>> > >>> As nothing seems to require the additional alignment, it is safe to f= ix > >>> this by relaxing the check to the actual minimum alignment of freeptr= _t. > >>> > >>> Fixes: aaa736b186239b7d ("io_uring: specify freeptr usage for SLAB_TY= PESAFE_BY_RCU io_kiocb cache") > >>> Fixes: d345bd2e9834e2da ("mm: add kmem_cache_create_rcu()") > >>> Reported-by: Guenter Roeck > >>> Closes: https://lore.kernel.org/37c588d4-2c32-4aad-a19e-642961f200d7@= roeck-us.net > >>> Signed-off-by: Geert Uytterhoeven > >> > >> Thanks, will add it to slab pull for 6.13. > >> > >>> --- > >>> mm/slab_common.c | 2 +- > >>> 1 file changed, 1 insertion(+), 1 deletion(-) > >>> > >>> diff --git a/mm/slab_common.c b/mm/slab_common.c > >>> index 893d320599151845..f2f201d865c108bd 100644 > >>> --- a/mm/slab_common.c > >>> +++ b/mm/slab_common.c > >>> @@ -230,7 +230,7 @@ static struct kmem_cache *create_cache(const char= *name, > >>> if (args->use_freeptr_offset && > >>> (args->freeptr_offset >=3D object_size || > >>> !(flags & SLAB_TYPESAFE_BY_RCU) || > >>> - !IS_ALIGNED(args->freeptr_offset, sizeof(freeptr_t)))) > >>> + !IS_ALIGNED(args->freeptr_offset, __alignof(freeptr_t)))) > >> > >> Seems only bunch of places uses __alignof but many use __alignoff__ an= d this > >> also is what seems to be documented? > > > > __alignoff__ -> __alignof__ > > Yeah I meant __alignof__ > Will chage it locally then. Thank you! Gr{oetje,eeting}s, Geert --=20 Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k= .org In personal conversations with technical people, I call myself a hacker. Bu= t when I'm talking to journalists I just say "programmer" or something like t= hat. -- Linus Torvalds