NTFS: Mask out __GFP_HIGHMEM when doing kmalloc() in __ntfs_malloc() as it
otherwise causes a BUG(). Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
This commit is contained in:
parent
5d46770f5f
commit
89ecf38c7a
2 changed files with 1 additions and 4 deletions
|
@ -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,
|
||||||
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))
|
||||||
|
|
Loading…
Reference in a new issue