12 Apr 2006 21:59
[PATCH] Always check that RIPs are canonical during signal handling
Linux Kernel Mailing List <linux-kernel <at> vger.kernel.org>
2006-04-12 19:59:31 GMT
2006-04-12 19:59:31 GMT
commit e5a190da220758a739a31189440669c37fcd9773 tree 5ce75f4f0a50a2dba708533cb2b855f20cc2894d parent 09d3b3dcfa80c9094f1748c1be064b9326c9ef2b author Andi Kleen <ak <at> suse.de> Tue, 11 Apr 2006 12:34:45 +0200 committer Marcelo Tosatti <marcelo <at> dmt.cnet> Thu, 13 Apr 2006 01:16:58 -0500 [PATCH] Always check that RIPs are canonical during signal handling First the already existing check in COPY_CANON for sigreturn wasn't correct. Replace it with a better check against TASK_SIZE. Also add a check to sigaction which was missing it previously. This works around a problem in handling non canonical RIPs on SYSRET on Intel CPUs. They report the #GP on the SYSRET, not the next instruction as Linux expects it. With these changes this path should never see a non canonical user RIP. Roughly based on a patch by Ernie Petrides, but redone by AK. This is CVE-2006-0741 Cc: petrides <at> redhat.com Signed-off-by: Andi Kleen <ak <at> suse.de> arch/x86_64/kernel/signal.c | 19 +++++++++++++------ 1 files changed, 13 insertions(+), 6 deletions(-) diff --git a/arch/x86_64/kernel/signal.c b/arch/x86_64/kernel/signal.c(Continue reading)
RSS Feed