]> www.infradead.org Git - users/jedix/linux-maple.git/commit
btrfs: don't return VM_FAULT_SIGBUS on failure to set delalloc for mmap write
authorFilipe Manana <fdmanana@suse.com>
Wed, 14 May 2025 11:18:07 +0000 (12:18 +0100)
committerDavid Sterba <dsterba@suse.com>
Thu, 15 May 2025 16:24:37 +0000 (18:24 +0200)
commitd8cddf2a1d71ab9dea59822ccb9bbb780f50ce0a
tree98a20737cd657d3f16742be67e394a7154d93016
parenta08625f8250622f538641efa159a946b4b546165
btrfs: don't return VM_FAULT_SIGBUS on failure to set delalloc for mmap write

If the call to btrfs_set_extent_delalloc() fails we are always returning
VM_FAULT_SIGBUS, which is odd since the error means "bad access" and the
most likely cause for btrfs_set_extent_delalloc() is -ENOMEM, which should
be translated to VM_FAULT_OOM.

Instead of returning VM_FAULT_SIGBUS return vmf_error(ret2), which gives
us a more appropriate return value, and we use that everywhere else too.

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>
fs/btrfs/file.c