hooks.c (6bc1968c14e91e03c0851b9c5c5330d91305a853) | hooks.c (0e326df069802dc48e4f095f889cb780e4beaba6) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * NSA Security-Enhanced Linux (SELinux) security module 4 * 5 * This file contains the SELinux hook function implementations. 6 * 7 * Authors: Stephen Smalley, <sds@tycho.nsa.gov> 8 * Chris Vance, <cvance@nai.com> --- 2539 unchanged lines hidden (view full) --- 2548 * This must occur _after_ the task SID has been updated so that any 2549 * kill done after the flush will be checked against the new SID. 2550 */ 2551 rc = avc_has_perm(&selinux_state, 2552 osid, sid, SECCLASS_PROCESS, PROCESS__SIGINH, NULL); 2553 if (rc) { 2554 clear_itimer(); 2555 | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * NSA Security-Enhanced Linux (SELinux) security module 4 * 5 * This file contains the SELinux hook function implementations. 6 * 7 * Authors: Stephen Smalley, <sds@tycho.nsa.gov> 8 * Chris Vance, <cvance@nai.com> --- 2539 unchanged lines hidden (view full) --- 2548 * This must occur _after_ the task SID has been updated so that any 2549 * kill done after the flush will be checked against the new SID. 2550 */ 2551 rc = avc_has_perm(&selinux_state, 2552 osid, sid, SECCLASS_PROCESS, PROCESS__SIGINH, NULL); 2553 if (rc) { 2554 clear_itimer(); 2555 |
2556 spin_lock_irq(¤t->sighand->siglock); | 2556 spin_lock_irq(&unrcu_pointer(current->sighand)->siglock); |
2557 if (!fatal_signal_pending(current)) { 2558 flush_sigqueue(¤t->pending); 2559 flush_sigqueue(¤t->signal->shared_pending); 2560 flush_signal_handlers(current, 1); 2561 sigemptyset(¤t->blocked); 2562 recalc_sigpending(); 2563 } | 2557 if (!fatal_signal_pending(current)) { 2558 flush_sigqueue(¤t->pending); 2559 flush_sigqueue(¤t->signal->shared_pending); 2560 flush_signal_handlers(current, 1); 2561 sigemptyset(¤t->blocked); 2562 recalc_sigpending(); 2563 } |
2564 spin_unlock_irq(¤t->sighand->siglock); | 2564 spin_unlock_irq(&unrcu_pointer(current->sighand)->siglock); |
2565 } 2566 2567 /* Wake up the parent if it is waiting so that it can recheck 2568 * wait permission to the new task SID. */ 2569 read_lock(&tasklist_lock); | 2565 } 2566 2567 /* Wake up the parent if it is waiting so that it can recheck 2568 * wait permission to the new task SID. */ 2569 read_lock(&tasklist_lock); |
2570 __wake_up_parent(current, current->real_parent); | 2570 __wake_up_parent(current, unrcu_pointer(current->real_parent)); |
2571 read_unlock(&tasklist_lock); 2572} 2573 2574/* superblock security operations */ 2575 2576static int selinux_sb_alloc_security(struct super_block *sb) 2577{ 2578 struct superblock_security_struct *sbsec = selinux_superblock(sb); --- 4958 unchanged lines hidden --- | 2571 read_unlock(&tasklist_lock); 2572} 2573 2574/* superblock security operations */ 2575 2576static int selinux_sb_alloc_security(struct super_block *sb) 2577{ 2578 struct superblock_security_struct *sbsec = selinux_superblock(sb); --- 4958 unchanged lines hidden --- |