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(&current->sighand->siglock);
2556 spin_lock_irq(&unrcu_pointer(current->sighand)->siglock);
2557 if (!fatal_signal_pending(current)) {
2558 flush_sigqueue(&current->pending);
2559 flush_sigqueue(&current->signal->shared_pending);
2560 flush_signal_handlers(current, 1);
2561 sigemptyset(&current->blocked);
2562 recalc_sigpending();
2563 }
2557 if (!fatal_signal_pending(current)) {
2558 flush_sigqueue(&current->pending);
2559 flush_sigqueue(&current->signal->shared_pending);
2560 flush_signal_handlers(current, 1);
2561 sigemptyset(&current->blocked);
2562 recalc_sigpending();
2563 }
2564 spin_unlock_irq(&current->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 ---