Kaynağa Gözat

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>

Anton Altaparmakov 19 yıl önce
ebeveyn
işleme
89ecf38c7a
2 değiştirilmiş dosya ile 1 ekleme ve 4 silme
  1. 0 3
      fs/ntfs/ChangeLog
  2. 1 1
      fs/ntfs/malloc.h

+ 0 - 3
fs/ntfs/ChangeLog

@@ -34,9 +34,6 @@ ToDo/Notes:
 	  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
 	  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
 	  ntfs_malloc_nofs() but it performs allocations with __GFP_NOFAIL and
 	  hence cannot fail.

+ 1 - 1
fs/ntfs/malloc.h

@@ -45,7 +45,7 @@ static inline void *__ntfs_malloc(unsigned long size,
 	if (likely(size <= PAGE_SIZE)) {
 		BUG_ON(!size);
 		/* 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); */
 	}
 	if (likely(size >> PAGE_SHIFT < num_physpages))