forked from luck/tmp_suning_uos_patched
sysctl: use bitmap library functions
Use bitmap_set() instead of using set_bit() for each bit. This conversion is valid because the bitmap is private in the function call and atomic bitops were unnecessary. This also includes minor change. - Use bitmap_copy() for shorter typing Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
423a5bb49e
commit
5a04cca6c3
@ -23,6 +23,7 @@
|
|||||||
#include <linux/swap.h>
|
#include <linux/swap.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/sysctl.h>
|
#include <linux/sysctl.h>
|
||||||
|
#include <linux/bitmap.h>
|
||||||
#include <linux/signal.h>
|
#include <linux/signal.h>
|
||||||
#include <linux/printk.h>
|
#include <linux/printk.h>
|
||||||
#include <linux/proc_fs.h>
|
#include <linux/proc_fs.h>
|
||||||
@ -2393,9 +2394,7 @@ int proc_do_large_bitmap(struct ctl_table *table, int write,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
while (val_a <= val_b)
|
bitmap_set(tmp_bitmap, val_a, val_b - val_a + 1);
|
||||||
set_bit(val_a++, tmp_bitmap);
|
|
||||||
|
|
||||||
first = 0;
|
first = 0;
|
||||||
proc_skip_char(&kbuf, &left, '\n');
|
proc_skip_char(&kbuf, &left, '\n');
|
||||||
}
|
}
|
||||||
@ -2438,8 +2437,7 @@ int proc_do_large_bitmap(struct ctl_table *table, int write,
|
|||||||
if (*ppos)
|
if (*ppos)
|
||||||
bitmap_or(bitmap, bitmap, tmp_bitmap, bitmap_len);
|
bitmap_or(bitmap, bitmap, tmp_bitmap, bitmap_len);
|
||||||
else
|
else
|
||||||
memcpy(bitmap, tmp_bitmap,
|
bitmap_copy(bitmap, tmp_bitmap, bitmap_len);
|
||||||
BITS_TO_LONGS(bitmap_len) * sizeof(unsigned long));
|
|
||||||
}
|
}
|
||||||
kfree(tmp_bitmap);
|
kfree(tmp_bitmap);
|
||||||
*lenp -= left;
|
*lenp -= left;
|
||||||
|
Loading…
Reference in New Issue
Block a user