diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-12 15:38:53 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-04-12 15:38:53 -0400 |
commit | 0b747172dce6e0905ab173afbaffebb7a11d89bd (patch) | |
tree | cef4092aa49bd44d4759b58762bfa221dac45f57 /include/linux/sched.h | |
parent | b7e70ca9c7d7f049bba8047d7ab49966fd5e9e9d (diff) | |
parent | 312103d64d0fcadb332899a2c84b357ddb18f4e3 (diff) |
Merge git://git.infradead.org/users/eparis/audit
Pull audit updates from Eric Paris.
* git://git.infradead.org/users/eparis/audit: (28 commits)
AUDIT: make audit_is_compat depend on CONFIG_AUDIT_COMPAT_GENERIC
audit: renumber AUDIT_FEATURE_CHANGE into the 1300 range
audit: do not cast audit_rule_data pointers pointlesly
AUDIT: Allow login in non-init namespaces
audit: define audit_is_compat in kernel internal header
kernel: Use RCU_INIT_POINTER(x, NULL) in audit.c
sched: declare pid_alive as inline
audit: use uapi/linux/audit.h for AUDIT_ARCH declarations
syscall_get_arch: remove useless function arguments
audit: remove stray newline from audit_log_execve_info() audit_panic() call
audit: remove stray newlines from audit_log_lost messages
audit: include subject in login records
audit: remove superfluous new- prefix in AUDIT_LOGIN messages
audit: allow user processes to log from another PID namespace
audit: anchor all pid references in the initial pid namespace
audit: convert PPIDs to the inital PID namespace.
pid: get pid_t ppid of task in init_pid_ns
audit: rename the misleading audit_get_context() to audit_take_context()
audit: Add generic compat syscall support
audit: Add CONFIG_HAVE_ARCH_AUDITSYSCALL
...
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r-- | include/linux/sched.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index 075b3056c0c0..25f54c79f757 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -1719,6 +1719,24 @@ static inline pid_t task_tgid_vnr(struct task_struct *tsk) | |||
1719 | } | 1719 | } |
1720 | 1720 | ||
1721 | 1721 | ||
1722 | static inline int pid_alive(const struct task_struct *p); | ||
1723 | static inline pid_t task_ppid_nr_ns(const struct task_struct *tsk, struct pid_namespace *ns) | ||
1724 | { | ||
1725 | pid_t pid = 0; | ||
1726 | |||
1727 | rcu_read_lock(); | ||
1728 | if (pid_alive(tsk)) | ||
1729 | pid = task_tgid_nr_ns(rcu_dereference(tsk->real_parent), ns); | ||
1730 | rcu_read_unlock(); | ||
1731 | |||
1732 | return pid; | ||
1733 | } | ||
1734 | |||
1735 | static inline pid_t task_ppid_nr(const struct task_struct *tsk) | ||
1736 | { | ||
1737 | return task_ppid_nr_ns(tsk, &init_pid_ns); | ||
1738 | } | ||
1739 | |||
1722 | static inline pid_t task_pgrp_nr_ns(struct task_struct *tsk, | 1740 | static inline pid_t task_pgrp_nr_ns(struct task_struct *tsk, |
1723 | struct pid_namespace *ns) | 1741 | struct pid_namespace *ns) |
1724 | { | 1742 | { |
@@ -1758,7 +1776,7 @@ static inline pid_t task_pgrp_nr(struct task_struct *tsk) | |||
1758 | * | 1776 | * |
1759 | * Return: 1 if the process is alive. 0 otherwise. | 1777 | * Return: 1 if the process is alive. 0 otherwise. |
1760 | */ | 1778 | */ |
1761 | static inline int pid_alive(struct task_struct *p) | 1779 | static inline int pid_alive(const struct task_struct *p) |
1762 | { | 1780 | { |
1763 | return p->pids[PIDTYPE_PID].pid != NULL; | 1781 | return p->pids[PIDTYPE_PID].pid != NULL; |
1764 | } | 1782 | } |