diff options
Diffstat (limited to 'lib/bitmap.c')
| -rw-r--r-- | lib/bitmap.c | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/bitmap.c b/lib/bitmap.c index 2f4412e4d07..0d4a127dd9b 100644 --- a/lib/bitmap.c +++ b/lib/bitmap.c @@ -419,7 +419,7 @@ int __bitmap_parse(const char *buf, unsigned int buflen,  {  	int c, old_c, totaldigits, ndigits, nchunks, nbits;  	u32 chunk; -	const char __user *ubuf = buf; +	const char __user __force *ubuf = (const char __user __force *)buf;  	bitmap_zero(maskp, nmaskbits); @@ -504,7 +504,9 @@ int bitmap_parse_user(const char __user *ubuf,  {  	if (!access_ok(VERIFY_READ, ubuf, ulen))  		return -EFAULT; -	return __bitmap_parse((const char *)ubuf, ulen, 1, maskp, nmaskbits); +	return __bitmap_parse((const char __force *)ubuf, +				ulen, 1, maskp, nmaskbits); +  }  EXPORT_SYMBOL(bitmap_parse_user); @@ -594,7 +596,7 @@ static int __bitmap_parselist(const char *buf, unsigned int buflen,  {  	unsigned a, b;  	int c, old_c, totaldigits; -	const char __user *ubuf = buf; +	const char __user __force *ubuf = (const char __user __force *)buf;  	int exp_digit, in_range;  	totaldigits = c = 0; @@ -694,7 +696,7 @@ int bitmap_parselist_user(const char __user *ubuf,  {  	if (!access_ok(VERIFY_READ, ubuf, ulen))  		return -EFAULT; -	return __bitmap_parselist((const char *)ubuf, +	return __bitmap_parselist((const char __force *)ubuf,  					ulen, 1, maskp, nmaskbits);  }  EXPORT_SYMBOL(bitmap_parselist_user);  |