projects
/
linux-2.6-microblaze.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
d9f49c3
)
bcachefs: Fix incorrect gfp flags
author
Kent Overstreet
<kent.overstreet@linux.dev>
Sat, 17 Aug 2024 21:38:43 +0000
(17:38 -0400)
committer
Kent Overstreet
<kent.overstreet@linux.dev>
Mon, 19 Aug 2024 00:42:05 +0000
(20:42 -0400)
fixes:
00488 WARNING: CPU: 9 PID: 194 at mm/page_alloc.c:4410 __alloc_pages_noprof+0x1818/0x1888
00488 Modules linked in:
00488 CPU: 9 UID: 0 PID: 194 Comm: kworker/u66:1 Not tainted
6.11.0-rc1-ktest-g18fa10d6495f
#2931
00488 Hardware name: linux,dummy-virt (DT)
00488 Workqueue: writeback wb_workfn (flush-bcachefs-2)
00488 pstate:
20001005
(nzCv daif -PAN -UAO -TCO -DIT +SSBS BTYPE=--)
00488 pc : __alloc_pages_noprof+0x1818/0x1888
00488 lr : __alloc_pages_noprof+0x5f4/0x1888
00488 sp :
ffffff80ccd8ed00
00488 x29:
ffffff80ccd8ed00
x28:
0000000000000000
x27:
dfffffc000000000
00488 x26:
0000000000000010
x25:
0000000000000002
x24:
0000000000000000
00488 x23:
0000000000000000
x22:
1ffffff0199b1dbe
x21:
ffffff80cc680900
00488 x20:
0000000000000000
x19:
ffffff80ccd8eed0
x18:
0000000000000000
00488 x17:
ffffff80cc58a010
x16:
dfffffc000000000
x15:
1ffffff00474e518
00488 x14:
1ffffff00474e518
x13:
1ffffff00474e518
x12:
ffffffb8104701b9
00488 x11:
1ffffff8104701b8
x10:
ffffffb8104701b8
x9 :
ffffffc08043cde8
00488 x8 :
00000047efb8fe48
x7 :
ffffff80ccd8ee20
x6 :
0000000000048000
00488 x5 :
1ffffff810470138
x4 :
0000000000000050
x3 :
1ffffff0199b1d94
00488 x2 :
ffffffb0199b1d94
x1 :
0000000000000001
x0 :
ffffffc082387448
00488 Call trace:
00488 __alloc_pages_noprof+0x1818/0x1888
00488 new_slab+0x284/0x2f0
00488 ___slab_alloc+0x208/0x8e0
00488 __kmalloc_noprof+0x328/0x340
00488 __bch2_writepage+0x106c/0x1830
00488 write_cache_pages+0xa0/0xe8
due to __GFP_NOFAIL without allowing reclaim
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/fs-io-buffered.c
patch
|
blob
|
history
diff --git
a/fs/bcachefs/fs-io-buffered.c
b/fs/bcachefs/fs-io-buffered.c
index
cc33d76
..
184d038
100644
(file)
--- a/
fs/bcachefs/fs-io-buffered.c
+++ b/
fs/bcachefs/fs-io-buffered.c
@@
-534,7
+534,7
@@
do_io:
if (f_sectors > w->tmp_sectors) {
kfree(w->tmp);
- w->tmp = kcalloc(f_sectors, sizeof(struct bch_folio_sector), __GFP_NOFAIL);
+ w->tmp = kcalloc(f_sectors, sizeof(struct bch_folio_sector),
GFP_NOFS|
__GFP_NOFAIL);
w->tmp_sectors = f_sectors;
}