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 1B238C25B76 for ; Mon, 3 Jun 2024 09:41:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A8C7B6B00A1; Mon, 3 Jun 2024 05:40:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A153F6B00A5; Mon, 3 Jun 2024 05:40:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8B6936B00A6; Mon, 3 Jun 2024 05:40:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 6DBBD6B00A1 for ; Mon, 3 Jun 2024 05:40:59 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id E0225140C37 for ; Mon, 3 Jun 2024 09:40:58 +0000 (UTC) X-FDA: 82189083396.09.2A9071A Received: from out-176.mta1.migadu.com (out-176.mta1.migadu.com [95.215.58.176]) by imf12.hostedemail.com (Postfix) with ESMTP id 4904440020 for ; Mon, 3 Jun 2024 09:40:56 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=k1bopM9b; spf=pass (imf12.hostedemail.com: domain of chengming.zhou@linux.dev designates 95.215.58.176 as permitted sender) smtp.mailfrom=chengming.zhou@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1717407656; a=rsa-sha256; cv=none; b=V89XlVtPUOPL93Pvz74UqFb/CPEzFlYgw9InHPAvE25boqW0J14qN9W/54COw9G6/w7Ros QoYNNQC4uCCYiNMw8A5ylCK8AYM1gyEALlYVeYvh9iYioA5+1fJhhMEYc9zE17w4uId3J7 D/HvO+SXnozWMtkaldRD3nj8fTwJzxs= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b=k1bopM9b; spf=pass (imf12.hostedemail.com: domain of chengming.zhou@linux.dev designates 95.215.58.176 as permitted sender) smtp.mailfrom=chengming.zhou@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1717407656; 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=cepglRJZ1mK8dA8kcnRQrvV4Tmkczc4BSDaYLYlAPNA=; b=VVg2nlIVEFExA44gTDA0q9YE6OWfELOwN3Ze7IP236MRT2Zdb315d1ieu742bPsH3T9FII OQ97KpFRN16ub9RKU7XjDuwNrwbecmkwz74oLAfdA+kHXAWo8UvDc6HFCs+A4cMqjib1Sb F1wSuef+t8yAMqMsp1EAaGJ4FMHuAM8= X-Envelope-To: vbabka@suse.cz DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1717407654; h=from:from: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=cepglRJZ1mK8dA8kcnRQrvV4Tmkczc4BSDaYLYlAPNA=; b=k1bopM9b1+hOyhZunW8ZQd2QhXGgzm8Jf48bOWur2dYlvOBN/r2gFwzuesMSdeYB8+i/bv mAFoSSRBwj+H47F5ZpUpydINRt/BSs5y19NIjKOHO+oJPVqnjlp2ClcInGXcbI1Z/QBRzB tVM+iWLaFV6nPnCet+3Qi6z76mO5xfM= X-Envelope-To: cl@linux.com X-Envelope-To: penberg@kernel.org X-Envelope-To: rientjes@google.com X-Envelope-To: iamjoonsoo.kim@lge.com X-Envelope-To: akpm@linux-foundation.org X-Envelope-To: roman.gushchin@linux.dev X-Envelope-To: 42.hyeyoo@gmail.com X-Envelope-To: feng.tang@intel.com X-Envelope-To: linux-mm@kvack.org X-Envelope-To: linux-kernel@vger.kernel.org X-Envelope-To: zhouchengming@bytedance.com Message-ID: <4c8406b7-f5eb-4907-8ee1-f997bdeb157c@linux.dev> Date: Mon, 3 Jun 2024 17:40:24 +0800 MIME-Version: 1.0 Subject: Re: [PATCH 2/3] slab: don't put freepointer outside of object if only orig_size Content-Language: en-US To: Vlastimil Babka , Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Feng Tang Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, zhouchengming@bytedance.com References: <20240528-b4-slab-debug-v1-0-8694ef4802df@linux.dev> <20240528-b4-slab-debug-v1-2-8694ef4802df@linux.dev> <5a09e348-9eeb-4502-9aa9-ef5da2f94218@suse.cz> X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Chengming Zhou In-Reply-To: <5a09e348-9eeb-4502-9aa9-ef5da2f94218@suse.cz> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_OUT X-Rspamd-Queue-Id: 4904440020 X-Rspam-User: X-Rspamd-Server: rspam12 X-Stat-Signature: mzcui8w3fag9n6zogq1ouq5wzmnpxhqm X-HE-Tag: 1717407656-581437 X-HE-Meta: U2FsdGVkX1/KyXkcgjXoa/TFJsYOsh/ca7Pba+irn220C/MKbWMVtRNkrt/NEnYl+bOK2juF9MTFqGt2OvFDgoyOtZqtjFEiw/Z7EMY7JwaUD8X6J//3DSt6xyGm8lv+ic93QYhbvnZwrWd7k7cb5G0DcFL1s3DB3YpQzuFg6uCH1x1txUWKXNWs1ElSCfcPca7GcJ4w1SuEpPUaPxm5osGo+/qpWwruBdOLhbz39kFcBzoVYBFkvljhfEnIbV4+5nwtmS/AFk4F/OxJX34bPohFw5lJqf/yinuBzQRNSGAzDnjXuXQlr3mh/wDT+0De/0PTuNJkLY/t4E3pFq0XgYy+tyY9otem2LgiLxNVWmNp2EIhYVC37c24X+RuXl/q7eZWzdEUrNdulWKXDNnOauStfE7yXM6MOXY7vwzvMVAFWYvrShK73rTPbaqIvmDQIilmq+h5f+yQ5afLR0lGnVoiQbYf3qNZysXSXBtlIuBbX6ErLB/4PxPePwrt0+4vp8nurqpjJDHIiQh/ji1fpHwOfMCH9rHKSpMAp9Vmsc/7Fi7Tt8ZCNWj1yIA/AhYmEyW1zoKvLVwn5RE7/E7KN1Au15Ld7npCv1Ew/f8K5N2jLxi7herhADcj82LJstA6neEK376hrgRbVyctBUNBVqzda3YArVD4TD58wqSCjVo+s8COtaVnVE2numB8Y8XiXrAo0kSQLN9UwuCgELyU8FDQInCwHmbYMVIDhveH/rXr3Zs/Jpk54UMnsqLyOq+yHRGdGjpyiDueMDz9xo5lOxOjkqPBqgshgib/HRcP9dI7NLWhcwz7gwFkXlMB6xHFCSBHqMcsMYBgG9w4RnlDgGxS2lghjmqZb4VNU03NXHKDiwF6VJ5FV9z2UcJBCTfV47oWDDtqLfqg8gznBLuOxlVqdA6Qp3zqwp1GXVqCxRBMG3ZxCXZ5eMfMbEqmirEOMFSEL6En4JWDGqAvCRw R5sV17w8 XzrphJn8pN4pTLLbulQB9gRI/B51MXAi2Rtm57QmQ/26qHzd82PnsY8BXU36jgfDVHc8hC+ERuc5M6s3dZQgnZjxqIsulIPr8dvzYU7KY8ht8t4G96RRdJfIsm+gBXzuXHDCbaBjB7Z7oVCIhr8Zjt68loYZDPOCblSnc5wpEkljA3q1ezqFCecc7lYOW+9yK+HklcYLPoE9O9QKFrgMD5A/m8l70Ao0PisCtQTer0myuTJmZvv0DgTGO5w== 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 2024/6/3 17:25, Vlastimil Babka wrote: > On 5/28/24 9:16 AM, Chengming Zhou wrote: >> The commit 946fa0dbf2d8 ("mm/slub: extend redzone check to extra >> allocated kmalloc space than requested") will extend right redzone >> when allocating for orig_size < object_size. So we can't overlay the >> freepointer in the object space in this case. >> >> But the code looks like it forgot to check SLAB_RED_ZONE, since there >> won't be extended right redzone if only orig_size enabled. >> >> Signed-off-by: Chengming Zhou > > Seems OK. > >> --- >> mm/slub.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/mm/slub.c b/mm/slub.c >> index de57512734ac..b92d9a557852 100644 >> --- a/mm/slub.c >> +++ b/mm/slub.c >> @@ -5150,7 +5150,7 @@ static int calculate_sizes(struct kmem_cache *s) >> */ >> s->inuse = size; >> >> - if (slub_debug_orig_size(s) || >> + if (((flags & SLAB_RED_ZONE) && slub_debug_orig_size(s)) || >> (flags & (SLAB_TYPESAFE_BY_RCU | SLAB_POISON)) || >> ((flags & SLAB_RED_ZONE) && s->object_size < sizeof(void *)) || > > Should we consolidate the two cases with flags & SLAB_RED_ZONE? Yes, we can. > > Also below this is a comment that could also mention the slub_debug_orig_size(). Ok, will add. Thanks. > >> s->ctor) { >> >