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

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
...@@ -34,9 +34,6 @@ ToDo/Notes: ...@@ -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.
......
...@@ -45,7 +45,7 @@ static inline void *__ntfs_malloc(unsigned long size, ...@@ -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))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment