From 07d48a953778e39dbcf193d18a5bbc2e771a5add Mon Sep 17 00:00:00 2001 From: Tk-Glitch Date: Mon, 15 Jun 2020 04:38:59 +0200 Subject: [PATCH] linux58-rc-tkg: Add Ritesh Harjani's ext4 fix that didn't make it in time for RC1. Prevents tracing spam --- linux58-rc-tkg/PKGBUILD | 2 +- .../0003-glitched-base.patch | 61 +++++++++++++++++++ 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/linux58-rc-tkg/PKGBUILD b/linux58-rc-tkg/PKGBUILD index ed6217c..45d155e 100644 --- a/linux58-rc-tkg/PKGBUILD +++ b/linux58-rc-tkg/PKGBUILD @@ -124,7 +124,7 @@ sha256sums=('cc75371d1193f656bf02b7180908bbba8c0272c8316c1a90f81fbc97b77867bd' '66a03c246037451a77b4d448565b1d7e9368270c7d02872fbd0b5d024ed0a997' 'f6383abef027fd9a430fd33415355e0df492cdc3c90e9938bf2d98f4f63b32e6' 'd02bf5ca08fd610394b9d3a0c3b176d74af206f897dee826e5cbaec97bb4a4aa' - '3c30d6645680d4818240dcf61172777791533fea18d00d2208e9863a338f8555' + 'dd74083b69b4756a2a8c63b381d0fad056d41518b51ea8e4a59849eaea22defa' '7058e57fd68367b029adc77f2a82928f1433daaf02c8c279cb2d13556c8804d7' '62496f9ca788996181ef145f96ad26291282fcc3fb95cdc04080dcf84365be33' '7fd8e776209dac98627453fda754bdf9aff4a09f27cb0b3766d7983612eb3c74' diff --git a/linux58-rc-tkg/linux58-tkg-patches/0003-glitched-base.patch b/linux58-rc-tkg/linux58-tkg-patches/0003-glitched-base.patch index a83ceaf..248ce84 100644 --- a/linux58-rc-tkg/linux58-tkg-patches/0003-glitched-base.patch +++ b/linux58-rc-tkg/linux58-tkg-patches/0003-glitched-base.patch @@ -1444,3 +1444,64 @@ index d2fa3e9ccd97c..bd10cb02fc0ff 100644 if (!strcmp(str, "force")) force_load = 1; if (!strcmp(str, "hwp_only")) + +From 811985365378df01386c3cfb7ff716e74ca376d5 Mon Sep 17 00:00:00 2001 +From: Ritesh Harjani +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 +Tested-by: Marek Szyprowski +Signed-off-by: Ritesh Harjani +Reviewed-by: Christoph Hellwig +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 +--- + 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