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); |