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 75C08D18147 for ; Mon, 14 Oct 2024 20:40:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 016CD6B0082; Mon, 14 Oct 2024 16:40:08 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F08AF6B0088; Mon, 14 Oct 2024 16:40:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DD0B46B009B; Mon, 14 Oct 2024 16:40:07 -0400 (EDT) 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 BF7496B0082 for ; Mon, 14 Oct 2024 16:40:07 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id E3B6E1A124D for ; Mon, 14 Oct 2024 20:39:52 +0000 (UTC) X-FDA: 82673374728.18.9CF8A13 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf07.hostedemail.com (Postfix) with ESMTP id 5BF224000C for ; Mon, 14 Oct 2024 20:39:56 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=HFuElu+S; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf07.hostedemail.com: domain of kees@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=kees@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728938290; a=rsa-sha256; cv=none; b=IpuvSuoBU1EyLKyWGR26QjCu2FUKatjK+3aQAM5ReFee35MIPFaYXvLxBs6OEfvxW/pPK2 ihdjV1BgQfCjxW2XQfa43hvjKSu+w76/RxQLRRdlETkhCM/0uBnrsPzfC3WA3MYJ6W8FjK WXDRyj1qB7Uu9JXZyIZ/PaJYATTpoTA= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=HFuElu+S; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf07.hostedemail.com: domain of kees@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=kees@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728938290; 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=JpA8isSkiSsTyZgcyEd6H9Gd2Li40TbqfNGJk79VMEc=; b=SMDr7Pde2/chlO70qlet1Z+NpEzIqlzKkXOCvEYgUKqNpeXyA7awNcWjdOiad9nbmvkaib fB9Ex6ZspXzzgYsltJB8aQOz6WJp5RU/Uk6ONIOtOtTXmmF3bsXQwy9E+cWg5UBgimzK0y AzWRkKSvHIIg6gRrAPj5mUgMAONXKsM= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 058D0A4105A; Mon, 14 Oct 2024 20:39:56 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7A439C4CEC3; Mon, 14 Oct 2024 20:40:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1728938404; bh=jdA4urDUlX9oa+27zIWMzrgqKWEUDdFIx4Fo/O7KlvM=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=HFuElu+SVtzqwDgmjeU1JWKQYmuKgX4GnzMG0gCTsAibTA3nYyf2G9LcNiOVxosrV pxYYnhvaSOmS5iC83oVC3Te+yxCqwp6RrVWNGH88FsSyK+nCD7k4OF3SbAQ3IC2Yze AeZNsPo9OHZB0sDGcV6DAIztS5qc7HKTzR2qvGIYsGCcgeY+eELAaTol7cQew3gZsJ F5yLuyd8UHb6k6j0nUBVioY9Jbgdg+m4oQJn/4uCz4tLThrIIygVFRqqt1ZrkLNReU N7JDUaPXmrIPGpp1S/zpIXddTHOPchTtSSQ9cmi8E6pdqCGsVVa+s/X5JeNV/55QGf 1osOivDFVCT7g== Date: Mon, 14 Oct 2024 13:40:01 -0700 From: Kees Cook To: Feng Tang Cc: Vlastimil Babka , Marco Elver , Andrew Morton , Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Andrey Konovalov , Shuah Khan , David Gow , Danilo Krummrich , Alexander Potapenko , Andrey Ryabinin , Dmitry Vyukov , Vincenzo Frascino , "linux-mm@kvack.org" , "kasan-dev@googlegroups.com" , "linux-kernel@vger.kernel.org" , Eric Dumazet Subject: Re: [PATCH v2 0/5] mm/slub: Improve data handling of krealloc() when orig_size is enabled Message-ID: <202410141338.EA1D30F3@keescook> References: <20240911064535.557650-1-feng.tang@intel.com> <49ef066d-d001-411e-8db7-f064bdc2104c@suse.cz> <2382d6e1-7719-4bf9-8a4a-1e2c32ee7c9f@suse.cz> <0e8d49d2-e89b-44df-9dff-29e8f24de105@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 5BF224000C X-Stat-Signature: c49r4txfxc4a5z4qkt5a4mktwikzzktr X-Rspam-User: X-HE-Tag: 1728938396-54876 X-HE-Meta: U2FsdGVkX1/ty0+10hkBSq4/jSuAvf/nKiLO7wYLHwpUdmiTOS2QubvIJ9nUCk0365eO20IGp4/lB9pJYPGHKU+9lLcsvYijq1Le9jiRrHxLqnwVgwkO2EvAKmCvpYmhJYKXvc4a2j/A/Qf8JRH9hEPLVgeUBMjsTb66g/pmwR4wZyxYyhtHphpqqbcbIKMPykhfQ7VPQ091wlUG6bVLn0ZLs7Kj6iso2zTP2hJZ9Z9BQH6pIeLHP00UoYikL5OP4F4H8dRjZ4uk6DZ+lpZPzvUWZgcQBgZv80rg5O/3ofEv7tCCqbD7g8oF3J7YXh1HNlMJgXwcGiCy7f0xkhkZyrhAHDnEf/o6lVx89sug4wPvry1FEK8eIG9DjyQHtXh94d/ySeFCi7PjbYFp5LOKqNlaeJXUeHm40h3SGIZ2c3mv5lIunasQAnh1d4Tm5EzEwgu0tUzLRGiB1zTr3ZmylyqT4S2Y46vTCos/AoB0+YDIq16XJ4xMbKCHq4rvM/H3YsVCe0it8zxhXwoFcYW+SWRzp0SbdEZakmDmYvfSriKCxEhD2MXxlvIVgLXU4o6aR6YA5T7kCzCipeUSQ7trHDWZht0b4oAKnGKtswjwZyUnM8Cl4G4CORV2odJKhpHoZG0Vk3ICuTHymx3v4e6KA/3d3ZeqCEnrZ2ttpb+fWDsj2a0JuvwKv5VVVPOg6E72IUBYeb1ry+lCKMNsH8MSR/Y3PBqw6XnfiiMP+VhpW2choVrcu7/rvf5/1B7pyqObBfXNnTTvGurXKJshltfD1lQUYVPKUZmkJPWjseUgEdkkyaSS9cpEALxuPLUL2ROUSVa9UQuK5nyJ/mAXiLue7dNvErL+7dyfFpoG4Tc22ZnhPEPivf/9LUxGkNW2L+lWMeMRsC3DAa/WF3MDgtvGXDCDtowFJSpEY7gECVyXzbKV9O8SigOWX9NQAPznf9hum//tvANKg+Uecf8VYP9 mD2h4DfO ro1ZWAKNUoxzirx8IAz+BgpD6v2gabln6X1aY/Mz3jmIy7m55m3TF0tLKt2Ywh+AQJGhwiX9LZTaQwCYT/H5JUk743aNP3mvxCiy57dw0jAfSwAob/uR7MkiGStoooJdtUx66vaql+VpL6Wwa1skC4CYtChIMZ5YlaVFmwiGQLaGHFfg1hk4OIkIJDhcL6SO4RvmUH/oy4MV5Faal/OgrQkEgahiE/NQZkUbE2blnvDnFunTCRY9Gnv3RXea5/nKUloZrjMhDrtxCVjLxmFsfG959tO6nTl04kB9W3TzUTb9T6asmAQMMm8Qv9mxya57v/LgPEB18p5bvulgy9hGEeRcf2XBNVLniSj7izVQqNv3a/OvJk6szxix1jb7Ms3DoRfpz1iUNiT6DrShub9SbMdSadBVszebY9Yx5 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 Mon, Oct 14, 2024 at 10:20:36PM +0800, Feng Tang wrote: > On Mon, Oct 14, 2024 at 03:12:09PM +0200, Vlastimil Babka wrote: > > On 10/14/24 14:52, Feng Tang wrote: > > > On Mon, Oct 14, 2024 at 10:53:32AM +0200, Vlastimil Babka wrote: > > >> On 10/14/24 09:52, Feng Tang wrote: > > > OK, originally I tried not to expose internals of __ksize(). Let me > > > try this way. > > > > ksize() makes assumptions that a user outside of slab itself is calling it. > > > > But we (well mostly Kees) also introduced kmalloc_size_roundup() to avoid > > querying ksize() for the purposes of writing beyond the original > > kmalloc(size) up to the bucket size. So maybe we can also investigate if the > > skip_orig_size_check() mechanism can be removed now? > > I did a quick grep, and fortunately it seems that the ksize() user are > much less than before. We used to see some trouble in network code, which > is now very clean without the need to skip orig_size check. Will check > other call site later. Right -- only things that are performing a reallocation should be using ksize(). e.g. see __slab_build_skb() -- Kees Cook