mirror of https://gitee.com/openkylin/linux.git
mn10300: finish verify_area() off
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
08435d89dd
commit
81029b1f77
|
@ -72,12 +72,6 @@ static inline int ___range_ok(unsigned long addr, unsigned int size)
|
|||
#define access_ok(type, addr, size) (__range_ok((addr), (size)) == 0)
|
||||
#define __access_ok(addr, size) (__range_ok((addr), (size)) == 0)
|
||||
|
||||
static inline int verify_area(int type, const void *addr, unsigned long size)
|
||||
{
|
||||
return access_ok(type, addr, size) ? 0 : -EFAULT;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* The exception table consists of pairs of addresses: the first is the
|
||||
* address of an instruction that is allowed to fault, and the second is
|
||||
|
|
|
@ -75,7 +75,7 @@ static int restore_sigcontext(struct pt_regs *regs,
|
|||
struct fpucontext *buf;
|
||||
err |= __get_user(buf, &sc->fpucontext);
|
||||
if (buf) {
|
||||
if (verify_area(VERIFY_READ, buf, sizeof(*buf)))
|
||||
if (!access_ok(VERIFY_READ, buf, sizeof(*buf)))
|
||||
goto badframe;
|
||||
err |= fpu_restore_sigcontext(buf);
|
||||
}
|
||||
|
@ -98,7 +98,7 @@ asmlinkage long sys_sigreturn(void)
|
|||
long d0;
|
||||
|
||||
frame = (struct sigframe __user *) current_frame()->sp;
|
||||
if (verify_area(VERIFY_READ, frame, sizeof(*frame)))
|
||||
if (!access_ok(VERIFY_READ, frame, sizeof(*frame)))
|
||||
goto badframe;
|
||||
if (__get_user(set.sig[0], &frame->sc.oldmask))
|
||||
goto badframe;
|
||||
|
@ -130,7 +130,7 @@ asmlinkage long sys_rt_sigreturn(void)
|
|||
long d0;
|
||||
|
||||
frame = (struct rt_sigframe __user *) current_frame()->sp;
|
||||
if (verify_area(VERIFY_READ, frame, sizeof(*frame)))
|
||||
if (!access_ok(VERIFY_READ, frame, sizeof(*frame)))
|
||||
goto badframe;
|
||||
if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set)))
|
||||
goto badframe;
|
||||
|
|
Loading…
Reference in New Issue