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 1B36EC3DA7F for ; Tue, 13 Aug 2024 02:32:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7D50B6B008C; Mon, 12 Aug 2024 22:32:13 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 75DA46B0092; Mon, 12 Aug 2024 22:32:13 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5D7436B0095; Mon, 12 Aug 2024 22:32:13 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 3AB1B6B008C for ; Mon, 12 Aug 2024 22:32:13 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id D5F68160564 for ; Tue, 13 Aug 2024 02:32:12 +0000 (UTC) X-FDA: 82445647704.24.1C2A6B6 Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) by imf11.hostedemail.com (Postfix) with ESMTP id 1733D40010 for ; Tue, 13 Aug 2024 02:32:10 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=niO42Z38; spf=pass (imf11.hostedemail.com: domain of rientjes@google.com designates 209.85.214.175 as permitted sender) smtp.mailfrom=rientjes@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723516260; 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=t9sY5RmT4/nr5MM6zTPnlljtK1dnK1Uy+5vyxxFPmqY=; b=kgT1l756aSxYZWdRRyx8KNk73P6VirKCccyiJCzfHPogrIvz1bx7OYU7bymMklWS1xOzO7 eJBdLLMmjUAdVgamJwgR3WYXmXlGgrkPl9u+aPyPZd6qzplIrc3xEyCo7/XsYS16Nql2m9 R60ElU8D3Hvup2CYasg/M8MaN7dycPw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723516260; a=rsa-sha256; cv=none; b=vJv/5P860gMUeLIIyO3PXKDh6uEaYaD4ktWZVcoyQ1VmSOMgOINGca2K5dgFAMyNa/lIhL mQz2zQGP3nDfBFOG2uO9obb+u8aA+b1pQ3HLUUrN1iBHEygTxsIfp7xbcNqhwAfF17xYDT oCNxY2velnM1biceQovYOI5ewTBlznI= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=niO42Z38; spf=pass (imf11.hostedemail.com: domain of rientjes@google.com designates 209.85.214.175 as permitted sender) smtp.mailfrom=rientjes@google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-1fd7509397bso48845ad.0 for ; Mon, 12 Aug 2024 19:32:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1723516330; x=1724121130; darn=kvack.org; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to; bh=t9sY5RmT4/nr5MM6zTPnlljtK1dnK1Uy+5vyxxFPmqY=; b=niO42Z38THEbORhWDda4S+08xE8I3RqK22OPRtGrGedTHsE79N8Jxxh4OFZcTy4Y+y Ht4hDf1BCmUA3z0KIsiY+eCxY2S1jL041BSqxNDUaNOkHS4CK70xqlo2OKcGNlK4SbXU NetwctP1jRPeSLbLESyQE/9m6xSHum9A4gykreLExkF0t1rWYftnRGmVP3tZ334aldZM GDr4eHVc3GmjAR/XxFH33ac60FVG46bOnLBTdPuD3Go/pKv6UIFcDLeyVqOdTBYS2HA3 CS5VgzIONcDh5Dam8RK2oaeaUyvuIhZOclJ1hrvPEwV9F5eYRSgTHVKfujLQmmQ02PJn YsUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723516330; x=1724121130; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=t9sY5RmT4/nr5MM6zTPnlljtK1dnK1Uy+5vyxxFPmqY=; b=vMWTh3+RuVrNiYa1pD/WKQNro2HcB2yQHy9Jf/yfzBoKn1Kx2Gr5J4kOOswuR5RKF4 79p/X9zyBk5wl7v+aEYSjFEIDm+IysT5pFFxWsMyvj44SLaS3x1NxCf1HnM9Gcvp8Pog hqN8pzrhEyHRhl+X1UrWOaW8hJP5D2mYnxsQsJhzeBfvJWZ14wm5P77TMkX9ki3k5dlt obDXLVrzoOJ+vpyo3Ujd39i6LoOq+DwU6BvnZr4zJXs2H2OqsbTasUSgir8ZynchudJe WxlYwgmkoWcWudbXvRtn/Z1fOKtwbfU4y/vLoS2RjMcxzVp3dh49Ia40ey0EvryD3iC/ mmfw== X-Forwarded-Encrypted: i=1; AJvYcCX4aKdAzAEiH3geX/OTfGumtBOSuYpe71Vh7DWg2zDlNOmfAH3nWZvLLOt7jE01t/bGi+Xx5o2ID7t5WduusIVyzSc= X-Gm-Message-State: AOJu0YzRwumtb5nrSGlcjGVnR5QCzQxeAiS5w16DQdjx+riiwjfVv5hV G1XTIxSflm+3Tu/jo/vEGeKYpvS8qhbjbQh9H/4bouxns9v4iOzdT8AsRZCphQ== X-Google-Smtp-Source: AGHT+IHRRIw0TKIKJPd7TTATQI7KUNnCwQkdTzS2vPZCS2AuBREI+ud00sZeDMvyyHCnnEpMYPYKgg== X-Received: by 2002:a17:902:e80f:b0:1ff:44be:b9ea with SMTP id d9443c01a7336-201ccb3bd9cmr809345ad.8.1723516329366; Mon, 12 Aug 2024 19:32:09 -0700 (PDT) Received: from [2620:0:1008:15:da50:c231:9581:2fe4] ([2620:0:1008:15:da50:c231:9581:2fe4]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-201cd1e285bsm3303115ad.303.2024.08.12.19.32.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Aug 2024 19:32:08 -0700 (PDT) Date: Mon, 12 Aug 2024 19:32:08 -0700 (PDT) From: David Rientjes To: Danilo Krummrich cc: akpm@linux-foundation.org, cl@linux.com, penberg@kernel.org, iamjoonsoo.kim@lge.com, vbabka@suse.cz, roman.gushchin@linux.dev, 42.hyeyoo@gmail.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH v2 1/2] mm: krealloc: consider spare memory for __GFP_ZERO In-Reply-To: <20240812223707.32049-1-dakr@kernel.org> Message-ID: <1f5ae113-3782-7351-ebec-c7f2e3cdb14a@google.com> References: <20240812223707.32049-1-dakr@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Stat-Signature: ds4ybu3gwu6f7yjd5k36wm8gybm97w38 X-Rspamd-Queue-Id: 1733D40010 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1723516330-121695 X-HE-Meta: U2FsdGVkX1+pU3yK8QC+sDT1CH5i7rbajJaNgFmC8epCf2M5NdyDHSA/VUHJyrdXKaq/4n7xrft/z7PWNn6NxaYkWN/aindlr1YQYOqAOzBFh3yarhi2o/JFXPGOmfOTvSeqHPhQIrLuElh0uRBpIY0wouqPW0l+2ppmaPwrpeEfTS1fiu0CKEdZIZ0t5iZFhK/KgUgHkS8tKrj9F8eAyHaXiIKX0OX5EwywJaGU8Vwpd1mP8DT67VYq+4QBF/l48XJeGyFbV/hnwCxBu29HCt0wYyPB+OlTe8uc7PPX+EetQRvhsyGmBUNn9ktKdJV52Ma6Jq/8vzUcZEQMFq2qd5TrYHpPzCV6yeNXRnhEXF4itG9S5Y6+feMz2X64I7bXvxqKf7EPCBUR7YmtKlmL7elj8sEqIvSvt7KV6Wj6D+U7DCEttGhnXkEgL2pArWjkj9zFJmbaMDawzS3sGxybAp9zGVCHSkpifpynp6fNOFsvxq6vL557KyFJtE9hvXJ5QHbF0yo1VsGJUryL0udesCSyqFVDp8eDIl82s7SE6iT8f/gJGYHFhKhc+RvsfiXCnLxaboGMiP3iAQNMyc3SFH2qfKVd+W4dL0n85SP7ELWNZYWJOZx5N8FBgYpNAEQmc/Q1w6NTtqBx4so5a8dzEMg8iRBu08GVzo1M8dkUiBzB+ezJ7zk6TZf2mrht7+b+2WG1XSUPxJPACZPh1Sudvp059wkgiWvBzT4a9HNZ5FifAO8ROFVU4bJlKvGYKhpCrLtPannXNAFQhOUGsbqv4m0JIvnqmlAVRgJ29kEV9sIpoke3o6JvVPIF3A6a7y7wYbrmDLH7m+sKTZ0DtNQ7NXm49R0t810rf5xmobf+M8jYrb0rWzlpluDlgCLejBHhMr6uGTsC1EV5mALA9H3Y/HhpYOBL+nW+qn2f2vOtyO4DveoZj0NvYvPcg1IHRdZBOSpfyr458bJ2JB1GjvT hEqLNep3 UkBJ2FttLYDXkf0z7FUJoeuXm7JoZe1kVcb9uv735qe/X7HZItj9M4KuNMNU54w3tSC3qkpd5c0eBT6h01CrQfPjDOl+B15IQUs/yTSuqKkf2ugNm+aLN5m+igfMjxkr5WEQNaunBHoC5D6Lznc8hI3p7k7NZpYqrp0cEwFod9HJk5p0QDX9KPYV62oIq5xsN2M0l+N8E57Ve7jJDRduPDAjSvb/hlRbxF3gN9zRQkK81wCXPTTTk1Na7tClhZkr9ogVGcTDdiTJI73nMwffSbgw0k6W/AM6LTy+k65TScqyc3pzmAPLMhFVuIi/fIRnWF6URijU0oNFxicPXEq7xI/ZgiBHCpr4hJPbzSXCtYtlXr8IwGCQB9uFCNq++ULnUEG9cKOoUyA/V23SeIP8YLFw0Ls6DQ3Yn3OCvFECnpJm88tXjJYrI58S5bOZdqjt39z8Rrq1nlrWBWy0k4HXrx0Ivj+KF8ndNWotRim4YG4y4Re1Ip6XA0fAnTyd2Nvx1Cy6Y X-Bogosity: Ham, tests=bogofilter, spamicity=0.019912, 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 Tue, 13 Aug 2024, Danilo Krummrich wrote: > As long as krealloc() is called with __GFP_ZERO consistently, starting > with the initial memory allocation, __GFP_ZERO should be fully honored. > > However, if for an existing allocation krealloc() is called with a > decreased size, it is not ensured that the spare portion the allocation > is zeroed. Thus, if krealloc() is subsequently called with a larger size > again, __GFP_ZERO can't be fully honored, since we don't know the > previous size, but only the bucket size. > > Example: > > buf = kzalloc(64, GFP_KERNEL); > memset(buf, 0xff, 64); > > buf = krealloc(buf, 48, GFP_KERNEL | __GFP_ZERO); > > /* After this call the last 16 bytes are still 0xff. */ > buf = krealloc(buf, 64, GFP_KERNEL | __GFP_ZERO); > > Fix this, by explicitly setting spare memory to zero, when shrinking an > allocation with __GFP_ZERO flag set or init_on_alloc enabled. > > Acked-by: Vlastimil Babka > Signed-off-by: Danilo Krummrich Acked-by: David Rientjes