diff options
Diffstat (limited to 'kernel/sysctl.c')
| -rw-r--r-- | kernel/sysctl.c | 12 | 
1 files changed, 6 insertions, 6 deletions
diff --git a/kernel/sysctl.c b/kernel/sysctl.c index d48ff4fd44c3..52b3a06a02f8 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -23,6 +23,7 @@  #include <linux/swap.h>  #include <linux/slab.h>  #include <linux/sysctl.h> +#include <linux/bitmap.h>  #include <linux/signal.h>  #include <linux/printk.h>  #include <linux/proc_fs.h> @@ -68,6 +69,9 @@  #include <asm/stacktrace.h>  #include <asm/io.h>  #endif +#ifdef CONFIG_SPARC +#include <asm/setup.h> +#endif  #ifdef CONFIG_BSD_PROCESS_ACCT  #include <linux/acct.h>  #endif @@ -142,7 +146,6 @@ static const int cap_last_cap = CAP_LAST_CAP;  #include <linux/inotify.h>  #endif  #ifdef CONFIG_SPARC -#include <asm/system.h>  #endif  #ifdef CONFIG_SPARC64 @@ -2393,9 +2396,7 @@ int proc_do_large_bitmap(struct ctl_table *table, int write,  				}  			} -			while (val_a <= val_b) -				set_bit(val_a++, tmp_bitmap); - +			bitmap_set(tmp_bitmap, val_a, val_b - val_a + 1);  			first = 0;  			proc_skip_char(&kbuf, &left, '\n');  		} @@ -2438,8 +2439,7 @@ int proc_do_large_bitmap(struct ctl_table *table, int write,  			if (*ppos)  				bitmap_or(bitmap, bitmap, tmp_bitmap, bitmap_len);  			else -				memcpy(bitmap, tmp_bitmap, -					BITS_TO_LONGS(bitmap_len) * sizeof(unsigned long)); +				bitmap_copy(bitmap, tmp_bitmap, bitmap_len);  		}  		kfree(tmp_bitmap);  		*lenp -= left;  |