Andi Kleen
b45c6e76bc
kernel/signal.c: fix kernel information leak with print-fatal-signals=1
...
When print-fatal-signals is enabled it's possible to dump any memory
reachable by the kernel to the log by simply jumping to that address from
user space.
Or crash the system if there's some hardware with read side effects.
The fatal signals handler will dump 16 bytes at the execution address,
which is fully controlled by ring 3.
In addition when something jumps to a unmapped address there will be up to
16 additional useless page faults, which might be potentially slow (and at
least is not very efficient)
Fortunately this option is off by default and only there on i386.
But fix it by checking for kernel addresses and also stopping when there's
a page fault.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-01-11 09:34:05 -08:00
..
gcov
microblaze: Enable GCOV_PROFILE_ALL
2009-09-21 14:29:21 +02:00
irq
genirq: Convert irq_desc.lock to raw_spinlock
2009-12-14 23:55:33 +01:00
power
vt: introduce and use vt_kmsg_redirect() function
2009-12-15 08:53:28 -08:00
time
Revert "time: Remove xtime_cache"
2009-12-22 14:10:37 -08:00
trace
Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2009-12-31 11:52:01 -08:00
.gitignore
acct.c
bsdacct: fix uid/gid misreporting
2009-12-15 08:53:10 -08:00
async.c
audit.c
Audit: send signal info if selinux is disabled
2009-09-24 03:50:26 -04:00
audit.h
audit_tree.c
fix more leaks in audit_tree.c tag_chunk()
2009-12-19 09:27:43 -08:00
audit_watch.c
Audit: reorganize struct audit_watch to save 8 bytes
2009-09-24 03:50:25 -04:00
auditfilter.c
auditsc.c
Sanitize f_flags helpers
2009-12-22 12:27:34 -05:00
backtracetest.c
bounds.c
kbuild: move bounds.h to include/generated
2009-12-12 13:08:14 +01:00
capability.c
remove CONFIG_SECURITY_FILE_CAPABILITIES compile option
2009-11-24 15:06:47 +11:00
cgroup.c
cgroups: fix 2.6.32 regression causing BUG_ON() in cgroup_diput()
2010-01-11 09:34:05 -08:00
cgroup_freezer.c
cgroups: let ss->can_attach and ss->attach do whole threadgroups at a time
2009-09-24 07:20:58 -07:00
compat.c
configs.c
cpu.c
sched: Fix set_cpu_active() in cpu_down()
2009-12-16 19:01:53 +01:00
cpuset.c
sched: Fix balance vs hotplug race
2009-12-06 21:10:56 +01:00
cred-internals.h
cred.c
creds_are_invalid() needs to be exported for use by modules:
2009-09-23 11:02:26 -07:00
delayacct.c
headers: taskstats_kern.h trim
2009-09-18 09:48:52 -07:00
dma.c
exec_domain.c
exit.c
do_wait() optimization: do not place sub-threads on task_struct->children list
2009-12-17 15:45:31 -08:00
extable.c
fork.c
do_wait() optimization: do not place sub-threads on task_struct->children list
2009-12-17 15:45:31 -08:00
freezer.c
futex.c
rtmutes: Convert rtmutex.lock to raw_spinlock
2009-12-14 23:55:33 +01:00
futex_compat.c
groups.c
hrtimer.c
hrtimers: Convert to raw_spinlocks
2009-12-14 23:55:34 +01:00
hung_task.c
softlockup: Fix hung_task_check_count sysctl
2009-11-27 06:21:57 +01:00
hw_breakpoint.c
Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2009-12-31 11:52:01 -08:00
itimer.c
itimers: Fix racy writes to cpu_itimer fields
2009-11-18 16:32:12 +01:00
kallsyms.c
hw-breakpoints: Fix broken hw-breakpoint sample module
2009-11-10 11:23:29 +01:00
Kconfig.freezer
Kconfig.hz
Kconfig.locks
mutex: Better control mutex adaptive spinning config
2009-12-03 11:50:11 +01:00
Kconfig.preempt
kexec.c
Merge branch 'for-33' of git://repo.or.cz/linux-kbuild
2009-12-17 07:23:42 -08:00
kfifo.c
kfifo: add record handling functions
2009-12-22 14:17:56 -08:00
kgdb.c
kgdb: Always process the whole breakpoint list on activate or deactivate
2009-12-11 08:43:20 -06:00
kmod.c
kmod: fix resource leak in call_usermodehelper_pipe()
2010-01-11 09:34:04 -08:00
kprobes.c
kprobes: Fix distinct type warning
2009-12-28 10:25:31 +01:00
ksysfs.c
kexec: premit reduction of the reserved memory size
2009-12-16 07:20:13 -08:00
kthread.c
sched: Move kthread_bind() back to kthread.c
2009-12-16 19:01:57 +01:00
latencytop.c
lockdep.c
locking: Convert __raw_spin* functions to arch_spin*
2009-12-14 23:55:32 +01:00
lockdep_internals.h
lockdep_proc.c
seq_file: constify seq_operations
2009-09-23 07:39:29 -07:00
lockdep_states.h
Makefile
Merge branch 'kvm-updates/2.6.33' of git://git.kernel.org/pub/scm/virt/kvm/kvm
2009-12-08 08:02:38 -08:00
module.c
modules: Skip empty sections when exporting section notes
2010-01-06 01:11:29 -08:00
mutex-debug.c
headers: remove sched.h from interrupt.h
2009-10-11 11:20:58 -07:00
mutex-debug.h
locking: Implement new raw_spinlock
2009-12-14 23:55:32 +01:00
mutex.c
mutex: Better control mutex adaptive spinning config
2009-12-03 11:50:11 +01:00
mutex.h
notifier.c
kprobes: Fix to add __kprobes to notify_die
2009-08-30 03:08:26 +02:00
ns_cgroup.c
cgroups: let ss->can_attach and ss->attach do whole threadgroups at a time
2009-09-24 07:20:58 -07:00
nsproxy.c
panic.c
Merge git://git.infradead.org/mtd-2.6
2009-12-16 10:23:43 -08:00
params.c
tree-wide: convert open calls to remove spaces to skip_spaces() lib function
2009-12-15 08:53:32 -08:00
perf_event.c
Merge branch 'perf-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2009-12-31 11:56:24 -08:00
pid.c
pid: reduce code size by using a pointer to iterate over array
2009-12-16 07:20:12 -08:00
pid_namespace.c
pidns: deny CLONE_PARENT|CLONE_NEWPID combination
2009-09-24 07:21:04 -07:00
pm_qos_params.c
pm_qos: clean up racy global "name" variable
2009-10-14 15:31:10 +02:00
posix-cpu-timers.c
posix-cpu-timers: optimize and document timer_create callback
2009-11-18 12:36:05 +01:00
posix-timers.c
time: Introduce CLOCK_REALTIME_COARSE
2009-08-21 21:43:46 +02:00
printk.c
printk: fix new kernel-doc warnings
2009-12-17 15:45:32 -08:00
profile.c
kernel/profile.c: Switch /proc/irq/prof_cpu_mask to seq_file
2009-09-20 20:15:40 +02:00
ptrace.c
ptrace: __ptrace_detach: do __wake_up_parent() if we reap the tracee
2009-09-24 07:20:59 -07:00
rcupdate.c
rcu: Re-arrange code to reduce #ifdef pain
2009-11-22 18:58:16 +01:00
rcutiny.c
rcu: Eliminate unneeded function wrapping
2009-11-22 18:58:16 +01:00
rcutorture.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
2009-12-14 09:58:24 -08:00
rcutree.c
rcu: Add expedited grace-period support for preemptible RCU
2009-12-03 11:35:25 +01:00
rcutree.h
rcu: Add expedited grace-period support for preemptible RCU
2009-12-03 11:35:25 +01:00
rcutree_plugin.h
rcu: Add expedited grace-period support for preemptible RCU
2009-12-03 11:35:25 +01:00
rcutree_trace.c
rcu: Add expedited grace-period support for preemptible RCU
2009-12-03 11:35:25 +01:00
relay.c
const: constify remaining pipe_buf_operations
2009-12-16 07:20:05 -08:00
res_counter.c
memcg: some modification to softlimit under hierarchical memory reclaim.
2009-10-01 16:11:13 -07:00
resource.c
resources: fix call to alignf() in allocate_resource()
2009-12-21 10:42:29 -08:00
rtmutex-debug.c
sched: Convert pi_lock to raw_spinlock
2009-12-14 23:55:33 +01:00
rtmutex-debug.h
rtmutex-tester.c
rtmutex.c
rtmutes: Convert rtmutex.lock to raw_spinlock
2009-12-14 23:55:33 +01:00
rtmutex.h
rtmutex_common.h
rwsem.c
sched.c
sched: Revert 738d2be, simplify set_task_cpu()
2009-12-23 10:04:10 +01:00
sched_clock.c
sched: Fix cpu_clock() in NMIs, on !CONFIG_HAVE_UNSTABLE_SCHED_CLOCK
2009-12-15 09:04:36 +01:00
sched_cpupri.c
sched: Convert cpupri lock to raw_spinlock
2009-12-14 23:55:33 +01:00
sched_cpupri.h
sched: Convert cpupri lock to raw_spinlock
2009-12-14 23:55:33 +01:00
sched_debug.c
sched: Convert rq->lock to raw_spinlock
2009-12-14 23:55:33 +01:00
sched_fair.c
sched: Remove the cfs_rq dependency from set_task_cpu()
2009-12-16 19:01:58 +01:00
sched_features.h
sched: Discard some old bits
2009-12-09 10:03:07 +01:00
sched_idletask.c
sched: Restore printk sanity
2009-12-20 19:05:02 +01:00
sched_rt.c
sched: Add pre and post wakeup hooks
2009-12-16 19:01:58 +01:00
sched_stats.h
seccomp.c
semaphore.c
signal.c
kernel/signal.c: fix kernel information leak with print-fatal-signals=1
2010-01-11 09:34:05 -08:00
slow-work-debugfs.c
SLOW_WORK: Move slow_work's proc file to debugfs
2009-12-01 08:20:31 -08:00
slow-work.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl-2.6
2009-12-08 07:38:50 -08:00
slow-work.h
SLOW_WORK: Move slow_work's proc file to debugfs
2009-12-01 08:20:31 -08:00
smp.c
Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2009-12-15 09:02:01 -08:00
softirq.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
2009-12-14 09:58:24 -08:00
softlockup.c
percpu: make percpu symbols under kernel/ and mm/ unique
2009-10-29 22:34:13 +09:00
spinlock.c
locking: Cleanup the name space completely
2009-12-14 23:55:33 +01:00
srcu.c
rcu: Add synchronize_srcu_expedited()
2009-10-26 09:40:30 +01:00
stacktrace.c
stop_machine.c
sys.c
Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2009-12-19 09:47:34 -08:00
sys_ni.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
2009-12-08 07:55:01 -08:00
sysctl.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
2009-12-17 16:58:26 -08:00
sysctl_binary.c
SYSCTL: Print binary sysctl warnings (nearly) only once
2009-12-23 21:00:20 +01:00
sysctl_check.c
ipv4 05/05: add sysctl to accept packets with local source addresses
2009-12-03 12:14:38 -08:00
taskstats.c
test_kprobes.c
time.c
Revert "time: Remove xtime_cache"
2009-12-22 14:10:37 -08:00
timeconst.pl
timer.c
timers: Remove duplicate setting of new_base in __mod_timer()
2009-12-17 01:30:49 +01:00
tracepoint.c
trivial: fix typo "to to" in multiple files
2009-09-21 15:14:55 +02:00
tsacct.c
uid16.c
headers: utsname.h redux
2009-09-23 18:13:10 -07:00
up.c
user-return-notifier.c
core: Clean up user return notifers use of per_cpu
2009-12-02 10:22:59 +01:00
user.c
uids: Prevent tear down race
2009-11-02 16:02:39 +01:00
user_namespace.c
utsname.c
utsname_sysctl.c
sysctl kernel: Remove binary sysctl logic
2009-11-12 02:04:55 -08:00
wait.c
workqueue.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
2009-12-10 09:35:44 -08:00