From: Linus Torvalds Date: Wed, 2 Sep 2020 01:36:45 +0000 (-0700) Subject: Merge tag 'for-5.9-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave... X-Git-Tag: v5.9-rc4~38 X-Git-Url: https://repo.jachan.dev/linux.git/commitdiff_plain/dcdfd9cc28ddd356d24d5461119e4c1d19284ff5?hp=-c Merge tag 'for-5.9-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux Pull btrfs fixes from David Sterba: "Two small fixes and a bunch of lockdep fixes for warnings that show up with an upcoming tree locking update but are valid with current locks as well" * tag 'for-5.9-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: btrfs: tree-checker: fix the error message for transid error btrfs: set the lockdep class for log tree extent buffers btrfs: set the correct lockdep class for new nodes btrfs: allocate scrub workqueues outside of locks btrfs: fix potential deadlock in the search ioctl btrfs: drop path before adding new uuid tree entry btrfs: block-group: fix free-space bitmap threshold --- dcdfd9cc28ddd356d24d5461119e4c1d19284ff5 diff --combined fs/btrfs/extent_io.c index 6def411b2eba,c15ab6c1897f..a940edb1e64f --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@@ -4541,8 -4541,6 +4541,8 @@@ next /* once for us */ free_extent_map(em); + + cond_resched(); /* Allow large-extent preemption. */ } } return try_release_extent_state(tree, page, mask); @@@ -5655,9 -5653,9 +5655,9 @@@ void read_extent_buffer(const struct ex } } - int read_extent_buffer_to_user(const struct extent_buffer *eb, - void __user *dstv, - unsigned long start, unsigned long len) + int read_extent_buffer_to_user_nofault(const struct extent_buffer *eb, + void __user *dstv, + unsigned long start, unsigned long len) { size_t cur; size_t offset; @@@ -5677,7 -5675,7 +5677,7 @@@ cur = min(len, (PAGE_SIZE - offset)); kaddr = page_address(page); - if (copy_to_user(dst, kaddr + offset, cur)) { + if (copy_to_user_nofault(dst, kaddr + offset, cur)) { ret = -EFAULT; break; }