linux/kernel
Bert Wesarg 31143a1204 [PATCH] kernel/param.c: don't use .max when .num is NULL in param_array_set()
there seems to be a bug, at least for me, in kernel/param.c for arrays with
.num == NULL.  If .num == NULL, the function param_array_set() uses &.max
for the call to param_array(), wich alters the .max value to the number of
arguments.  The result is, you can't set more array arguments as the last
time you set the parameter.

example:

# a module 'example' with
# static int array[10] = { 0, };
# module_param_array(array, int, NULL, 0644);

$ insmod example.ko array=1,2,3
$ cat /sys/module/example/parameters/array
1,2,3
$ echo "4,3,2,1" > /sys/module/example/parameters/array
$ dmesg | tail -n 1
kernel: array: can take only 3 arguments

Signed-off-by: Bert Wesarg <wesarg@informatik.uni-halle.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-16 15:25:42 -07:00
..
irq Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
power [PATCH] swsusp: SMP fix 2005-04-16 15:25:39 -07:00
acct.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
audit.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
auditsc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
capability.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
compat.c [PATCH] Fix get_compat_sigevent() 2005-04-16 15:24:01 -07:00
configs.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpuset.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dma.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
exec_domain.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
exit.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
extable.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fork.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
futex.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
intermodule.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
itimer.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kallsyms.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kfifo.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kmod.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kprobes.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ksysfs.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kthread.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
module.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
panic.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
params.c [PATCH] kernel/param.c: don't use .max when .num is NULL in param_array_set() 2005-04-16 15:25:42 -07:00
pid.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
posix-cpu-timers.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
posix-timers.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
printk.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
profile.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ptrace.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rcupdate.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
resource.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sched.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
seccomp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
signal.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
softirq.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
spinlock.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
stop_machine.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_ni.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysctl.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
time.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
timer.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
uid16.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
user.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
wait.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
workqueue.c [PATCH] re-export cancel_rearming_delayed_workqueue 2005-04-16 15:23:59 -07:00