From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C34BC3ED118 for ; Mon, 27 Apr 2026 18:40:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777315227; cv=none; b=MT0I7ltIBMQPTuZ9GX3duHmzgFUoDIJQBjMCCkdl75zJGy8K4LyvaHThA0t+fuYtxRuzCuaDCXGuddZbWIG0GTSXQ/nIHD+FSf5edZwEGBxTcT4r229JGFtgoEbtlaPTQW2WmFlkd87JGU6dlV7S8HOqqmq00pqJxwYr+/pKtrE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777315227; c=relaxed/simple; bh=1Knkergunfn/Q2UF4oD0saaYtIb9ujPoX9yCvJEDe+I=; h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References: Content-Type:MIME-Version; b=mwlmae7lU83MhdPk7OfcQv53DyGJvrMPLFC4SlVUJH3q9Wju9qTDkfvHbAYwX6jBDqH2i2s/AHtJHAz7QYlNxvn5aT28wZLbU1lDLVP2FPAb/MzxHFGBUOxFwy58aNc7RF3BSLAGnuHUf7aBftqVuC/ys9u2TdxXBT4H68drIgY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=b+RZX2IK; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=l7fZNvQz; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="b+RZX2IK"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="l7fZNvQz" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1777315223; 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=2PlvWh0ZxnEKw7Nj4k3LyalqqSH/DjFTuRi+c7QidSo=; b=b+RZX2IKAPwXNPXdo6f4mHiIhPhoyJcKTjTLflquz/60EiOU0Gvhg5cKG1BROSpLchzez4 DixKJe56bCit55gT6XaQCLdNbx+cnDb3qkO3hA4NMiiKwrd38hF5l+ZlbBj+NXl/U5g81/ tH/kXvJARG7x15s5aWr6jFwRlOOodO8= Received: from mail-yw1-f199.google.com (mail-yw1-f199.google.com [209.85.128.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-155-5e3TH58TPFml9yK1umOVWQ-1; Mon, 27 Apr 2026 14:40:22 -0400 X-MC-Unique: 5e3TH58TPFml9yK1umOVWQ-1 X-Mimecast-MFC-AGG-ID: 5e3TH58TPFml9yK1umOVWQ_1777315222 Received: by mail-yw1-f199.google.com with SMTP id 00721157ae682-794b240c0d3so351795337b3.0 for ; Mon, 27 Apr 2026 11:40:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1777315222; x=1777920022; darn=vger.kernel.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=2PlvWh0ZxnEKw7Nj4k3LyalqqSH/DjFTuRi+c7QidSo=; b=l7fZNvQzs109rb63+37u/4LV25A4DnJ4k7eSehyv42GRzeXzlvWOzPGJfKn6K/UpYU 4E59zgS+DwC3nDMcmvCYulECoq+E+iv1hkBlj7XiiSYc1m3aZ5HBUTr8qLig+82CitDx NjC0eQIZyDF8OwJWm+Yp6dzIoPJ8VLeCMsuZPBb927IDHsGQiIiZRDDDL9hxANlGn44E BcW7uMslMLpI0a3UgIiKfNQALPedVzYu2iYvkDbM2GEThy2gdNu+0y+j50AnBgHIxfAm aCy8S+XivkagM0eHxybIhNipw8YYc/vA9/jEvxB3WmU4E3foXfWACOOm9XYm+DIglIzR V7Wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777315222; x=1777920022; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=2PlvWh0ZxnEKw7Nj4k3LyalqqSH/DjFTuRi+c7QidSo=; b=JJIugRc37nbvydLCDs8Smwt4I2KTIo9sOLGlSePUWLmCsg+iod6b+JdJocvMgqjvPB CSkd8vmog9iPg9khhwrnpuEvNbMkzM5w340Nkxp94C9nQStFZRDzWqZj43Q/BsAfNdf4 0/0VqiXYR2BwY2gjNwqtpGlmlfLqkpt+r0TB46BM8Sim2e4jyDoARlwEBdq3xgw3mznv KCqHiFX5F5NkEoxjZv1YtKW5NgZm2Reioyc7zfUhskGX9+PHu4QR5J1IhSkpe9SQj75u juK/9TAPTuciiV7kBDRqtppDWkU/+M57X2SFPfoGyzNu1E3owCGj9VDeMICNor5SJ7Fp 6y0Q== X-Forwarded-Encrypted: i=1; AFNElJ8NUylgOc/GugofVgc9XocGL0PJhKBljUCVS2wKwMadE5o6/EyVCi1g/hDH8WWCqFKCk8GyXztodxRRdVw=@vger.kernel.org X-Gm-Message-State: AOJu0YxBZxwEePZLdNNKLO/mu0aylE8t8s9tsnbtxdRh0xxsMYZIAmaH ZIzOJF/tY5bZVRms0uQgsxBOcIbVPpIT2tHA4BsV6znKH5mwaqOihiRao/aLWtv8ALkjDnQPmYW 8lKu52k8ZCC9lghlSLWvkWuah0eE0Lc4D/N75FpKSd3kazV5131kdJgJnMoRAWXN2GQ== X-Gm-Gg: AeBDiesHpE/X7Wl+YZD5IaTvfbzd/Wd2rucK1SfDvJV6QY8SSwi1MWxZBlw9UGPOZoZ vInFyxWNa89HUz30vTn4hoMO1OE+uLiaDhsgEqVbyYayB2KfBW2goW08mpYTPR5OzlQ7S6zoBYb s3s/fTQAdXnXxv4s/VYSy0BdRV1KVOccbv4VR3wJSFJUwm67qLABUzewUA146gs3ONiUaCAOb+k vE8gEgMboXquES6/WkSos+jMUij09GECBhu/3mGdYIK5niP+NOkibOMV6wHFCVdHF/Q2lJqv9st wBipEzTByKh8aq3QXnNm3N0fYE//pnlzgAKT9g/dqmpvQUgWBYgFLkdnoIXH6niCrC68LH1NTAH Y9XIzzaQib5Ix3A2+OAX4UdqOQjSAi9g85Bq2D6Na8EZ+GG3pWFa6TGah0t6asTc= X-Received: by 2002:a05:690c:e345:b0:796:335a:895 with SMTP id 00721157ae682-7bcee78a7cdmr3360687b3.6.1777315221900; Mon, 27 Apr 2026 11:40:21 -0700 (PDT) X-Received: by 2002:a05:690c:e345:b0:796:335a:895 with SMTP id 00721157ae682-7bcee78a7cdmr3360457b3.6.1777315221450; Mon, 27 Apr 2026 11:40:21 -0700 (PDT) Received: from li-4c4c4544-0032-4210-804c-c3c04f423534.ibm.com ([2600:1700:6476:1430::29]) by smtp.gmail.com with ESMTPSA id 00721157ae682-7bcf05e622esm813537b3.17.2026.04.27.11.40.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Apr 2026 11:40:21 -0700 (PDT) Message-ID: Subject: Re: [PATCH] hfs/hfxplus: use kzalloc_flex() From: Viacheslav Dubeyko To: Rosen Penev , linux-fsdevel@vger.kernel.org Cc: Viacheslav Dubeyko , John Paul Adrian Glaubitz , Yangtao Li , open list Date: Mon, 27 Apr 2026 11:40:19 -0700 In-Reply-To: <20260425014441.441252-1-rosenp@gmail.com> References: <20260425014441.441252-1-rosenp@gmail.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.58.3 (3.58.3-1.fc43app2) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 On Fri, 2026-04-24 at 18:44 -0700, Rosen Penev wrote: > Instead of doing the math manually, use kzalloc_flex() which does it in > a cleaner way. >=20 > Also clarifies which is the flexible array member. >=20 > Signed-off-by: Rosen Penev > --- > fs/hfs/bnode.c | 6 ++---- > fs/hfsplus/bnode.c | 6 ++---- > 2 files changed, 4 insertions(+), 8 deletions(-) >=20 > diff --git a/fs/hfs/bnode.c b/fs/hfs/bnode.c > index 13d58c51fc46..b0165de7640d 100644 > --- a/fs/hfs/bnode.c > +++ b/fs/hfs/bnode.c > @@ -344,7 +344,7 @@ static struct hfs_bnode *__hfs_bnode_create(struct hf= s_btree *tree, u32 cnid) > struct hfs_bnode *node, *node2; > struct address_space *mapping; > struct page *page; > - int size, block, i, hash; > + int block, i, hash; > loff_t off; > =20 > if (cnid >=3D tree->node_count) { > @@ -352,9 +352,7 @@ static struct hfs_bnode *__hfs_bnode_create(struct hf= s_btree *tree, u32 cnid) > return NULL; > } > =20 > - size =3D sizeof(struct hfs_bnode) + tree->pages_per_bnode * > - sizeof(struct page *); > - node =3D kzalloc(size, GFP_KERNEL); > + node =3D kzalloc_flex(*node, page, tree->pages_per_bnode, GFP_KERNEL); > if (!node) > return NULL; > node->tree =3D tree; > diff --git a/fs/hfsplus/bnode.c b/fs/hfsplus/bnode.c > index f8b5a8ae58ff..a717fa008ddd 100644 > --- a/fs/hfsplus/bnode.c > +++ b/fs/hfsplus/bnode.c > @@ -455,7 +455,7 @@ static struct hfs_bnode *__hfs_bnode_create(struct hf= s_btree *tree, u32 cnid) > struct hfs_bnode *node, *node2; > struct address_space *mapping; > struct page *page; > - int size, block, i, hash; > + int block, i, hash; > loff_t off; > =20 > if (cnid >=3D tree->node_count) { > @@ -464,9 +464,7 @@ static struct hfs_bnode *__hfs_bnode_create(struct hf= s_btree *tree, u32 cnid) > return NULL; > } > =20 > - size =3D sizeof(struct hfs_bnode) + tree->pages_per_bnode * > - sizeof(struct page *); > - node =3D kzalloc(size, GFP_KERNEL); > + node =3D kzalloc_flex(*node, page, tree->pages_per_bnode); > if (!node) > return NULL; > node->tree =3D tree; Makes sense. Reviewed-by: Viacheslav Dubeyko Thanks, Slava.