| .. | .. | 
|---|
| 69 | 69 |  	} | 
|---|
| 70 | 70 |  	sbi->map_sectors = ((need_map_size - 1) >> | 
|---|
| 71 | 71 |  			(sb->s_blocksize_bits)) + 1; | 
|---|
| 72 |  | -	sbi->vol_amap = kmalloc_array(sbi->map_sectors,  | 
|---|
 | 72 | +	sbi->vol_amap = kvmalloc_array(sbi->map_sectors,  | 
|---|
| 73 | 73 |  				sizeof(struct buffer_head *), GFP_KERNEL); | 
|---|
| 74 | 74 |  	if (!sbi->vol_amap) | 
|---|
| 75 | 75 |  		return -ENOMEM; | 
|---|
| .. | .. | 
|---|
| 84 | 84 |  			while (j < i) | 
|---|
| 85 | 85 |  				brelse(sbi->vol_amap[j++]); | 
|---|
| 86 | 86 |   | 
|---|
| 87 |  | -			kfree(sbi->vol_amap);  | 
|---|
 | 87 | +			kvfree(sbi->vol_amap);  | 
|---|
| 88 | 88 |  			sbi->vol_amap = NULL; | 
|---|
| 89 | 89 |  			return -EIO; | 
|---|
| 90 | 90 |  		} | 
|---|
| .. | .. | 
|---|
| 138 | 138 |  	for (i = 0; i < sbi->map_sectors; i++) | 
|---|
| 139 | 139 |  		__brelse(sbi->vol_amap[i]); | 
|---|
| 140 | 140 |   | 
|---|
| 141 |  | -	kfree(sbi->vol_amap);  | 
|---|
 | 141 | +	kvfree(sbi->vol_amap);  | 
|---|
| 142 | 142 |  } | 
|---|
| 143 | 143 |   | 
|---|
| 144 | 144 |  int exfat_set_bitmap(struct inode *inode, unsigned int clu, bool sync) | 
|---|