Patch "erofs: avoid debugging output for (de)compressed data" has been added to the 6.6-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    erofs: avoid debugging output for (de)compressed data

to the 6.6-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     erofs-avoid-debugging-output-for-de-compressed-data.patch
and it can be found in the queue-6.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 9b7b5305ec050bcf10976bde07b754ab03d7f3a9
Author: Gao Xiang <xiang@xxxxxxxxxx>
Date:   Wed Dec 27 23:19:03 2023 +0800

    erofs: avoid debugging output for (de)compressed data
    
    [ Upstream commit 496530c7c1dfc159d59a75ae00b572f570710c53 ]
    
    Syzbot reported a KMSAN warning,
    erofs: (device loop0): z_erofs_lz4_decompress_mem: failed to decompress -12 in[46, 4050] out[917]
    =====================================================
    BUG: KMSAN: uninit-value in hex_dump_to_buffer+0xae9/0x10f0 lib/hexdump.c:194
      ..
      print_hex_dump+0x13d/0x3e0 lib/hexdump.c:276
      z_erofs_lz4_decompress_mem fs/erofs/decompressor.c:252 [inline]
      z_erofs_lz4_decompress+0x257e/0x2a70 fs/erofs/decompressor.c:311
      z_erofs_decompress_pcluster fs/erofs/zdata.c:1290 [inline]
      z_erofs_decompress_queue+0x338c/0x6460 fs/erofs/zdata.c:1372
      z_erofs_runqueue+0x36cd/0x3830
      z_erofs_read_folio+0x435/0x810 fs/erofs/zdata.c:1843
    
    The root cause is that the printed decompressed buffer may be filled
    incompletely due to decompression failure.  Since they were once only
    used for debugging, get rid of them now.
    
    Reported-and-tested-by: syzbot+6c746eea496f34b3161d@xxxxxxxxxxxxxxxxxxxxxxxxx
    Closes: https://lore.kernel.org/r/000000000000321c24060d7cfa1c@xxxxxxxxxx
    Reviewed-by: Yue Hu <huyue2@xxxxxxxxxxx>
    Signed-off-by: Gao Xiang <hsiangkao@xxxxxxxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20231227151903.2900413-1-hsiangkao@xxxxxxxxxxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/fs/erofs/decompressor.c b/fs/erofs/decompressor.c
index d36b3963c0bf3..aa59788a61e6e 100644
--- a/fs/erofs/decompressor.c
+++ b/fs/erofs/decompressor.c
@@ -248,15 +248,9 @@ static int z_erofs_lz4_decompress_mem(struct z_erofs_lz4_decompress_ctx *ctx,
 	if (ret != rq->outputsize) {
 		erofs_err(rq->sb, "failed to decompress %d in[%u, %u] out[%u]",
 			  ret, rq->inputsize, inputmargin, rq->outputsize);
-
-		print_hex_dump(KERN_DEBUG, "[ in]: ", DUMP_PREFIX_OFFSET,
-			       16, 1, src + inputmargin, rq->inputsize, true);
-		print_hex_dump(KERN_DEBUG, "[out]: ", DUMP_PREFIX_OFFSET,
-			       16, 1, out, rq->outputsize, true);
-
 		if (ret >= 0)
 			memset(out + ret, 0, rq->outputsize - ret);
-		ret = -EIO;
+		ret = -EFSCORRUPTED;
 	} else {
 		ret = 0;
 	}




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux