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:
8cad3e2
)
bcachefs: Fix stack corruption
author
Kent Overstreet
<kent.overstreet@gmail.com>
Tue, 27 Oct 2020 18:10:52 +0000
(14:10 -0400)
committer
Kent Overstreet
<kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:45 +0000
(17:08 -0400)
A bkey_on_stack_realloc() call was in the wrong place, and broken for
indirect extents
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/fs.c
patch
|
blob
|
history
diff --git
a/fs/bcachefs/fs.c
b/fs/bcachefs/fs.c
index
5119266
..
2ed80ef
100644
(file)
--- a/
fs/bcachefs/fs.c
+++ b/
fs/bcachefs/fs.c
@@
-921,9
+921,7
@@
retry:
bkey_start_offset(k.k);
sectors = k.k->size - offset_into_extent;
- bkey_on_stack_realloc(&cur, c, k.k->u64s);
- bkey_on_stack_realloc(&prev, c, k.k->u64s);
- bkey_reassemble(cur.k, k);
+ bkey_on_stack_reassemble(&cur, c, k);
ret = bch2_read_indirect_extent(&trans,
&offset_into_extent, &cur);
@@
-931,6
+929,7
@@
retry:
break;
k = bkey_i_to_s_c(cur.k);
+ bkey_on_stack_realloc(&prev, c, k.k->u64s);
sectors = min(sectors, k.k->size - offset_into_extent);