Code Review
/
kvmfornfv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Kernel bump from 4.1.3-rt to 4.1.7-rt.
[kvmfornfv.git]
/
kernel
/
lib
/
bitmap.c
diff --git
a/kernel/lib/bitmap.c
b/kernel/lib/bitmap.c
index
64c0926
..
40162f8
100644
(file)
--- a/
kernel/lib/bitmap.c
+++ b/
kernel/lib/bitmap.c
@@
-506,12
+506,12
@@
static int __bitmap_parselist(const char *buf, unsigned int buflen,
unsigned a, b;
int c, old_c, totaldigits;
const char __user __force *ubuf = (const char __user __force *)buf;
unsigned a, b;
int c, old_c, totaldigits;
const char __user __force *ubuf = (const char __user __force *)buf;
- int
exp_digi
t, in_range;
+ int
at_star
t, in_range;
totaldigits = c = 0;
bitmap_zero(maskp, nmaskbits);
do {
totaldigits = c = 0;
bitmap_zero(maskp, nmaskbits);
do {
-
exp_digi
t = 1;
+
at_star
t = 1;
in_range = 0;
a = b = 0;
in_range = 0;
a = b = 0;
@@
-540,11
+540,10
@@
static int __bitmap_parselist(const char *buf, unsigned int buflen,
break;
if (c == '-') {
break;
if (c == '-') {
- if (
exp_digi
t || in_range)
+ if (
at_star
t || in_range)
return -EINVAL;
b = 0;
in_range = 1;
return -EINVAL;
b = 0;
in_range = 1;
- exp_digit = 1;
continue;
}
continue;
}
@@
-554,16
+553,18
@@
static int __bitmap_parselist(const char *buf, unsigned int buflen,
b = b * 10 + (c - '0');
if (!in_range)
a = b;
b = b * 10 + (c - '0');
if (!in_range)
a = b;
-
exp_digi
t = 0;
+
at_star
t = 0;
totaldigits++;
}
if (!(a <= b))
return -EINVAL;
if (b >= nmaskbits)
return -ERANGE;
totaldigits++;
}
if (!(a <= b))
return -EINVAL;
if (b >= nmaskbits)
return -ERANGE;
- while (a <= b) {
- set_bit(a, maskp);
- a++;
+ if (!at_start) {
+ while (a <= b) {
+ set_bit(a, maskp);
+ a++;
+ }
}
} while (buflen && c == ',');
return 0;
}
} while (buflen && c == ',');
return 0;