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 51446ECAAD8 for ; Wed, 21 Sep 2022 10:46:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C04086B0072; Wed, 21 Sep 2022 06:46:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BB3FD6B0073; Wed, 21 Sep 2022 06:46:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A7C44940007; Wed, 21 Sep 2022 06:46:48 -0400 (EDT) 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 9A4456B0072 for ; Wed, 21 Sep 2022 06:46:48 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 66FA3140A08 for ; Wed, 21 Sep 2022 10:46:48 +0000 (UTC) X-FDA: 79935764496.02.5ACCCBC Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) by imf01.hostedemail.com (Postfix) with ESMTP id 163B84001C for ; Wed, 21 Sep 2022 10:46:47 +0000 (UTC) Received: by mail-pf1-f175.google.com with SMTP id y136so5531072pfb.3 for ; Wed, 21 Sep 2022 03:46:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date; bh=qPdyqdgroowolFN4GRnR79RabeBW8kqO40WJAOflFYI=; b=O81iPm+KUz5n9Y8uAC2zjGZla7XVQmkzEOm+8edHWalNrZUz2eZdWyF7bBpZmuJZli 3v4Wus4yyKi5JVSuqwCBkmdFzb0dhMvdJDCdmmeup8WVa7jHBcCyNwgZPFPIp93UVhse Tg4fSHP5CX/FREA0YFM29slTnoaqB8ljpXeAl6J+GhgjPEMoV1RSIs7Y4A4H5qvj3kXL OgnxvoaOUOBOZZmf+483h5p6A1s8JMqm3q0rVId2I9T7aBEAKyAGZ2BsUo+sToN97gSB +QHR3PXnHlxrGIlWA8ZrP00n9e6WsmvfqPBROvlilmHpqbdXJR6rh6BFc5cDtqzfqKkP 77Rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date; bh=qPdyqdgroowolFN4GRnR79RabeBW8kqO40WJAOflFYI=; b=MLiZ6b/x3owEzx1Und7xaf5gM0rH+43AnGu7KKtS6WcBQgVqiAWe4SRuVlSkiFoq8M mtGtlsTymQJMJ4EbDsJyVcbkA/VEK3BnXY+8rXiyNEr1s6o+6VOX74a1ynPC+Ls2JA+O RDMBY+dDbP4UJwoQf1WdKjYNUyrKPdGzKuD+863hcNc0BxYsk0MoTCbk5Atw5u5G4plZ vsiozsUGm79TxaAj/PT0c/oFiiWKPi6DN2vAa6QrCuRQrkylX04COMcQfKXmp8zAyxOF 218v0s7je/J952ckxx/76v7ZWOJwulXR4zsgZ2QuVsPDycNVgDZ5jBicDsQWDuHJAZBL Dlow== X-Gm-Message-State: ACrzQf0YLBApdWXrBSPTrqRQHuHbmuTkFrE2aXVTIyc8Bmkim8NAyEJb +tjqYqqbz3hFgfgcI9qB4eE= X-Google-Smtp-Source: AMsMyM5PgkdRETKfeQYop/FfeIm9ozcKgocuNzZIpq6wic1DXkSB0dNse0+PMswlU4hqJshmP24ZvQ== X-Received: by 2002:a65:6544:0:b0:439:b319:2422 with SMTP id a4-20020a656544000000b00439b3192422mr24100903pgw.114.1663757206906; Wed, 21 Sep 2022 03:46:46 -0700 (PDT) Received: from hyeyoo ([114.29.91.56]) by smtp.gmail.com with ESMTPSA id b15-20020a170902d50f00b00174c235e1fdsm1677504plg.199.2022.09.21.03.46.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Sep 2022 03:46:45 -0700 (PDT) Date: Wed, 21 Sep 2022 19:46:39 +0900 From: Hyeonggon Yoo <42.hyeyoo@gmail.com> To: Chao Yu Cc: Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Vlastimil Babka , Roman Gushchin , Hugh Dickins , Chao Yu , Christophe JAILLET , Christoph Lameter , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm/slub: clean up create_unique_id() Message-ID: References: <20220918092146.4060783-1-chao@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220918092146.4060783-1-chao@kernel.org> ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1663757208; 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=qPdyqdgroowolFN4GRnR79RabeBW8kqO40WJAOflFYI=; b=QNF7N5uMMjaMjfkcmfr3ZH36KW5HlKto0s4iYfuIhvsi811H1pgPbNtQlM2784LTYPlF+3 qHLu7+nePAAtOOf39rVLwIZ519yGZHkaZIMG1mdnf681CRX0UK6FMYIKfZ90U5/KznY3Pt uv2L1jqSC2PFnaIgJukzsN8kBS7gziE= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=O81iPm+K; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf01.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.210.175 as permitted sender) smtp.mailfrom=42.hyeyoo@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1663757208; a=rsa-sha256; cv=none; b=rKQpAAMdzaezSN5tNjKFf5z4BQog8pwRs9DpXvoPu8vk3FzvcEJ+U0rJnelCACjdNMm4Ir yB3gFyje88G4CqZ/T/Wa2dtdFSx903x2BySEDa+JX70Epn2D7zWnj5sIGwbHxH+EWoKRtK LdZ4WFOPOcS/e1KsOHYJ3c2UZZsOenc= Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=O81iPm+K; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf01.hostedemail.com: domain of 42.hyeyoo@gmail.com designates 209.85.210.175 as permitted sender) smtp.mailfrom=42.hyeyoo@gmail.com X-Rspam-User: X-Rspamd-Server: rspam01 X-Stat-Signature: 74hg5csc39mhb8bw8dx6gkxao5z8rdti X-Rspamd-Queue-Id: 163B84001C X-HE-Tag: 1663757207-707363 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 Sun, Sep 18, 2022 at 05:21:46PM +0800, Chao Yu wrote: > From: Chao Yu > > As Christophe JAILLET suggested: > > In create_unique_id(), > > "looks that ID_STR_LENGTH could even be reduced to 32 or 16. > > The 2nd BUG_ON at the end of the function could certainly be just > removed as well or remplaced by a: > if (p > name + ID_STR_LENGTH - 1) { > kfree(name); > return -E; > } > " > > According to above suggestion, let's do below cleanups: > 1. reduce ID_STR_LENGTH to 32, as the buffer size should be enough; > 2. remove BUG_ON() and return error if check condition is true. > > Link: https://lore.kernel.org/linux-mm/2025305d-16db-abdf-6cd3-1fb93371c2b4@wanadoo.fr/ > Suggested-by: Christophe JAILLET > Fixes: 81819f0fc828 ("SLUB core") > Signed-off-by: Chao Yu > --- > mm/slub.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/mm/slub.c b/mm/slub.c > index 5ba6db62a5ab..a045c1ca8772 100644 > --- a/mm/slub.c > +++ b/mm/slub.c > @@ -5883,7 +5883,7 @@ static inline struct kset *cache_kset(struct kmem_cache *s) > return slab_kset; > } > > -#define ID_STR_LENGTH 64 > +#define ID_STR_LENGTH 32 > > /* Create a unique string id for a slab cache: > * > @@ -5919,7 +5919,10 @@ static char *create_unique_id(struct kmem_cache *s) > *p++ = '-'; > p += sprintf(p, "%07u", s->size); > > - BUG_ON(p > name + ID_STR_LENGTH - 1); > + if (p > name + ID_STR_LENGTH - 1) { > + kfree(name); > + return ERR_PTR(-EINVAL); > + } > return name; IIUC 16 bytes will be still safe ;) Anyway, for either size: Looks good to me, Reviewed-by: Hyeonggon Yoo <42.hyeyoo@gmail.com> Thanks! > } > > -- > 2.25.1 > -- Thanks, Hyeonggon