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 5EAF7C61DF7 for ; Thu, 23 Nov 2023 12:48:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BCB076B02E8; Thu, 23 Nov 2023 07:48:50 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B7ADA6B02EC; Thu, 23 Nov 2023 07:48:50 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9F3696B02F0; Thu, 23 Nov 2023 07:48:50 -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 897E76B02E8 for ; Thu, 23 Nov 2023 07:48:50 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 61F0440150 for ; Thu, 23 Nov 2023 12:48:50 +0000 (UTC) X-FDA: 81489198420.06.FFB2D20 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.126]) by imf17.hostedemail.com (Postfix) with ESMTP id 531FC40020 for ; Thu, 23 Nov 2023 12:48:46 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=SvN9rMQe; dmarc=pass (policy=none) header.from=intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf17.hostedemail.com: domain of feng.tang@intel.com designates 134.134.136.126 as permitted sender) smtp.mailfrom=feng.tang@intel.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700743727; 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=DC35uQvQ8yxMj8kwSpVVj8U3bP+IaiusM48vApdMvfo=; b=WZdKPVd6VA+oJpa5mnBtXv3FRapCTckn148LixHrFqahwdyZvWkZQwkeL9Orkvkk+j6NWR zePI/IxLDm6RgG57JyyWrbweiWiECjP38WxhfUeKzt3sKR+shrFdMXDuV1pIk74hHmyqK9 ZCOr9jh8sxVq05RXxPguQrXkQRaLeiw= ARC-Authentication-Results: i=2; imf17.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=SvN9rMQe; dmarc=pass (policy=none) header.from=intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf17.hostedemail.com: domain of feng.tang@intel.com designates 134.134.136.126 as permitted sender) smtp.mailfrom=feng.tang@intel.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1700743727; a=rsa-sha256; cv=fail; b=IwLWqTSoW80MnIiDMlLgLhvLmKwMFdWtab5DTUgLwVz3U18DKbwjpxzj5SO9fXoiWM542m UO/6Mig1LYLdf05NLGU85IWB9IsfiweW4Idn0uIp9MqeJOSrRX5KO/Yi/lxM52jam/hKuT r54WhLtrYyP3kXIT0oPzMFra9Z1Df1g= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700743726; x=1732279726; h=date:from:to:cc:subject:message-id:references: in-reply-to:mime-version; bh=2Zcg/PJV+VllyIuqyxOBq3ahjRS+odMnyj/NgOav0uQ=; b=SvN9rMQeb+pD5Sm8daje7Wvxz1/mZfyJZDzU9jKO0wB6/Kw1ASBRMoeH YilkxrpBAKGiDsh1dbcd37qKQTuypxydBQz0ZegojPFMNvQ5t5gP2mo8O E6pHbodHCnlXQG1kjkgFhpJTT5iMWd/Ba/MqNZ0IWS0tFsh6c2U38KXpt Fy/iWhHmqlDjXBpIa8hLHhmvN+MfPEJXGnrDZuHlhtD4QTYvxyPk/OC+a mgXLIqa+Hyty9qk7apAdoZSW0VKLs1+roBzVUSrOg23cEBgePSKgzPXu4 IUSCai/LNiOGhGRhbdCCje2cVQBG7/EoglIoGabbS6lgBXY38LnWTKC9O Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10902"; a="377285366" X-IronPort-AV: E=Sophos;i="6.04,221,1695711600"; d="scan'208";a="377285366" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Nov 2023 04:48:44 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10902"; a="743596437" X-IronPort-AV: E=Sophos;i="6.04,221,1695711600"; d="scan'208";a="743596437" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orsmga006.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 23 Nov 2023 04:48:44 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Thu, 23 Nov 2023 04:48:43 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Thu, 23 Nov 2023 04:48:43 -0800 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.41) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Thu, 23 Nov 2023 04:48:37 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QGDt2jfRBenCQXJAf1XFcDxaGA8tcZ73hE2cDkdkY/OgltXc7eE3RpCXYsIZD8j0jiV5039kQQIH2LrbPOj1Xpo89eOH5dvEFBVUskYd2CzSR903J5I9aJlia0DWrar298zXesVHHra4O0rYMTpjP29sWOFuZbkaKNQCxXWE561t2uxntoKtq18wgUWb+jWg/YiVPybwFcCTtD+IQrHr1/hTKvcm8ONv5sthIzCYGtNhPDlRt+I/zJSo319j1tWdLPemdwlRhlWGv1eLFYL6yJqBQKNjiPwp94fv54ioqkmMuGeQxOtgUpE7Trg4rEmRtYXn8cOjA2XLta0Qiq1JAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DC35uQvQ8yxMj8kwSpVVj8U3bP+IaiusM48vApdMvfo=; b=oPNc2TBDPk8+bkWB8MmmupE/6tlQyv91lgfxAwtL9aU44OMKaYpgsOfrvmHwod1IjzBUT+VSEr0yXBnePH2IXZhuX248shkpcWJW0xqZ+GosjtdiA14mGSQV+WBS1JiSqZv60PBu2hYTW2ljSUySUmIdkxPS98OVzCoy4OvQkqb8/40jHqSnAKu7df6AO9NKI6e/0MfMTcNj9buiJzfSzKCvy8FUCdjQr8zmHiS+ArUtXZAf8bOzPCT/Kn9hDQs7h+4UX9THVDkbz7lz/qeIQwF7xI0GR7ADyGvtynVUbHh0E6plLpZcknP6u4HuqnkUa/7Vk/enNxT9aaeZgNXWrg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MN0PR11MB6304.namprd11.prod.outlook.com (2603:10b6:208:3c0::7) by PH7PR11MB6882.namprd11.prod.outlook.com (2603:10b6:510:201::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Thu, 23 Nov 2023 12:48:35 +0000 Received: from MN0PR11MB6304.namprd11.prod.outlook.com ([fe80::24ce:9f48:bce:5ade]) by MN0PR11MB6304.namprd11.prod.outlook.com ([fe80::24ce:9f48:bce:5ade%7]) with mapi id 15.20.7025.020; Thu, 23 Nov 2023 12:48:34 +0000 Date: Thu, 23 Nov 2023 20:39:30 +0800 From: Feng Tang To: "andrey.konovalov@linux.dev" CC: Andrew Morton , Andrey Konovalov , Marco Elver , Alexander Potapenko , Dmitry Vyukov , Vlastimil Babka , "kasan-dev@googlegroups.com" , Evgenii Stepanov , Oscar Salvador , Hyeonggon Yoo <42.hyeyoo@gmail.com>, "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Andrey Konovalov Subject: Re: [PATCH mm] slub, kasan: improve interaction of KASAN and slub_debug poisoning Message-ID: References: <20231122231202.121277-1-andrey.konovalov@linux.dev> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: SGXP274CA0003.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b8::15) To MN0PR11MB6304.namprd11.prod.outlook.com (2603:10b6:208:3c0::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN0PR11MB6304:EE_|PH7PR11MB6882:EE_ X-MS-Office365-Filtering-Correlation-Id: 790529ed-0d5e-4f9d-3edc-08dbec2280ed X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: te11htPwkZAmvd7ljnmFhJR0ogPkl7Xqpbc7cvC6A4zc9UPEiyn/jbYeeR0l+Ocd3pUydQQ6/gSV2YS4mfAkVpgj0fkTmu/D4ktKGzTOm+ZXVDzERQqmh1yOCKxul0VlnX/SUr9LIIfofmYMYTy6LvaLOpifMYlbDwYrcHyfi5PMtf3/mZt/n7p1HjdcEIgQf6ZmP7wbgjEy/i354v6mgs1j/cGKAXDOxqlEwai1YF0WvmFWC/yfzWZk1iTGhSmeRIFzqYZ3gBdDJ+q4eL3JtGFL0jKp7jS3knIBCtbrCXQEYCae9CmDNFFPWO23rvow+IZf9jds2KUCEojzvqSCBNK1Yu6A2Ev7jxBVw9809PPt+MUbvj3H2mcoVDIpefH407953RLbs/zm14BCiuTB3FLXUqxCOtJBxHSIEa6EodmubIbYlbpfCAtkkmfGFNSkG5rEzgM8e4Xkb9eANAVfj5OPPTM1nQCtxiMjg6hRfqS6LeaXYGrKniDxMQON5RBqmxk6ICcZSLTCVVwZ74OeWpzUkU+S0g9Dbr7C+GX2Y+8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN0PR11MB6304.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(7916004)(346002)(366004)(376002)(136003)(39860400002)(396003)(230922051799003)(1800799012)(186009)(451199024)(64100799003)(86362001)(83380400001)(38100700002)(82960400001)(316002)(54906003)(66946007)(6916009)(66476007)(66556008)(4326008)(8676002)(8936002)(6486002)(33716001)(2906002)(41300700001)(7416002)(44832011)(5660300002)(9686003)(6512007)(26005)(6666004)(478600001)(966005)(6506007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?p0/3s+uEmCwMptg4Y3FmCs4UF4jdFibYOxcpV2RGFttG6EoRPIuJHqM0/xLW?= =?us-ascii?Q?AkxwWPcxY7czfoSAUsSVu4D+ad0uSc1Bx/KnQKk+KF6l+bWyP44a5ZcFOgLF?= =?us-ascii?Q?mQ0JM8U7gUP5qI8jrhSyd0L7Vsy7uPk3Gz1zKENABo8Ztiae9phXr/U3tgI6?= =?us-ascii?Q?i7SGQB2IApLlsuVnwvk+yhP21FBBsutPIFAKIHHB8dOXQpjezHRTCLJw6T62?= =?us-ascii?Q?M9DaBqrnO5DNFSGkPMZw+6A13QJinaX3BulvDIJnbtlXlLVdpcdPOx6l0YSs?= =?us-ascii?Q?TKcE7Y/XYjdsyINhoTQ+HLzOuV2CNyie3jkSAs7X1e7Uw2XaaANMFHb8ttMw?= =?us-ascii?Q?/hhk6XaSA0CAy/1rfS2+adcv60qmuh9j3o8vigWYj2RR9vA9vpXTHD3gg49X?= =?us-ascii?Q?ylnMG1eq9O1k1hyrkC8Dq0CRMBj5Nzq4+B/ZojdnGWhAzEli4fdjSQvSBzJn?= =?us-ascii?Q?uy0q/dXaQ6XIy7NO73h1AWuOEFCBzFdfW6OC47yvUiLoEy9VooajoCFU679W?= =?us-ascii?Q?yHTukVRuRFRPql7I2k8sFdLBOR5snQGul+09FUPrtGaN6QPOVEUnRa0VFgXp?= =?us-ascii?Q?t6xo+g51H9E5uuQqbrOS9deJx6f/IIAgnscAuOg1++WoBWEF3UpxaS4tXmNj?= =?us-ascii?Q?YA/FRTzD25p2cVARLem+4jcOKykl7PpOpFcJ8a5+Y/HuVjk0V/kFQcpYynGm?= =?us-ascii?Q?ktFOC4BNQkdW+lFkBEfPNxm11awuNiH+Hk0ofGP/df+Xp4ZtvlPDnRVQF7m5?= =?us-ascii?Q?0EX4yLmD98vKiHzjviDIZ+X2IcbaXUQXIOyytXJBZi5nDv41HfL31HUccUnI?= =?us-ascii?Q?te8/mmEh4b2cYfKPcF/UNE94X3Z8G6k3pzZZzsuGbnUKiTeM0zCe/hUHWlbi?= =?us-ascii?Q?dahEMNJcYQ5y7baPFHgP7EArUb3XRcm9n57XvGIQbbE7BLz4CrWE1o+ZIZCG?= =?us-ascii?Q?AM7uM3pnvjlqi79Oy8mch8lVtdKnHtWvU/iuBr48RgN2z4thsr5jO9qY57eq?= =?us-ascii?Q?ZOdkQecDnHdhCY4obXcTyo7X4WtuiyCiYMMm2f7gg3vK2FXfuCeIJvAdf6q+?= =?us-ascii?Q?KxRwEncJOyf37awS1GrJmzGWiQrut8UF7/GqixxKisDNEXnCD72RRTqnvdJv?= =?us-ascii?Q?IZnLFCa+iXDtt+WnfONkyA/tqFYY//qWVp9VUZzAUQanPAqtn4ibrVvEu1yN?= =?us-ascii?Q?59TLWmn0ARwf8jTpPgm4/v+For9rChDxrbIRnxPzSINdf1cpf8g6tcrhKMs7?= =?us-ascii?Q?KMHmHkveqIfZcc2o/xnY52l5Am5Fobd8m3P2bLAKSfjPW0lONJsrU1lnqXj2?= =?us-ascii?Q?FYC1edK1s5NNPgHNC9VnyeiBZWFNn7QlUYnXIaE0PtmZ1OjcyzOqNwxd1uU4?= =?us-ascii?Q?gojNP5rcucqJ3DESpwUp4r5Ic1BgFI9lg4Ya1BPRsgRjJT2UZQacOV01yVQO?= =?us-ascii?Q?15DyR8LDQ1+6CLDZg2co3ck/Y70Oz8PdFmP8+iOJ0/WYZApQnLjgmHXk+XJH?= =?us-ascii?Q?HqLi1nzjZjx/IHjF4ONy7duDFU9AIBJ+rsnBcdncZeanvJCs4AIzDmEX38S+?= =?us-ascii?Q?KIYU10lZPTV6sE8TECutYDIyea5L7FI6zTLAHi0P?= X-MS-Exchange-CrossTenant-Network-Message-Id: 790529ed-0d5e-4f9d-3edc-08dbec2280ed X-MS-Exchange-CrossTenant-AuthSource: MN0PR11MB6304.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 12:48:34.0126 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Ic6gl0OU6Nh8yTS2RY3TukxRJJ4WWx1ql6w03oV4L1g7ikitQdPHpNNxlL0TZvOQchC3nhsg0057yLf0qZf3DA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6882 X-OriginatorOrg: intel.com X-Rspam-User: X-Stat-Signature: xbipoxjk7dj4hzn8mpp3u1qz4djoqsub X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 531FC40020 X-HE-Tag: 1700743726-597007 X-HE-Meta: U2FsdGVkX19GAnWLk+1fk9j61L3SCKDpqxCTjvlOsSKCHX0eU/kSDzHy/exDcpF9CW6i4N8n9C9DwWS4xToUhVIHkpbeadVzBLarKRQRUApvJtW8IXDLHqtxJaen+ZLP9zjbjLFBYcekg1i+PdZvi2Ra000WsrfbG553RXXJEmIpcC2T3bQGYPWR2dZ6DQnKfeFQCb+groHPAe/2xqjJtoZXfkWR78+ZhFzbADkAKuB5ExtzNl6PkrzovG5lrvMCNnc4ZHtKyab5ZN9VTS9fx7xyMynhSDfUqxTg5tv8eL9J6BOVJRfHopddFlQb9WYYJazUpvbxSc8r1uOWfWzOHupSHnp1QIejl6u8sB5FdcMipHaSv4ic1X3IxJTLZsTg21iufuykxg9V/MvWZ39dKGGGCGpzXXIoNz38pOi+2DwO5thU71C+Cn30ZAQNSvXPfmGSglwBe+iotxEXiftjqqq8Lp1Fk2jfPczB4JQ3TeXi101UAsVSBHOPXVkWPJNOe/a3Mgca27jUzWQK4Us6ghWvcroiZJKUdXpQKEE7tqWuUMjNbr6lLBLPqFI1zrFxnm0amofFzA7d8E5xDCSeBzi7wwi83Pfg8y2p1VW9WgLtXnCrRHSM8kSnBcyLF1bKdUXDGI22sUxAHDuaEe/XMsv4dB7MkbG4mJsjE/bzd1ulsAP9Jm7q03imhUw9wba/NLcccym63TTILVpyDdLwT//n2+/ZzwKPzjan5SSNuuByyxx4CjOx671EIGcsQnIORBxL0KEMHGPrp8CdJz3XK7y13tg2ZRJDe8KdO8f0vUktikLWvncD+s1U5jOuWzL6iDsp/Ggseq2isH29GXUfJiKW1gH1r94l948bJiRH+3XKna+d2TKxxbDsiLFqSTpf5rvVD3V6C9En3zzbFSCAbPc00cdlFbZSS6QFVOQel+cDsqEvSR/A27LZ77k6vhUSNoUtHS3dVawDVf1V2jW Ypz2XRPk HTAzsDhrWW0zkyKbkii6ajumwBJ5K79igdpDirvU2k/COsjK03SObIwa8ANKWUCpBFpJYHnTFG27AyaxveBHrz2FIqAgzl8NVkQ8MOhfVK6Ssc4xIYz1h5XdQTMa4xaE1yv46kMNtWHBS4XV/1MJQciq1WQzIwknOS4EDLBFvYsJDTfN63v9M8L0z0uz2uvjEaikuvMxqGPVA8/SoOKzESkXAyYO+mOGmK6XUDdbckx4yFg7jH9vQNrknMEXgcoV2VsiJmOwvteoS/qAijr6P5kT2KArllXYQi2dKA9u4rfDl+3FDqPM1L7kBm3abISzSRmxAkuiX1p4O0aNis7KSkSP32LDXHcauCYbo8YraIDnSmw7NS5ddoljJUmiMRW2oIUSImW2LJQe8uIT/Zjn4ZPN/s4uswG2HdUoTJUsfE3PNIEPHBg+p/NrsYmFVqG/a6Be09OuofvQ1DXW6ZhSu0ou/Sf677kiQdhTD58bnFmFhF8xZ+KOrVmR6S9zXcdg48PTE/PRCdA0D3e0= 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 Thu, Nov 23, 2023 at 02:26:13PM +0800, Tang, Feng wrote: [...] > > -#ifdef CONFIG_KASAN_GENERIC > > /* > > - * KASAN could save its free meta data in object's data area at > > - * offset 0, if the size is larger than 'orig_size', it will > > - * overlap the data redzone in [orig_size+1, object_size], and > > - * the check should be skipped. > > + * KASAN can save its free meta data inside of the object at offset 0. > > + * If this meta data size is larger than 'orig_size', it will overlap > > + * the data redzone in [orig_size+1, object_size]. Thus, we adjust > > + * 'orig_size' to be as at least as big as KASAN's meta data. > > */ > > - if (kasan_metadata_size(s, true) > orig_size) > > - orig_size = s->object_size; > > -#endif > > + kasan_meta_size = kasan_metadata_size(s, true); > > + if (kasan_meta_size > orig_size) > > + orig_size = kasan_meta_size; > > 'orig_size' is to save the orignal request size for kmalloc object, > and its main purpose is to detect the memory wastage of kmalloc > objects, see commit 6edf2576a6cc "mm/slub: enable debugging memory > wasting of kmalloc" > > Setting "orig_size = s->object_size" was to skip the wastage check > and the redzone sanity check for this 'wasted space'. > > So it's better not to set 'kasan_meta_size' to orig_size. > > And from the below code, IIUC, the orig_size is not used in fixing > the boot problem found by Hyeonggon? I just tried Hyeonggon's reproducing method [1], and confirmed the below change of check_object() itself can fix the problem. [1]. https://lore.kernel.org/lkml/CAB=+i9RnOz0jDockOfw3oNageCUF5gmF+nzOzPpoTxtr7eqn7g@mail.gmail.com/ Thanks, Feng > > Thanks, > Feng > > > > > p += get_info_end(s); > > p += sizeof(struct track) * 2; > > @@ -1192,7 +1192,7 @@ static int check_object(struct kmem_cache *s, struct slab *slab, > > { > > u8 *p = object; > > u8 *endobject = object + s->object_size; > > - unsigned int orig_size; > > + unsigned int orig_size, kasan_meta_size; > > > > if (s->flags & SLAB_RED_ZONE) { > > if (!check_bytes_and_report(s, slab, object, "Left Redzone", > > @@ -1222,12 +1222,23 @@ static int check_object(struct kmem_cache *s, struct slab *slab, > > } > > > > if (s->flags & SLAB_POISON) { > > - if (val != SLUB_RED_ACTIVE && (s->flags & __OBJECT_POISON) && > > - (!check_bytes_and_report(s, slab, p, "Poison", p, > > - POISON_FREE, s->object_size - 1) || > > - !check_bytes_and_report(s, slab, p, "End Poison", > > - p + s->object_size - 1, POISON_END, 1))) > > - return 0; > > + if (val != SLUB_RED_ACTIVE && (s->flags & __OBJECT_POISON)) { > > + /* > > + * KASAN can save its free meta data inside of the > > + * object at offset 0. Thus, skip checking the part of > > + * the redzone that overlaps with the meta data. > > + */ > > + kasan_meta_size = kasan_metadata_size(s, true); > > + if (kasan_meta_size < s->object_size - 1 && > > + !check_bytes_and_report(s, slab, p, "Poison", > > + p + kasan_meta_size, POISON_FREE, > > + s->object_size - kasan_meta_size - 1)) > > + return 0; > > + if (kasan_meta_size < s->object_size && > > + !check_bytes_and_report(s, slab, p, "End Poison", > > + p + s->object_size - 1, POISON_END, 1)) > > + return 0; > > + } > > /* > > * check_pad_bytes cleans up on its own. > > */ > > -- > > 2.25.1 > >