diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2022-02-27 16:35:20 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2022-02-27 16:35:20 -0500 |
commit | fd1b84975b960d5e42963bed2c18b8c63d8abce7 (patch) | |
tree | 3d26878af8bcfe521135c7346f17a5e349fa25b4 | |
parent | 03498f946430c1fbb411f94af7f9a366f4a7cd51 (diff) |
Update bcachefs sources to ffad51ba45 bcachefs: Fix a use after free
-rw-r--r-- | .bcachefs_revision | 2 | ||||
-rw-r--r-- | libbcachefs/btree_update_leaf.c | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/.bcachefs_revision b/.bcachefs_revision index 6f4750b7..b1e0bf83 100644 --- a/.bcachefs_revision +++ b/.bcachefs_revision @@ -1 +1 @@ -04036b491089aeb4bac5d796ae1716d019564f7a +ffad51ba45f8c0785bbb2e2903715d825a8eea9a diff --git a/libbcachefs/btree_update_leaf.c b/libbcachefs/btree_update_leaf.c index 19cb6e1e..ee978f33 100644 --- a/libbcachefs/btree_update_leaf.c +++ b/libbcachefs/btree_update_leaf.c @@ -387,7 +387,12 @@ btree_key_can_insert_cached(struct btree_trans *trans, */ trace_trans_restart_key_cache_key_realloced(trans->fn, _RET_IP_, path->btree_id, &path->pos); - return btree_trans_restart(trans); + /* + * Not using btree_trans_restart() because we can't unlock here, we have + * write locks held: + */ + trans->restarted = true; + return -EINTR; } static inline void do_btree_insert_one(struct btree_trans *trans, |