Code Review
/
kvmfornfv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Upgrade to 4.4.50-rt62
[kvmfornfv.git]
/
kernel
/
arch
/
mips
/
kernel
/
signal.c
diff --git
a/kernel/arch/mips/kernel/signal.c
b/kernel/arch/mips/kernel/signal.c
index
bf792e2
..
9e35b6b
100644
(file)
--- a/
kernel/arch/mips/kernel/signal.c
+++ b/
kernel/arch/mips/kernel/signal.c
@@
-195,6
+195,9
@@
static int restore_msa_extcontext(void __user *buf, unsigned int size)
unsigned int csr;
int i, err;
unsigned int csr;
int i, err;
+ if (!config_enabled(CONFIG_CPU_HAS_MSA))
+ return SIGSYS;
+
if (size != sizeof(*msa))
return -EINVAL;
if (size != sizeof(*msa))
return -EINVAL;
@@
-398,8
+401,8
@@
int protected_restore_fp_context(void __user *sc)
}
fp_done:
}
fp_done:
- if (
used & USED_EXTCONTEXT
)
- err
|
= restore_extcontext(sc_to_extcontext(sc));
+ if (
!err && (used & USED_EXTCONTEXT)
)
+ err = restore_extcontext(sc_to_extcontext(sc));
return err ?: sig;
}
return err ?: sig;
}
@@
-767,15
+770,7
@@
static void handle_signal(struct ksignal *ksig, struct pt_regs *regs)
sigset_t *oldset = sigmask_to_save();
int ret;
struct mips_abi *abi = current->thread.abi;
sigset_t *oldset = sigmask_to_save();
int ret;
struct mips_abi *abi = current->thread.abi;
-#ifdef CONFIG_CPU_MICROMIPS
- void *vdso;
- unsigned long tmp = (unsigned long)current->mm->context.vdso;
-
- set_isa16_mode(tmp);
- vdso = (void *)tmp;
-#else
void *vdso = current->mm->context.vdso;
void *vdso = current->mm->context.vdso;
-#endif
if (regs->regs[0]) {
switch(regs->regs[2]) {
if (regs->regs[0]) {
switch(regs->regs[2]) {