From fae7ff2566e371a5e1b0ba5fefaa25e1b2e1382c Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 12 Sep 2023 14:06:19 +0200 Subject: [PATCH] 5.4-stable patches added patches: udf-initialize-newblock-to-0.patch --- queue-5.4/series | 1 + queue-5.4/udf-initialize-newblock-to-0.patch | 53 ++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 queue-5.4/udf-initialize-newblock-to-0.patch diff --git a/queue-5.4/series b/queue-5.4/series index 538609414ca..52d42efa006 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -237,3 +237,4 @@ cpufreq-brcmstb-avs-cpufreq-fix-warray-bounds-bug.patch sc16is7xx-set-iobase-to-device-index.patch serial-sc16is7xx-fix-broken-port-0-uart-init.patch usb-typec-tcpci-clear-the-fault-status-bit.patch +udf-initialize-newblock-to-0.patch diff --git a/queue-5.4/udf-initialize-newblock-to-0.patch b/queue-5.4/udf-initialize-newblock-to-0.patch new file mode 100644 index 00000000000..7cf291a5d25 --- /dev/null +++ b/queue-5.4/udf-initialize-newblock-to-0.patch @@ -0,0 +1,53 @@ +From 23970a1c9475b305770fd37bebfec7a10f263787 Mon Sep 17 00:00:00 2001 +From: Tom Rix +Date: Fri, 30 Dec 2022 12:53:41 -0500 +Subject: udf: initialize newblock to 0 + +From: Tom Rix + +commit 23970a1c9475b305770fd37bebfec7a10f263787 upstream. + +The clang build reports this error +fs/udf/inode.c:805:6: error: variable 'newblock' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized] + if (*err < 0) + ^~~~~~~~ +newblock is never set before error handling jump. +Initialize newblock to 0 and remove redundant settings. + +Fixes: d8b39db5fab8 ("udf: Handle error when adding extent to a file") +Reported-by: Nathan Chancellor +Signed-off-by: Tom Rix +Signed-off-by: Jan Kara +Message-Id: <20221230175341.1629734-1-trix@redhat.com> +Signed-off-by: Greg Kroah-Hartman +--- + fs/udf/inode.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +--- a/fs/udf/inode.c ++++ b/fs/udf/inode.c +@@ -698,7 +698,7 @@ static sector_t inode_getblk(struct inod + struct kernel_lb_addr eloc, tmpeloc; + int c = 1; + loff_t lbcount = 0, b_off = 0; +- udf_pblk_t newblocknum, newblock; ++ udf_pblk_t newblocknum, newblock = 0; + sector_t offset = 0; + int8_t etype; + struct udf_inode_info *iinfo = UDF_I(inode); +@@ -801,7 +801,6 @@ static sector_t inode_getblk(struct inod + ret = udf_do_extend_file(inode, &prev_epos, laarr, hole_len); + if (ret < 0) { + *err = ret; +- newblock = 0; + goto out_free; + } + c = 0; +@@ -864,7 +863,6 @@ static sector_t inode_getblk(struct inod + goal, err); + if (!newblocknum) { + *err = -ENOSPC; +- newblock = 0; + goto out_free; + } + if (isBeyondEOF) -- 2.47.3