Pavel Emelyanov
f1dad166e8
Avoid potential NULL dereference in unregister_sysctl_table
...
register_sysctl_table() can return NULL sometimes, e.g. when kmalloc()
returns NULL or when sysctl check fails.
I've also noticed, that many (most?) code in the kernel doesn't check for
the return value from register_sysctl_table() and later simply calls the
unregister_sysctl_table() with potentially NULL argument.
This is unlikely on a common kernel configuration, but in case we're
dealing with modules and/or fault-injection support, there's a slight
possibility of an OOPS.
Changing all the users to check for return code from the registering does
not look like a good solution - there are too many code doing this and
failure in sysctl tables registration is not a good reason to abort module
loading (in most of the cases).
So I think, that we can just have this check in unregister_sysctl_table
just to avoid accidental OOPS-es (actually, the unregister_sysctl_table()
did exactly this, before the start_unregistering() appeared).
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-12-05 09:21:20 -08:00
..
irq
__do_IRQ does not check IRQ_DISABLED when IRQ_PER_CPU is set
2007-11-14 18:45:43 -08:00
power
hibernate: fix lockdep report
2007-11-14 18:45:43 -08:00
time
softlockup: fix false positives on CONFIG_NOHZ
2007-11-28 15:52:56 +01:00
.gitignore
acct.c
sched: fix kernel/acct.c comment
2007-11-26 21:21:49 +01:00
audit.c
[PATCH] audit: watching subtrees
2007-10-21 02:37:45 -04:00
audit.h
[PATCH] audit: watching subtrees
2007-10-21 02:37:45 -04:00
audit_tree.c
[PATCH] audit: watching subtrees
2007-10-21 02:37:45 -04:00
auditfilter.c
[PATCH] audit: watching subtrees
2007-10-21 02:37:45 -04:00
auditsc.c
auditsc: fix kernel-doc param warnings
2007-10-22 19:40:02 -07:00
capability.c
Uninline find_pid etc set of functions
2007-10-19 11:53:41 -07:00
cgroup.c
Improve cgroup printks
2007-11-14 18:45:37 -08:00
cgroup_debug.c
Task Control Groups: simple task cgroup debug info subsystem
2007-10-19 11:53:36 -07:00
compat.c
Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt
2007-10-18 15:12:41 -07:00
configs.c
cpu.c
CPU HOTPLUG: avoid hotadd when proper possible_map isn't specified
2007-10-19 11:53:44 -07:00
cpuset.c
hotplug cpu: migrate a task within its cpuset
2007-10-19 11:53:44 -07:00
delayacct.c
Add scaled time to taskstats based process accounting
2007-10-18 14:37:28 -07:00
dma.c
whitespace fixes: DMA channel allocator
2007-10-18 14:37:24 -07:00
exec_domain.c
whitespace fixes: execution domains
2007-10-18 14:37:26 -07:00
exit.c
wait_task_stopped(): pass correct exit_code to wait_noreap_copyout()
2007-11-29 09:24:55 -08:00
extable.c
fork.c
fix clone(CLONE_NEWPID)
2007-12-05 09:21:18 -08:00
futex.c
kernel/futex.c: make 3 functions static
2007-11-05 21:53:46 +11:00
futex_compat.c
[FUTEX] Fix address computation in compat code.
2007-11-09 16:13:08 -08:00
hrtimer.c
Quieten hrtimer printk: "Switched to high resolution mode .."
2007-10-29 09:39:38 +01:00
itimer.c
whitespace fixes: interval timers
2007-10-18 14:37:26 -07:00
kallsyms.c
FRV: fix the extern declaration of kallsyms_num_syms
2007-11-29 09:24:54 -08:00
Kconfig.hz
Kconfig.instrumentation
uml: add !UML dependencies
2007-12-03 08:13:17 -08:00
Kconfig.preempt
Move PREEMPT_NOTIFIERS into an always-included Kconfig
2007-10-17 08:42:55 -07:00
kexec.c
Extended crashkernel command line
2007-10-19 11:53:49 -07:00
kfifo.c
kmod.c
kprobes.c
kprobes: support kretprobe blacklist
2007-10-16 09:43:10 -07:00
ksysfs.c
add-vmcore: cleanup the coding style according to Andrew's comments
2007-10-17 08:42:54 -07:00
kthread.c
latency.c
lockdep.c
lockdep: fix a typo in the __lock_acquire comment
2007-10-28 20:47:01 +01:00
lockdep_internals.h
lockdep_proc.c
Makefile
revert "Task Control Groups: example CPU accounting subsystem"
2007-11-14 18:45:40 -08:00
marker.c
Linux Kernel Markers: fix marker mutex not taken upon module load
2007-11-14 18:45:40 -08:00
module.c
module: fix and elaborate comments
2007-11-19 11:20:43 +11:00
mutex-debug.c
mutex-debug.h
mutex.c
mutex.h
notifier.c
Add kernel/notifier.c
2007-10-19 11:53:34 -07:00
ns_cgroup.c
cgroups: implement namespace tracking subsystem
2007-10-19 11:53:37 -07:00
nsproxy.c
pid namespaces: allow cloning of new namespace
2007-10-19 11:53:39 -07:00
panic.c
trivial comment wording/typo fix regarding taint flags
2007-10-20 00:30:06 +02:00
params.c
fix param_sysfs_builtin name length check
2007-11-14 18:45:42 -08:00
pid.c
pidns: Place under CONFIG_EXPERIMENTAL
2007-11-14 18:45:43 -08:00
posix-cpu-timers.c
Isolate some explicit usage of task->tgid
2007-10-19 11:53:40 -07:00
posix-timers.c
Isolate some explicit usage of task->tgid
2007-10-19 11:53:40 -07:00
printk.c
serial: turn serial console suspend a boot rather than compile time option
2007-10-18 14:37:19 -07:00
profile.c
sched: document profile=sleep requiring CONFIG_SCHEDSTATS
2007-10-24 18:23:50 +02:00
ptrace.c
Isolate some explicit usage of task->tgid
2007-10-19 11:53:40 -07:00
rcupdate.c
Clean up duplicate includes in kernel/
2007-10-17 08:42:48 -07:00
rcutorture.c
Make rcutorture RNG use temporal entropy
2007-10-17 08:42:53 -07:00
relay.c
whitespace fixes: relayfs
2007-10-18 14:37:24 -07:00
resource.c
Add IORESOUCE_BUSY flag for System RAM
2007-11-14 18:45:39 -08:00
rtmutex-debug.c
Use helpers to obtain task pid in printks
2007-10-19 11:53:43 -07:00
rtmutex-debug.h
rtmutex-tester.c
rtmutex.c
Use helpers to obtain task pid in printks
2007-10-19 11:53:43 -07:00
rtmutex.h
rtmutex_common.h
rwsem.c
sched.c
sched: fix crash in sys_sched_rr_get_interval()
2007-12-04 17:04:39 +01:00
sched_debug.c
sched: clean up overlong line in kernel/sched_debug.c
2007-11-28 15:52:56 +01:00
sched_fair.c
sched: default to more agressive yield for SCHED_BATCH tasks
2007-12-04 17:04:39 +01:00
sched_idletask.c
sched: isolate SMP balancing code a bit more
2007-10-24 18:23:51 +02:00
sched_rt.c
sched: cpu accounting controller (V2)
2007-12-02 20:04:49 +01:00
sched_stats.h
sched: clean up kernel/sched_stat.h
2007-11-28 15:52:56 +01:00
seccomp.c
signal.c
sigwait eats blocked default-ignore signals
2007-11-12 16:05:23 -08:00
softirq.c
softlockup.c
Use helpers to obtain task pid in printks
2007-10-19 11:53:43 -07:00
spinlock.c
srcu.c
stacktrace.c
stop_machine.c
sys.c
x86: ignore the sys_getcpu() tcache parameter
2007-11-17 16:27:00 +01:00
sys_ni.c
[COMPAT]: Fix build on COMPAT platforms when CONFIG_NET is disabled.
2007-10-30 21:29:56 -07:00
sysctl.c
Avoid potential NULL dereference in unregister_sysctl_table
2007-12-05 09:21:20 -08:00
sysctl_check.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/net-2.6
2007-11-26 20:09:07 -08:00
taskstats.c
kernel/taskstats.c: fix bogus nlmsg_free()
2007-11-14 18:45:44 -08:00
time.c
whitespace fixes: time syscalls
2007-10-18 14:37:24 -07:00
timer.c
sched: restore deterministic CPU accounting on powerpc
2007-11-09 22:39:38 +01:00
tsacct.c
Add scaled time to taskstats based process accounting
2007-10-18 14:37:28 -07:00
uid16.c
user.c
sched: don't forget to unlock uids_mutex on error paths
2007-11-26 21:21:49 +01:00
user_namespace.c
utsname.c
utsname_sysctl.c
Isolate the UTS namespace's domainname and hostname back
2007-11-29 09:24:53 -08:00
wait.c
workqueue.c
Use helpers to obtain task pid in printks
2007-10-19 11:53:43 -07:00