linux58-rc-tkg: Add Ritesh Harjani's ext4 fix that didn't make it in time for RC1.
Prevents tracing spam
This commit is contained in:
parent
687f886abf
commit
07d48a9537
@ -124,7 +124,7 @@ sha256sums=('cc75371d1193f656bf02b7180908bbba8c0272c8316c1a90f81fbc97b77867bd'
|
|||||||
'66a03c246037451a77b4d448565b1d7e9368270c7d02872fbd0b5d024ed0a997'
|
'66a03c246037451a77b4d448565b1d7e9368270c7d02872fbd0b5d024ed0a997'
|
||||||
'f6383abef027fd9a430fd33415355e0df492cdc3c90e9938bf2d98f4f63b32e6'
|
'f6383abef027fd9a430fd33415355e0df492cdc3c90e9938bf2d98f4f63b32e6'
|
||||||
'd02bf5ca08fd610394b9d3a0c3b176d74af206f897dee826e5cbaec97bb4a4aa'
|
'd02bf5ca08fd610394b9d3a0c3b176d74af206f897dee826e5cbaec97bb4a4aa'
|
||||||
'3c30d6645680d4818240dcf61172777791533fea18d00d2208e9863a338f8555'
|
'dd74083b69b4756a2a8c63b381d0fad056d41518b51ea8e4a59849eaea22defa'
|
||||||
'7058e57fd68367b029adc77f2a82928f1433daaf02c8c279cb2d13556c8804d7'
|
'7058e57fd68367b029adc77f2a82928f1433daaf02c8c279cb2d13556c8804d7'
|
||||||
'62496f9ca788996181ef145f96ad26291282fcc3fb95cdc04080dcf84365be33'
|
'62496f9ca788996181ef145f96ad26291282fcc3fb95cdc04080dcf84365be33'
|
||||||
'7fd8e776209dac98627453fda754bdf9aff4a09f27cb0b3766d7983612eb3c74'
|
'7fd8e776209dac98627453fda754bdf9aff4a09f27cb0b3766d7983612eb3c74'
|
||||||
|
@ -1444,3 +1444,64 @@ index d2fa3e9ccd97c..bd10cb02fc0ff 100644
|
|||||||
if (!strcmp(str, "force"))
|
if (!strcmp(str, "force"))
|
||||||
force_load = 1;
|
force_load = 1;
|
||||||
if (!strcmp(str, "hwp_only"))
|
if (!strcmp(str, "hwp_only"))
|
||||||
|
|
||||||
|
From 811985365378df01386c3cfb7ff716e74ca376d5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ritesh Harjani <riteshh@linux.ibm.com>
|
||||||
|
Date: Tue, 9 Jun 2020 16:23:10 +0530
|
||||||
|
Subject: ext4: mballoc: Use this_cpu_read instead of this_cpu_ptr
|
||||||
|
|
||||||
|
Simplify reading a seq variable by directly using this_cpu_read API
|
||||||
|
instead of doing this_cpu_ptr and then dereferencing it.
|
||||||
|
|
||||||
|
This also avoid the below kernel BUG: which happens when
|
||||||
|
CONFIG_DEBUG_PREEMPT is enabled
|
||||||
|
|
||||||
|
BUG: using smp_processor_id() in preemptible [00000000] code: syz-fuzzer/6927
|
||||||
|
caller is ext4_mb_new_blocks+0xa4d/0x3b70 fs/ext4/mballoc.c:4711
|
||||||
|
CPU: 1 PID: 6927 Comm: syz-fuzzer Not tainted 5.7.0-next-20200602-syzkaller #0
|
||||||
|
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
|
||||||
|
Call Trace:
|
||||||
|
__dump_stack lib/dump_stack.c:77 [inline]
|
||||||
|
dump_stack+0x18f/0x20d lib/dump_stack.c:118
|
||||||
|
check_preemption_disabled+0x20d/0x220 lib/smp_processor_id.c:48
|
||||||
|
ext4_mb_new_blocks+0xa4d/0x3b70 fs/ext4/mballoc.c:4711
|
||||||
|
ext4_ext_map_blocks+0x201b/0x33e0 fs/ext4/extents.c:4244
|
||||||
|
ext4_map_blocks+0x4cb/0x1640 fs/ext4/inode.c:626
|
||||||
|
ext4_getblk+0xad/0x520 fs/ext4/inode.c:833
|
||||||
|
ext4_bread+0x7c/0x380 fs/ext4/inode.c:883
|
||||||
|
ext4_append+0x153/0x360 fs/ext4/namei.c:67
|
||||||
|
ext4_init_new_dir fs/ext4/namei.c:2757 [inline]
|
||||||
|
ext4_mkdir+0x5e0/0xdf0 fs/ext4/namei.c:2802
|
||||||
|
vfs_mkdir+0x419/0x690 fs/namei.c:3632
|
||||||
|
do_mkdirat+0x21e/0x280 fs/namei.c:3655
|
||||||
|
do_syscall_64+0x60/0xe0 arch/x86/entry/common.c:359
|
||||||
|
entry_SYSCALL_64_after_hwframe+0x44/0xa9
|
||||||
|
|
||||||
|
Fixes: 42f56b7a4a7d ("ext4: mballoc: introduce pcpu seqcnt for freeing PA
|
||||||
|
to improve ENOSPC handling")
|
||||||
|
Suggested-by: Borislav Petkov <bp@alien8.de>
|
||||||
|
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
|
||||||
|
Signed-off-by: Ritesh Harjani <riteshh@linux.ibm.com>
|
||||||
|
Reviewed-by: Christoph Hellwig <hch@lst.de>
|
||||||
|
Reported-by: syzbot+82f324bb69744c5f6969@syzkaller.appspotmail.com
|
||||||
|
Link: https://lore.kernel.org/r/534f275016296996f54ecf65168bb3392b6f653d.1591699601.git.riteshh@linux.ibm.com
|
||||||
|
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
|
||||||
|
---
|
||||||
|
fs/ext4/mballoc.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
|
||||||
|
index a9083113a8c0..c0a331e2feb0 100644
|
||||||
|
--- a/fs/ext4/mballoc.c
|
||||||
|
+++ b/fs/ext4/mballoc.c
|
||||||
|
@@ -4708,7 +4708,7 @@ ext4_fsblk_t ext4_mb_new_blocks(handle_t *handle,
|
||||||
|
}
|
||||||
|
|
||||||
|
ac->ac_op = EXT4_MB_HISTORY_PREALLOC;
|
||||||
|
- seq = *this_cpu_ptr(&discard_pa_seq);
|
||||||
|
+ seq = this_cpu_read(discard_pa_seq);
|
||||||
|
if (!ext4_mb_use_preallocated(ac)) {
|
||||||
|
ac->ac_op = EXT4_MB_HISTORY_ALLOC;
|
||||||
|
ext4_mb_normalize_request(ac, ar);
|
||||||
|
--
|
||||||
|
cgit 1.2.3-1.el7
|
||||||
|
Loading…
x
Reference in New Issue
Block a user