Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 89ecf38c authored by Anton Altaparmakov's avatar Anton Altaparmakov
Browse files

NTFS: Mask out __GFP_HIGHMEM when doing kmalloc() in __ntfs_malloc() as it


      otherwise causes a BUG().

Signed-off-by: default avatarAnton Altaparmakov <aia21@cantab.net>
parent 5d46770f
Loading
Loading
Loading
Loading
+0 −3
Original line number Original line Diff line number Diff line
@@ -34,9 +34,6 @@ ToDo/Notes:
	  journals with two different restart pages.  We sanity check both and
	  journals with two different restart pages.  We sanity check both and
	  either use the only sane one or the more recent one of the two in the
	  either use the only sane one or the more recent one of the two in the
	  case that both are valid.
	  case that both are valid.
	- Modify fs/ntfs/malloc.h::ntfs_malloc_nofs() to do the kmalloc() based
	  allocations with __GFP_HIGHMEM, analogous to how the vmalloc() based
	  allocations are done.
	- Add fs/ntfs/malloc.h::ntfs_malloc_nofs_nofail() which is analogous to
	- Add fs/ntfs/malloc.h::ntfs_malloc_nofs_nofail() which is analogous to
	  ntfs_malloc_nofs() but it performs allocations with __GFP_NOFAIL and
	  ntfs_malloc_nofs() but it performs allocations with __GFP_NOFAIL and
	  hence cannot fail.
	  hence cannot fail.
+1 −1
Original line number Original line Diff line number Diff line
@@ -45,7 +45,7 @@ static inline void *__ntfs_malloc(unsigned long size,
	if (likely(size <= PAGE_SIZE)) {
	if (likely(size <= PAGE_SIZE)) {
		BUG_ON(!size);
		BUG_ON(!size);
		/* kmalloc() has per-CPU caches so is faster for now. */
		/* kmalloc() has per-CPU caches so is faster for now. */
		return kmalloc(PAGE_SIZE, gfp_mask);
		return kmalloc(PAGE_SIZE, gfp_mask & ~__GFP_HIGHMEM);
		/* return (void *)__get_free_page(gfp_mask); */
		/* return (void *)__get_free_page(gfp_mask); */
	}
	}
	if (likely(size >> PAGE_SHIFT < num_physpages))
	if (likely(size >> PAGE_SHIFT < num_physpages))