diff options
Diffstat (limited to 'arch/tile/kernel')
| -rw-r--r-- | arch/tile/kernel/compat_signal.c | 5 | ||||
| -rw-r--r-- | arch/tile/kernel/signal.c | 13 | ||||
| -rw-r--r-- | arch/tile/kernel/sysfs.c | 2 |
3 files changed, 4 insertions, 16 deletions
diff --git a/arch/tile/kernel/compat_signal.c b/arch/tile/kernel/compat_signal.c index a7869ad62776..77763ccd5a7d 100644 --- a/arch/tile/kernel/compat_signal.c +++ b/arch/tile/kernel/compat_signal.c | |||
| @@ -303,10 +303,7 @@ long compat_sys_rt_sigreturn(struct pt_regs *regs) | |||
| 303 | goto badframe; | 303 | goto badframe; |
| 304 | 304 | ||
| 305 | sigdelsetmask(&set, ~_BLOCKABLE); | 305 | sigdelsetmask(&set, ~_BLOCKABLE); |
| 306 | spin_lock_irq(¤t->sighand->siglock); | 306 | set_current_blocked(&set); |
| 307 | current->blocked = set; | ||
| 308 | recalc_sigpending(); | ||
| 309 | spin_unlock_irq(¤t->sighand->siglock); | ||
| 310 | 307 | ||
| 311 | if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) | 308 | if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) |
| 312 | goto badframe; | 309 | goto badframe; |
diff --git a/arch/tile/kernel/signal.c b/arch/tile/kernel/signal.c index bedaf4e9f3a7..f79d4b88c747 100644 --- a/arch/tile/kernel/signal.c +++ b/arch/tile/kernel/signal.c | |||
| @@ -97,10 +97,7 @@ SYSCALL_DEFINE1(rt_sigreturn, struct pt_regs *, regs) | |||
| 97 | goto badframe; | 97 | goto badframe; |
| 98 | 98 | ||
| 99 | sigdelsetmask(&set, ~_BLOCKABLE); | 99 | sigdelsetmask(&set, ~_BLOCKABLE); |
| 100 | spin_lock_irq(¤t->sighand->siglock); | 100 | set_current_blocked(&set); |
| 101 | current->blocked = set; | ||
| 102 | recalc_sigpending(); | ||
| 103 | spin_unlock_irq(¤t->sighand->siglock); | ||
| 104 | 101 | ||
| 105 | if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) | 102 | if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) |
| 106 | goto badframe; | 103 | goto badframe; |
| @@ -286,13 +283,7 @@ static int handle_signal(unsigned long sig, siginfo_t *info, | |||
| 286 | * the work_pending path in the return-to-user code, and | 283 | * the work_pending path in the return-to-user code, and |
| 287 | * either way we can re-enable interrupts unconditionally. | 284 | * either way we can re-enable interrupts unconditionally. |
| 288 | */ | 285 | */ |
| 289 | spin_lock_irq(¤t->sighand->siglock); | 286 | block_sigmask(ka, sig); |
| 290 | sigorsets(¤t->blocked, | ||
| 291 | ¤t->blocked, &ka->sa.sa_mask); | ||
| 292 | if (!(ka->sa.sa_flags & SA_NODEFER)) | ||
| 293 | sigaddset(¤t->blocked, sig); | ||
| 294 | recalc_sigpending(); | ||
| 295 | spin_unlock_irq(¤t->sighand->siglock); | ||
| 296 | } | 287 | } |
| 297 | 288 | ||
| 298 | return ret; | 289 | return ret; |
diff --git a/arch/tile/kernel/sysfs.c b/arch/tile/kernel/sysfs.c index f862b005eb73..71ae728e9d0b 100644 --- a/arch/tile/kernel/sysfs.c +++ b/arch/tile/kernel/sysfs.c | |||
| @@ -163,7 +163,7 @@ static int __init create_sysfs_entries(void) | |||
| 163 | 163 | ||
| 164 | #define create_hv_attr(name) \ | 164 | #define create_hv_attr(name) \ |
| 165 | if (!err) \ | 165 | if (!err) \ |
| 166 | err = sysfs_create_file(hypervisor_kobj, &dev_attr_##name); | 166 | err = sysfs_create_file(hypervisor_kobj, &dev_attr_##name.attr); |
| 167 | create_hv_attr(type); | 167 | create_hv_attr(type); |
| 168 | create_hv_attr(version); | 168 | create_hv_attr(version); |
| 169 | create_hv_attr(config_version); | 169 | create_hv_attr(config_version); |
