summaryrefslogtreecommitdiffstats
path: root/fs/ubifs/file.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2020-01-31 00:44:12 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2020-01-31 00:44:12 +0100
commite84bcd61f686d65956c9f54872778bb215059519 (patch)
treed51d2870e628bea30af37dde063ac2da0a3f1ac1 /fs/ubifs/file.c
parentMerge tag 'f2fs-for-5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/jae... (diff)
parentubi: Fix an error pointer dereference in error handling code (diff)
downloadlinux-e84bcd61f686d65956c9f54872778bb215059519.tar.xz
linux-e84bcd61f686d65956c9f54872778bb215059519.zip
Merge tag 'upstream-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs
Pull UBI/UBIFS updates from Miquel Raynal: "This pull request contains mostly fixes for UBI and UBIFS: UBI: - Fixes for memory leaks in error paths - Fix for an logic error in a fastmap selfcheck UBIFS: - Fix for FS_IOC_SETFLAGS related to fscrypt flag - Support for FS_ENCRYPT_FL - Fix for a dead lock in bulk-read mode" Sent on behalf of Richard Weinberger who is traveling. * tag 'upstream-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs: ubi: Fix an error pointer dereference in error handling code ubifs: Fix memory leak from c->sup_node ubifs: Fix ino_t format warnings in orphan_delete() ubifs: Fix deadlock in concurrent bulk-read and writepage ubifs: Fix wrong memory allocation ubi: Free the normal volumes in error paths of ubi_attach_mtd_dev() ubi: Check the presence of volume before call ubi_fastmap_destroy_checkmap() ubifs: Add support for FS_ENCRYPT_FL ubifs: Fix FS_IOC_SETFLAGS unexpectedly clearing encrypt flag ubi: wl: Remove set but not used variable 'prev_e' ubi: fastmap: Fix inverted logic in seen selfcheck
Diffstat (limited to 'fs/ubifs/file.c')
-rw-r--r--fs/ubifs/file.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c
index c8e8f50c6054..bc4dec5b1633 100644
--- a/fs/ubifs/file.c
+++ b/fs/ubifs/file.c
@@ -786,7 +786,9 @@ static int ubifs_do_bulk_read(struct ubifs_info *c, struct bu_info *bu,
if (page_offset > end_index)
break;
- page = find_or_create_page(mapping, page_offset, ra_gfp_mask);
+ page = pagecache_get_page(mapping, page_offset,
+ FGP_LOCK|FGP_ACCESSED|FGP_CREAT|FGP_NOWAIT,
+ ra_gfp_mask);
if (!page)
break;
if (!PageUptodate(page))