diff options
author | Filipe Manana <fdmanana@suse.com> | 2023-08-28 09:06:43 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2023-09-08 14:11:59 +0200 |
commit | 2c58c3931ede7cd08cbecf1f1a4acaf0a04a41a9 (patch) | |
tree | f49bbaaf628941c739874919ae9d9d84db7db6eb /drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c | |
parent | 91bfe3104b8db0310f76f2dcb6aacef24c889366 (diff) |
btrfs: remove BUG() after failure to insert delayed dir index item
Instead of calling BUG() when we fail to insert a delayed dir index item
into the delayed node's tree, we can just release all the resources we
have allocated/acquired before and return the error to the caller. This is
fine because all existing call chains undo anything they have done before
calling btrfs_insert_delayed_dir_index() or BUG_ON (when creating pending
snapshots in the transaction commit path).
So remove the BUG() call and do proper error handling.
This relates to a syzbot report linked below, but does not fix it because
it only prevents hitting a BUG(), it does not fix the issue where somehow
we attempt to use twice the same index number for different index items.
Link: https://lore.kernel.org/linux-btrfs/00000000000036e1290603e097e0@google.com/
CC: stable@vger.kernel.org # 5.4+
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c')
0 files changed, 0 insertions, 0 deletions