]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
jbd2: gracefully abort instead of panicking on unlocked buffer
authorMilos Nikic <nikic.milos@gmail.com>
Wed, 4 Mar 2026 17:20:15 +0000 (09:20 -0800)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 9 Apr 2026 14:46:36 +0000 (10:46 -0400)
commit64924362f833fd15d75d2b8fc771eff9646c0933
tree3d9b82e9113c72c06798bf14c9d1d4ad70eb86f8
parentaf1502f98e2cdd43504596cd438f3aa6d0be8712
jbd2: gracefully abort instead of panicking on unlocked buffer

In jbd2_journal_get_create_access(), if the caller passes an unlocked
buffer, the code currently triggers a fatal J_ASSERT.

While an unlocked buffer here is a clear API violation and a bug in the
caller, crashing the entire system is an overly severe response. It brings
down the whole machine for a localized filesystem inconsistency.

Replace the J_ASSERT with a WARN_ON_ONCE to capture the offending caller's
stack trace, and return an error (-EINVAL). This allows the journal to
gracefully abort the transaction, protecting data integrity without
causing a kernel panic.

Signed-off-by: Milos Nikic <nikic.milos@gmail.com>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
Link: https://patch.msgid.link/20260304172016.23525-2-nikic.milos@gmail.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/jbd2/transaction.c