All of lore.kernel.org
 help / color / mirror / Atom feed
From: Disha Goel <disgoel@linux.ibm.com>
To: fstests@vger.kernel.org
Cc: ojaswin@linux.ibm.com, Disha Goel <disgoel@linux.ibm.com>
Subject: [PATCH] generic/735: improve test by incorporating extra hints
Date: Tue, 19 Mar 2024 16:46:13 +0530	[thread overview]
Message-ID: <20240319111613.11029-1-disgoel@linux.ibm.com> (raw)

On power systems with 64k block size (where default page size is 64k) we
encountered a kernel oops due to an integer overflow issue when writing
near the last logical block of a file. The allocator could allocate a
range where the end exceeds the maximum supported logical block
(UINT32_MAX), leading to a subsequent BUG_ON. This issue has been
addressed in the upstream kernel with commit 2dcf5fde6dff
("ext4: prevent the normalized size from exceeding EXT_MAX_BLOCKS").

	==================================================
	kernel BUG at fs/ext4/mballoc.c:4448!
	Oops: Exception in kernel mode, sig: 5 [#1]
	CPU: 8 PID: 2880554 Comm: xfs_io
	NIP ext4_mb_use_inode_pa+0x110/0x160 [ext4]
	LR ext4_mb_use_inode_pa+0xac/0x160 [ext4]
	Call Trace:
		ext4_mb_new_inode_pa+0x134/0x3a0 [ext4]
		ext4_mb_try_best_found+0x158/0x280 [ext4]
		ext4_mb_regular_allocator+0x16c/0x940 [ext4]
		ext4_mb_new_blocks+0x610/0x960 [ext4]
		ext4_ext_map_blocks+0x858/0xa90 [ext4]
		ext4_map_blocks+0x218/0x800 [ext4]
		ext4_iomap_alloc+0x10c/0x260 [ext4]
		ext4_iomap_begin+0xfc/0x1f0 [ext4]
		iomap_iter+0xf0/0x190
		__iomap_dio_rw+0x208/0x690
		iomap_dio_rw+0x20/0x80
		ext4_dio_write_iter+0x210/0x4d0 [ext4]
		vfs_write+0x364/0x4e0
		sys_pwrite64+0xd4/0x120
		system_call_exception+0x164/0x310
		system_call_vectored_common+0xe8/0x278
	==================================================

This test has been extended to provide a hint about the relevant fix
in case of failure.

Signed-off-by: Disha Goel <disgoel@linux.ibm.com>
---
 tests/generic/735 | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/tests/generic/735 b/tests/generic/735
index 75b23d5e..0ba111a6 100755
--- a/tests/generic/735
+++ b/tests/generic/735
@@ -6,16 +6,19 @@
 #
 # Append writes to a file with logical block numbers close to 0xffffffff
 # and observe if a kernel crash is caused by ext4_lblk_t overflow triggering
-# BUG_ON at ext4_mb_new_inode_pa(). This is a regression test for commit
-# bc056e7163ac ("ext4: fix BUG in ext4_mb_new_inode_pa() due to overflow")
-#
+# BUG_ON at ext4_mb_new_inode_pa(). This is a regression test for
+# commit bc056e7163ac ("ext4: fix BUG in ext4_mb_new_inode_pa() due to overflow")
+# commit 2dcf5fde6dff ("ext4: prevent the normalized size from exceeding EXT_MAX_BLOCKS")
+
 . ./common/preamble
 . ./common/populate
 _begin_fstest auto quick insert prealloc
 
 # real QA test starts here
-[[ "$FSTYP" =~ ext[0-9]+ ]] && _fixed_by_kernel_commit bc056e7163ac \
-	"ext4: fix BUG in ext4_mb_new_inode_pa() due to overflow"
+if [[ "$FSTYP" =~ ext[0-9]+ ]]; then
+	_fixed_by_kernel_commit bc056e7163ac "ext4: fix BUG in ext4_mb_new_inode_pa() due to overflow"
+	_fixed_by_kernel_commit 2dcf5fde6dff "ext4: prevent the normalized size from exceeding EXT_MAX_BLOCKS"
+fi
 
 _require_odirect
 _require_xfs_io_command "falloc"
-- 
2.39.1


             reply	other threads:[~2024-03-19 11:16 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-19 11:16 Disha Goel [this message]
2024-03-29  5:52 ` [PATCH] generic/735: improve test by incorporating extra hints Disha Goel
2024-03-30  6:54 ` Zorro Lang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240319111613.11029-1-disgoel@linux.ibm.com \
    --to=disgoel@linux.ibm.com \
    --cc=fstests@vger.kernel.org \
    --cc=ojaswin@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.