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 52AC0C433FE for ; Tue, 22 Nov 2022 09:58:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D5ED36B0071; Tue, 22 Nov 2022 04:58:10 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D0DF26B0073; Tue, 22 Nov 2022 04:58:10 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BD5E88E0001; Tue, 22 Nov 2022 04:58:10 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id A9CA46B0071 for ; Tue, 22 Nov 2022 04:58:10 -0500 (EST) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 71B79160A14 for ; Tue, 22 Nov 2022 09:58:10 +0000 (UTC) X-FDA: 80160627540.06.7BC8329 Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) by imf16.hostedemail.com (Postfix) with ESMTP id E3EE918000C for ; Tue, 22 Nov 2022 09:58:08 +0000 (UTC) Received: by mail-pj1-f45.google.com with SMTP id mv18so5165333pjb.0 for ; Tue, 22 Nov 2022 01:58:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Iswb2ultRT2N7P9BN9RKy+2BlKMbcXeEkzv8Y2QxO6g=; b=fFy0T2aFQS4NKdGRR3w9Kj1jqFSbkd+C5NiERcU4bhqH9G+l0zseqwiasB9Pwl6ON8 wYeiWNEIMsKfHHINSB9Ud6nDE68z3DCRHk+nju+r9w7Qp0VjkzQ8Scn06NNnVpmPayTk cgYT7r970hhJQIO4BguxwGFtQGNcq6uPY89vgXAxt9EwyC/W5BuXGW9wrKWx3S0XJnSk NzWVi4rbrMglfusJWY1sCVGe9ex1g9/44lRtsRCPsB6oX+pWoh3W7S4sMCa7b9FmfsV4 Kc2kF5BWVBq7PJZHodC+1EQuvpCTutqPJioH1mjgtqfYO6+HJaD6he/XE5rtuVbSPtoS eORQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=Iswb2ultRT2N7P9BN9RKy+2BlKMbcXeEkzv8Y2QxO6g=; b=tvoCxeYbq6JwLPJcjAIQIVH7V1bJZ4pPgG3bmdPTnjEu4njK+mICGjfhA3fMCJkwkL kTCw5Mo5/RH++h4HWUxbiSe2n19urDcbru+dM91giqVEtuhqVl0Gl2ZOZqhlWszIWLWB hKtXbgLiyPtJViovAr8uD3f6v3RioyywinCxrd/sZ9rx6fL8890Q4HW1D50YVWV/2Ca8 xC5uv7KBrW9rq9HHkAeY8AIssM9JVxXMwih7Hae/mJG5WkFKBaZGVfya1YMmTQpGwzkj FgAg07MIKMl6wvKNYKjhbJDooQKUTr4YvQbGxmldJT+A95PeCzoQfha3DDhfKwajar6/ 3DmA== X-Gm-Message-State: ANoB5pmzSNlprI3nRN52nrYnmJLnQd5jyyQlIZhwE14H/GEuPG/mG+5O /VFmwtjq3i+S1G4E6+IpCiduJy/x6RtBchDL3gk= X-Google-Smtp-Source: AA0mqf6WcEk3GnbZurHe3unXBl7NHtFkiS1TosZ/XBuoZulgtWXKQtn9M30UMf668cjXXIIXNDHhm2c5CSh572AOyTM= X-Received: by 2002:a17:902:8214:b0:188:e878:b5f6 with SMTP id x20-20020a170902821400b00188e878b5f6mr3038130pln.150.1669111087764; Tue, 22 Nov 2022 01:58:07 -0800 (PST) MIME-Version: 1.0 References: <20221121135024.1655240-1-feng.tang@intel.com> <20221121135024.1655240-2-feng.tang@intel.com> In-Reply-To: From: Andrey Konovalov Date: Tue, 22 Nov 2022 10:57:56 +0100 Message-ID: Subject: Re: [PATCH -next 2/2] mm/kasan: simplify is_kmalloc check To: Feng Tang Cc: Andrew Morton , Vlastimil Babka , Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Dmitry Vyukov , Andrey Ryabinin , Alexander Potapenko , Vincenzo Frascino , linux-mm@kvack.org, kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1669111089; a=rsa-sha256; cv=none; b=QjY6Sa+pRfXuzhLzGG/QpyKejCK634c+fQa0JooBHBVvWGQi/fsxS6kUlu9hRL7d123hdB y1UIqdjLnBqEtDx7iLtGem9ki70mfNGQ52B/xyyNcNptdwQPzEOCbNsWsmiqFLZU52zULf OIJnv1cLE/ekd8xFBkZnkjwWphcQvqQ= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=fFy0T2aF; spf=pass (imf16.hostedemail.com: domain of andreyknvl@gmail.com designates 209.85.216.45 as permitted sender) smtp.mailfrom=andreyknvl@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1669111088; 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=Iswb2ultRT2N7P9BN9RKy+2BlKMbcXeEkzv8Y2QxO6g=; b=C6Gv40daPwhtH/Z+h/dqzfzig4w2iLoQNx05zEubpnWRMaikwNa/F9SO4rdl+XUSw6bKKY dObqVTLayBx9HYVs8+VyqnomG4HWQuI+UEMBWEgvlGzGD+ycisCE/gV0mcjx7rcHLc2xt9 dVNQlOG9f4WOAWcF4qv8Pi4RbCIuqRo= X-Rspam-User: X-Stat-Signature: gd8efxbmk1byquhfhbqhjqb83qoto1zp X-Rspamd-Queue-Id: E3EE918000C Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=fFy0T2aF; spf=pass (imf16.hostedemail.com: domain of andreyknvl@gmail.com designates 209.85.216.45 as permitted sender) smtp.mailfrom=andreyknvl@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-Rspamd-Server: rspam07 X-HE-Tag: 1669111088-637526 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: On Tue, Nov 22, 2022 at 7:56 AM Feng Tang wrote: > > On Mon, Nov 21, 2022 at 04:15:32PM +0100, Andrey Konovalov wrote: > > On Mon, Nov 21, 2022 at 2:53 PM Feng Tang wrote: > > > > > > Use new is_kmalloc_cache() to simplify the code of checking whether > > > a kmem_cache is a kmalloc cache. > > > > > > Signed-off-by: Feng Tang > > > > Hi Feng, > > > > Nice simplification! > > > > > --- > > > include/linux/kasan.h | 9 --------- > > > mm/kasan/common.c | 9 ++------- > > > mm/slab_common.c | 1 - > > > 3 files changed, 2 insertions(+), 17 deletions(-) > > > > > > diff --git a/include/linux/kasan.h b/include/linux/kasan.h > > > index dff604912687..fc46f5d6f404 100644 > > > --- a/include/linux/kasan.h > > > +++ b/include/linux/kasan.h > > > @@ -102,7 +102,6 @@ struct kasan_cache { > > > int alloc_meta_offset; > > > int free_meta_offset; > > > #endif > > > - bool is_kmalloc; > > > }; > > > > We can go even further here, and only define the kasan_cache struct > > and add the kasan_info field to kmem_cache when CONFIG_KASAN_GENERIC > > is enabled. > > Good idea. thanks! > > I mainly checked the kasan_cache related code, and make an add-on > patch below, please let me know if my understanding is wrong or I > missed anything. > > Thanks, > Feng > > --- > diff --git a/include/linux/kasan.h b/include/linux/kasan.h > index 0ac6505367ee..f2e41290094e 100644 > --- a/include/linux/kasan.h > +++ b/include/linux/kasan.h > @@ -96,14 +96,6 @@ static inline bool kasan_has_integrated_init(void) > } > > #ifdef CONFIG_KASAN > - > -struct kasan_cache { > -#ifdef CONFIG_KASAN_GENERIC > - int alloc_meta_offset; > - int free_meta_offset; > -#endif > -}; > - > void __kasan_unpoison_range(const void *addr, size_t size); > static __always_inline void kasan_unpoison_range(const void *addr, size_t size) > { > @@ -293,6 +285,11 @@ static inline void kasan_unpoison_task_stack(struct task_struct *task) {} > > #ifdef CONFIG_KASAN_GENERIC > > +struct kasan_cache { > + int alloc_meta_offset; > + int free_meta_offset; > +}; > + > size_t kasan_metadata_size(struct kmem_cache *cache, bool in_object); > slab_flags_t kasan_never_merge(void); > void kasan_cache_create(struct kmem_cache *cache, unsigned int *size, > diff --git a/include/linux/slab_def.h b/include/linux/slab_def.h > index f0ffad6a3365..39f7f1f95de2 100644 > --- a/include/linux/slab_def.h > +++ b/include/linux/slab_def.h > @@ -72,7 +72,7 @@ struct kmem_cache { > int obj_offset; > #endif /* CONFIG_DEBUG_SLAB */ > > -#ifdef CONFIG_KASAN > +#ifdef CONFIG_KASAN_GENERIC > struct kasan_cache kasan_info; > #endif > > diff --git a/include/linux/slub_def.h b/include/linux/slub_def.h > index f9c68a9dac04..4e7cdada4bbb 100644 > --- a/include/linux/slub_def.h > +++ b/include/linux/slub_def.h > @@ -132,7 +132,7 @@ struct kmem_cache { > unsigned int *random_seq; > #endif > > -#ifdef CONFIG_KASAN > +#ifdef CONFIG_KASAN_GENERIC > struct kasan_cache kasan_info; > #endif Yes, this looks good. Please resend as a v2 and I'll give a Reviewed-by. Thanks!