aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArun Sharma <arun.sharma@intel.com>2005-04-22 16:06:47 -0400
committerTony Luck <tony.luck@intel.com>2005-04-22 16:06:47 -0400
commit7130667107cd3ab9d6802b69bab63c7d22f20bd4 (patch)
treeb4467b2d08a139961e709cfb41bd1f9280249155
parentefab7739d99eae948971140b2aa3dddf7f72c900 (diff)
[IA64] ia32_signal.c: erroneous use of memset/memcpy
Found by Alexander Nyberg, improved by Bjorn Helgaas. - Fix the incorrect argument to sizeof() - looks like memcpy() code pass was dervived from code that used copy_from_user(). But in this case we are doing to kernel space to kernel space copy, so memcpy is the right routine, but it doesn't return an error code. Signed-off-by: Arun Sharma <arun.sharma@intel.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
-rw-r--r--arch/ia64/ia32/ia32_signal.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/ia64/ia32/ia32_signal.c b/arch/ia64/ia32/ia32_signal.c
index 19b02adce68c..ebb89be2aa2d 100644
--- a/arch/ia64/ia32/ia32_signal.c
+++ b/arch/ia64/ia32/ia32_signal.c
@@ -460,10 +460,9 @@ __ia32_rt_sigsuspend (compat_sigset_t *sset, unsigned int sigsetsize, struct sig
460 sigset_t oldset, set; 460 sigset_t oldset, set;
461 461
462 scr->scratch_unat = 0; /* avoid leaking kernel bits to user level */ 462 scr->scratch_unat = 0; /* avoid leaking kernel bits to user level */
463 memset(&set, 0, sizeof(&set)); 463 memset(&set, 0, sizeof(set));
464 464
465 if (memcpy(&set.sig, &sset->sig, sigsetsize)) 465 memcpy(&set.sig, &sset->sig, sigsetsize);
466 return -EFAULT;
467 466
468 sigdelsetmask(&set, ~_BLOCKABLE); 467 sigdelsetmask(&set, ~_BLOCKABLE);
469 468