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 1D604CE7AF1 for ; Fri, 6 Sep 2024 09:26:10 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A2E256B0082; Fri, 6 Sep 2024 05:26:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9DE106B0088; Fri, 6 Sep 2024 05:26:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8D0836B0089; Fri, 6 Sep 2024 05:26:09 -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 6FE166B0082 for ; Fri, 6 Sep 2024 05:26:09 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 1CF12810D7 for ; Fri, 6 Sep 2024 09:26:09 +0000 (UTC) X-FDA: 82533782058.16.9F57685 Received: from mail-vk1-f173.google.com (mail-vk1-f173.google.com [209.85.221.173]) by imf27.hostedemail.com (Postfix) with ESMTP id 5BD0940009 for ; Fri, 6 Sep 2024 09:26:06 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=iPVN+yau; spf=pass (imf27.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.221.173 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1725614716; a=rsa-sha256; cv=none; b=CWxwQPuLYDzYiViUw+MlYUQhkZL0GboNRvVKGHONFgoGTGBlL6UCI9PigaCudY3wNJntLO mrklnZU/CmUNZolRjAoOlE5QCvR2iM9Gt2oy8KH9SlUbo1UCUzpxSX3x+fQeBWnvbX4qQ9 T/Ym2CHDqzzz4DeIiOKwV2H3xYmsHNQ= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=iPVN+yau; spf=pass (imf27.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.221.173 as permitted sender) smtp.mailfrom=21cnbao@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=1725614716; 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=1Gv7O8iFsLmZOem+ZGCytIr9AEh8K7CayQ/E2g4S4Is=; b=sgjZKSdUG/P1CjA5FodaJGM/UeTXQxkc0MbPrRdW9bVhkXOIVgE3znWZbdMXapWLqZMuey rBlQt4SaGS6RRuPeQ9Rf8S7fYQ71zLvKMJp+fEfq/sbrt9Wss8DWsyVq0qzcMlSEFISLmv xHrxdlG3YqBgUDZfJtJ3Bei1acj63IM= Received: by mail-vk1-f173.google.com with SMTP id 71dfb90a1353d-502adfff646so132640e0c.2 for ; Fri, 06 Sep 2024 02:26:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1725614765; x=1726219565; 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=1Gv7O8iFsLmZOem+ZGCytIr9AEh8K7CayQ/E2g4S4Is=; b=iPVN+yau/fX9Bh4xzSz4JShTGs8XoomCnrcDFDfb7RaFC0wBaKtO1m8wpnlV9JxJ39 eMrYSaw0ALUncNvDbBOSO8MpjT8LucpV+AZ17MRgI+xCJTPgFSXloaFymDBH+FmCZsJG LjOdW5s5T2a+v3+Mfk/8VbseVqx0xQdfpfn6655PipwApwutiUPjX5zbJee7PD9J+Ugr tXvYOANg9IS0Xh5W3nuw9eu6WyH/dybWwN6HDB+dySEUtA/8wAhluNXIJU/K/77Gyham hTXp4Z/mNuzos9QABr6WzbsEp7548Lo3HKKRurJXiF8Kd2SGANuefYOfP0rJT6gZ5QF9 laYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725614765; x=1726219565; 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=1Gv7O8iFsLmZOem+ZGCytIr9AEh8K7CayQ/E2g4S4Is=; b=ltBbnF5Ju1nomHpyReJQz3OpgnPhBh8ojojcpsPcnFW+Mbs4DgTkEIH7srdDt3XMt9 xFXzlNPcfHmQ12ivOo2ypKNO5qyfAysvKcY7O17qOR5u1Bx5vi63Mq0TQndI0aFYUVXt 58BxH9OEUpxKFPjLt8cB8tTcsdX2bENhiy/GbfpVGSG8jxmoVsG5Y8pjcuHsshf/ZYnK I3GY+GYn7IAEdMXhUj+HnY3Pif5QZz9MX4mV5ObtMyXVYj9By4slTJ+kPfeGVaRrylAg TgMfiOdI6I4ekkPyBYMn7SchVVNx/vSD/plYA2VDvXb9xVo9UhGfowiDEueoCJvJZnaM Qs+Q== X-Forwarded-Encrypted: i=1; AJvYcCUxVWqbv0zmIQp+G9Vq4VoXD6aEToKM42Ago5+9qoKaK9h1pUtG0bQRGq7jmD+ZvLlWvR6F5aiITA==@kvack.org X-Gm-Message-State: AOJu0YzvukJWdnR6pA//+VojW2YnxuuNxjxvyRFn5HDuWr0bqKB8KAW9 wB7EIlV3f6pM716uLATgfTe4vVUptjgx9wMwK4drjewiY50MzPE40KibFvYrAFKCT2JNeElY6mU lLZ+0PXZEoDYL3zUIYqO0NurhvZM= X-Google-Smtp-Source: AGHT+IEr/n+On170K0HW3Vn/ODvTisQwHHgr+zwDAYrGpv66t5zLaAjYy+fbepob8nfgh0T596y+2+5ItisBjEe+9hU= X-Received: by 2002:a05:6122:1da2:b0:4f6:e87d:5160 with SMTP id 71dfb90a1353d-502142567e3mr1764345e0c.9.1725614765322; Fri, 06 Sep 2024 02:26:05 -0700 (PDT) MIME-Version: 1.0 References: <20240906080047.21409-1-hailong.liu@oppo.com> In-Reply-To: <20240906080047.21409-1-hailong.liu@oppo.com> From: Barry Song <21cnbao@gmail.com> Date: Fri, 6 Sep 2024 21:25:50 +1200 Message-ID: Subject: Re: [PATCH] seq_file: replace kzalloc() with kvzalloc() To: Hailong Liu Cc: viro@zeniv.linux.org.uk, brauner@kernel.org, jack@suse.cz, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: 398ubus3e8gjo7bd8465y9a378s1gush X-Rspamd-Queue-Id: 5BD0940009 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1725614766-628260 X-HE-Meta: U2FsdGVkX187X1cAjlcCyTjpFn/Qd77Bf/zn6I+rafXy5gy0Pzz/rLIde4Q/DPOjMRLdfErHOC2H+Z47vHmh5LGjKWcBMgkYwxKeTcv0KdyxhGaJAjOSEvAd3XzBkrTAkB4uh08CcmkNd7nwRrLhu3DloE8A25QzEGSmQ7VK07qygOAbhj1PwSX1gUisD02ibxP/tdv60sZHOQrqdFD0KcFE1kRnZ5xmt/Cqd0wSii9h1JyqHJ7tfocf5P1GaJn/DazTm9UScauUl0e6AquIFxj5O4QCqDQ7n79bYbmRPX5drV60t7KYucrJpLRD0Pj9vx+Bpz5YdCEQFgEQBTta9JWJCZAhasLLfxf+1VyupOwqiF38qv9A0NQrED6JFvv6TQsnpa+KguS+/BjGfY0El2CifUjGLqlabhVtor+bZbOvlPs63Sv8qj7bM0bViFyWs6t2+pB9bp/jxQS2nCvL4fIBh1o10gmRJPwLuehQedfSMWjKbsdPOie2FJcgmpsUeYGQ/QA6YRE3f3vC0uC5WDefnLw9er8K1IVx2BMWV5N4i5XzHCZq7IpwOwtjNAw7T6URfT9L4B0x9Fmmfx16AG/9d0/ctN3chRffJQWxB+q0jNi/ycCV+TYLzLseZZggJnEyst8tu11Ult9bMC4kFjn8Jza5Je7u0TQDqxm4XT90m0doSUhi60jjKy5m/Rip3mA4CVgCWAlSUCyCBiMWLb99r8G/tppoqxG3fYR+GUR0tuuW7+TN5aqpNr0UJ/HFHifUSXYuX+lblkCijm6I6RKnFRDW8BLO7OguCZG7xHRLuiNONsp+XH13akP9V5fbR7OKULHt9DqubH6Sse5A9dgSxaz+vS6RuaOq6nVbgOPcvcigpgCXEJ7r27jQTJnyxwq5NaI8wEyaMPAJhkSQkemXJTi0N1WhM7hZPSAxOwaaoVqPhn1RXAmd7reSCkxeDcRJkttKLg6tZh9fEZ7 woN8HpEN VSJLhUCkJ6rEe1U+Ip3dUvPOp9DMjqp14kIz/shFik2DEYoghQO/D+fnKUY/xrAhy/gImSdCUn+FQwUTAAbFZZZ86xhg9vIP0XN3TcO2KRYfb407Qg88OxUKSW9k7Jc+KDJ2Kv8pskRsCSqztiras10HwsBG5Vu4FyBuRrFu56qSIIqsMHtcxz/W26EGw88wANabEZSHmU9hB2rQTlACb1mitewiN5FECA8nt8FkZfdmyQOsjEJicX6e2YH6Gtm3TVAOxdtRFI4WP6LuWFnbIIXRsaSM2BEaa/u4qixXJTwbCYgVMI6NGrDcAdmpTp/u0YYM/IQJ8nszPg8vZSp6TAa/0aEOBEAmy0ONXKyR/SDDM1o1GrKFEegXcUJYlf3skwoGb 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 Fri, Sep 6, 2024 at 8:06=E2=80=AFPM Hailong Liu w= rote: > > __seq_open_private() uses kzalloc() to allocate a private buffer. However= , > the size of the buffer might be greater than order-3, which may cause > allocation failure. To address this issue, use kvzalloc instead. In general, this patch seems sensible, but do we have a specific example of a driver that uses such a large amount of private data? Providing a real-world example of a driver with substantial private data co= uld make this patch more convincing:-) > > Signed-off-by: Hailong Liu > --- > fs/seq_file.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/fs/seq_file.c b/fs/seq_file.c > index e676c8b0cf5d..cf23143bbb65 100644 > --- a/fs/seq_file.c > +++ b/fs/seq_file.c > @@ -621,7 +621,7 @@ int seq_release_private(struct inode *inode, struct f= ile *file) > { > struct seq_file *seq =3D file->private_data; > > - kfree(seq->private); > + kvfree(seq->private); > seq->private =3D NULL; > return seq_release(inode, file); > } > @@ -634,7 +634,7 @@ void *__seq_open_private(struct file *f, const struct= seq_operations *ops, > void *private; > struct seq_file *seq; > > - private =3D kzalloc(psize, GFP_KERNEL_ACCOUNT); > + private =3D kvzalloc(psize, GFP_KERNEL_ACCOUNT); > if (private =3D=3D NULL) > goto out; > > @@ -647,7 +647,7 @@ void *__seq_open_private(struct file *f, const struct= seq_operations *ops, > return private; > > out_free: > - kfree(private); > + kvfree(private); > out: > return NULL; > } > -- > 2.30.0 > >