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 6ECADD68B18 for ; Thu, 14 Nov 2024 13:39:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E46926B008A; Thu, 14 Nov 2024 08:39:04 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id DF7186B008C; Thu, 14 Nov 2024 08:39:04 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CBE056B0092; Thu, 14 Nov 2024 08:39:04 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id A4BE86B008A for ; Thu, 14 Nov 2024 08:39:04 -0500 (EST) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 54049AC6C3 for ; Thu, 14 Nov 2024 13:39:04 +0000 (UTC) X-FDA: 82784805306.22.277C040 Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) by imf07.hostedemail.com (Postfix) with ESMTP id 45BC940002 for ; Thu, 14 Nov 2024 13:38:00 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=W+WLVAty; spf=pass (imf07.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.167.46 as permitted sender) smtp.mailfrom=42.hyeyoo@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=1731591367; 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=plbMqImFhCJ0rUEwt/xe5Y/dkXS3RPMYT6mE75jOpVE=; b=n9SZfdaV6FNifBAvCPtxnSXbbAlZacFtNEiEEU3MzOQ5Ngbh5bPSkmMbDYMdVsWyNvQjkt dlPFI91r41Hgh6ZxL06klLh+BNTR+kJr5jIS649/QHlYTqSE2TmpaV1LaUpGDrmVGfR4Ov nVzl4KrGgpyhbnYS9eUh8BAGKX0c1no= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=W+WLVAty; spf=pass (imf07.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.167.46 as permitted sender) smtp.mailfrom=42.hyeyoo@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731591367; a=rsa-sha256; cv=none; b=xD+jYsXkYeNUenRbx0pxbXMI7uOHmowKJcChZiOGTdYZXPgMwe+z4hvTU34UPsbEQ7Lqi+ CaB8kg4mxTW5X1+18kJu47iUXJGGT+wGTCVU14oXNvp/jDBklao/V6KpYyOs3na+1UuFz2 75GF0dHAcPLs2davMqXbpdVm9L9oSq8= Received: by mail-lf1-f46.google.com with SMTP id 2adb3069b0e04-53da4fd084dso720046e87.0 for ; Thu, 14 Nov 2024 05:39:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1731591541; x=1732196341; 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=plbMqImFhCJ0rUEwt/xe5Y/dkXS3RPMYT6mE75jOpVE=; b=W+WLVAtyZ7FCD7U7ezDVZeyzuE/NdBi2QEI22JONQwMKwotlPkWibC1/fDFUYdDpsZ hpKLzK7EyDn5ZPzsB88V5fELAldtPDZiXJuRv8LaFqL48rBH1yUwdaFz/inH4sZP1ZaD 4wmfp/6nXwC18Tb1SHQq6KeEdG2TFT+uOc7fMzn3kpwylKwBbn7asc23X4UJ0B9w+q4v EzrYp75IWlT+CP3IH7m/cYYyg7cfFIQGjLbtGsTHeoaazg7P50+hZEV4htW4Wry2f2mv 1xsvWuEYPA7aI4ID9AS3XuNcQZ5fLCBSsP2beqitZe1Dcq8kI5bPLbPd5fmXXfrGu4aJ ImHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731591541; x=1732196341; 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=plbMqImFhCJ0rUEwt/xe5Y/dkXS3RPMYT6mE75jOpVE=; b=NfNFFVNEM/9RcYm7s776W9rZUMpdxL5T2ObM8phZtiDDSmMDupWmhTQpGPzfUWbvdN GAMwM9ofyF+dfAJRtdoG9tBhCXuM2YltXCKasGdbBRHcw6ygR80d0plc3X889Jd80WGE N7JIgS5PiCt1TGy1oFhrI03aeRuwKhWuA+UnY8lfTJhEgmH/14TYYNRko9zbm1WqKphn tdkh89OzOuyJkiNizMPTd+xz8PAqDDa5Eeg/x0ZkCZJAOlYMwE2/OPPrOf1viLKf7yA9 BTpjlRRSOGqKgygK05qbUBuOHpxaKs54/FYZAxoIRW+4mhLzKcGNJRYq/dE/2dbw4O6n 6eew== X-Forwarded-Encrypted: i=1; AJvYcCWktji5/adpwWaFq0kKejNGrwMNtdfhb07FmvO2TGcDE7A58Ik7PoL0jkU16nqsS2x6AgeiRpe7CA==@kvack.org X-Gm-Message-State: AOJu0YxIena+g/noU3i1Z0uxEXmXdR596LV2QTj4yttQNipEiGAYuJz6 OKnNOJTjlQUrNrsVrelC8lqvXFwZX3nfnzuOUBfo5wu4kkNv4/3KyXEfKXyUS9HyTOXtFd60keB c6D2X697bk0Hk4aHWfSyI4lYiUiw= X-Google-Smtp-Source: AGHT+IEQJPPkaZenJ6oUItKeQ+Gc0nglFVvGLtAYAqzBmfCiIYqPyrENOvUqyilf8OxJD2ATIO6EG49gK5io82VJUDE= X-Received: by 2002:a05:6512:4014:b0:53d:8c0d:8513 with SMTP id 2adb3069b0e04-53da47a57cbmr1114776e87.8.1731591540635; Thu, 14 Nov 2024 05:39:00 -0800 (PST) MIME-Version: 1.0 References: <20241016154152.1376492-1-feng.tang@intel.com> <20241016154152.1376492-2-feng.tang@intel.com> In-Reply-To: <20241016154152.1376492-2-feng.tang@intel.com> From: Hyeonggon Yoo <42.hyeyoo@gmail.com> Date: Thu, 14 Nov 2024 22:38:47 +0900 Message-ID: Subject: Re: [PATCH v3 1/3] mm/slub: Consider kfence case for get_orig_size() To: Feng Tang Cc: Vlastimil Babka , Andrew Morton , Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Roman Gushchin , Andrey Konovalov , Marco Elver , Alexander Potapenko , Dmitry Vyukov , Danilo Krummrich , Narasimhan.V@amd.com, linux-mm@kvack.org, kasan-dev@googlegroups.com, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 45BC940002 X-Stat-Signature: tbii7rk8tzc6mo7xk6zd47ejxqukqm4i X-Rspam-User: X-HE-Tag: 1731591480-597499 X-HE-Meta: U2FsdGVkX1/adYsULvmJnqexR4B2WbKw5RE9Slpr5QqobK6G145Rqrh0JElDFiF3MhqKTOMoLHx1ckyESrHGRxw+qcsj483jxIGZjtgz8tt/FtJfudPMH3ZEK0JOOEhSX4+hVCZpG3ZsZlWyz9TeSQf2slluHDvIEFUxQG2JSgw3l5q6VKcAIeAn0UKid40BmqT4hW0hbT+Abi49fD5BiRNH1WWObSEqz31UXI5mM5Przu9tpUs7gTeV9kofzOrPZP/DQV3YeuUX/IHUKNMKc5tCtdHEbnhVi8gTmPKM4goIMGvy9FpPNHcr/2FTfxc2/0JeM1R+3C9rutuX+h7nbHdZ9UI5vXYawjVSdc3EYU0UveGqtdg+vYluHqY77fNUBXNElbDUVi6x3y/eFwkddbcMO3XccjN/tc1ZWF6SMys1DBJsnztePVOmRNGQSy8XGMFuGkVDZfRuqfYsr8+dfsZFH0VeYbh7JO9JnlCi4s4H0IRcXby9TmUrVKvJ2mTKufyjvif1qlIx5VArKPbkZTi6H4paGgw179/s/TFX7ud4qXJ9IGJbGIvaS0clMWDr7X7J4r2c/IeAmIHnR7+rGJHQZ/W2u3PdK0YEP3tXSIeoBRkYrr2xv38Ko+X281j2M+Aw/r79sMye8wdPS0CIlDXFzDQhwL48rKooQ24cgFuUgUX+PvtzwIvH+ckGXbGrwTzM95JqFZ4DHWx0BbEjny/oztUgevtUosZ8pzKkV0rf5T8YdygYYKr4Ou27GbO77oU4Fh9w14ticlWyBAU+AZxo0CzKBMCXFGT/xlMwibxPRKmuk+Y0QH+uxnqH5X0ciA6M8EZE16Fj6EHZD1jC86AwfKAfppG0CIRl81Vc346jP1frstv8WLlozGnu1PLaxoE35axaVqmMuQF3boxjc8mboYngJQruHtTLYByezcjGp/x+fMOkpFocFCO+pjsPBkYSWDOxoixKE5u3sbR YLooIQg3 2wSCg7/5JTCY60yKaRxsURyhJ9W3z5Jvqf0D7xXBC6U5m/TGlfE2vPc1Gjs2dbEvpHg7dSUJLBNzs+BX3WLhjpBgdCf5DekKHyilBTaCP+LfH/tPgAhmJzH67m/SeIh5NdTqUWLzo7mxdTaLDFWqzpfuz7l8CD0WlcHIpcJAYEydECA4atMtEfLI8pOhR0NrN1Kx0J0SZrOgSQfF0+JV+FgngaLXzdFOJ8+SnzpaT4QT2SwFDYB1KaRFkKtUAT31sg5vC+lA77jX5WWVzkA6MoDmiiKA8IVWIWN0fSWejxS01yi9ui2d558W+oQjZ2/PL2q8JrOemD5xIjxbFvZSNR1dWjpfYIbbRubdxn9ytAWd+29PPBWcdZuKlTqEDyvD5isYtGojDNbzgvb6XuxhW9ulilM1XMoLfqutf1DwYaNoq5nvMlUJX4uHiGYZ+tZ0xVd75 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, Oct 17, 2024 at 12:42=E2=80=AFAM Feng Tang wr= ote: > > When 'orig_size' of kmalloc object is enabled by debug option, it > should either contains the actual requested size or the cache's > 'object_size'. > > But it's not true if that object is a kfence-allocated one, and the > data at 'orig_size' offset of metadata could be zero or other values. > This is not a big issue for current 'orig_size' usage, as init_object() > and check_object() during alloc/free process will be skipped for kfence > addresses. But it could cause trouble for other usage in future. > > Use the existing kfence helper kfence_ksize() which can return the > real original request size. > > Signed-off-by: Feng Tang > --- Looks good to me, Reviewed-by: Hyeonggon Yoo <42.hyeyoo@gmail.com> > mm/slub.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/mm/slub.c b/mm/slub.c > index af9a80071fe0..1d348899f7a3 100644 > --- a/mm/slub.c > +++ b/mm/slub.c > @@ -768,6 +768,9 @@ static inline unsigned int get_orig_size(struct kmem_= cache *s, void *object) > { > void *p =3D kasan_reset_tag(object); > > + if (is_kfence_address(object)) > + return kfence_ksize(object); > + > if (!slub_debug_orig_size(s)) > return s->object_size; > > -- > 2.27.0 >