public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [patch] make exception handler in copy_user more robust
@ 2005-09-06 23:05 Chen, Kenneth W
  2005-09-07  1:10 ` david mosberger
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Chen, Kenneth W @ 2005-09-06 23:05 UTC (permalink / raw)
  To: linux-ia64

The exception handler in copy user always expects fault occurs only on
user space address and the fall back recovery code is written with that
very assumption in mind.  Recent source code inspection revealed that
while it worked splendid and to the expectation under normal circumstances,
It broke down under unexpected condition where some address calculation
might go outside the legal address range the original copy_user was
called for.  This patch is to make copy_user exception handler more robust
and to prevent potential memory corruption.


Signed-off-by: Ken Chen <kenneth.w.chen@intel.com>


--- linux-2.6.13/arch/ia64/lib/memcpy_mck.S.orig	2005-09-06 15:15:29.560795174 -0700
+++ linux-2.6.13/arch/ia64/lib/memcpy_mck.S	2005-09-06 15:21:46.798095240 -0700
@@ -625,8 +625,11 @@ EK(.ex_handler,  (p17)	st8	[dst1]=r39,8)
 	clrrrb
 	;;
 	alloc	saved_pfs_stack=ar.pfs,3,3,3,0
+	cmp.lt	p8,p0=A,r0
 	sub	B = dst0, saved_in0	// how many byte copied so far
 	;;
+(p8)	mov	A = 0;			// A shouldn't be negative, cap it
+	;;
 	sub	C = A, B
 	sub	D = saved_in2, A
 	;;


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-09-07  2:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-06 23:05 [patch] make exception handler in copy_user more robust Chen, Kenneth W
2005-09-07  1:10 ` david mosberger
2005-09-07  1:49 ` Chen, Kenneth W
2005-09-07  2:07 ` david mosberger
2005-09-07  2:11 ` Chen, Kenneth W

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox