diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-01-17 22:13:15 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-01-17 22:13:15 -0500 |
| commit | 5807fcaa9bf7dd87241df739161c119cf78a6bc4 (patch) | |
| tree | 4ed1e647a0ae0f315db3b9066c9235020c439649 /kernel | |
| parent | 2d663b55816e5c1d211a77fff90687053fe78aac (diff) | |
| parent | acb2cfdb316ddc3fac8183c0f71edd1680713b10 (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
Pull security subsystem updates from James Morris:
- EVM gains support for loading an x509 cert from the kernel
(EVM_LOAD_X509), into the EVM trusted kernel keyring.
- Smack implements 'file receive' process-based permission checking for
sockets, rather than just depending on inode checks.
- Misc enhancments for TPM & TPM2.
- Cleanups and bugfixes for SELinux, Keys, and IMA.
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (41 commits)
selinux: Inode label revalidation performance fix
KEYS: refcount bug fix
ima: ima_write_policy() limit locking
IMA: policy can be updated zero times
selinux: rate-limit netlink message warnings in selinux_nlmsg_perm()
selinux: export validatetrans decisions
gfs2: Invalid security labels of inodes when they go invalid
selinux: Revalidate invalid inode security labels
security: Add hook to invalidate inode security labels
selinux: Add accessor functions for inode->i_security
security: Make inode argument of inode_getsecid non-const
security: Make inode argument of inode_getsecurity non-const
selinux: Remove unused variable in selinux_inode_init_security
keys, trusted: seal with a TPM2 authorization policy
keys, trusted: select hash algorithm for TPM2 chips
keys, trusted: fix: *do not* allow duplicate key options
tpm_ibmvtpm: properly handle interrupted packet receptions
tpm_tis: Tighten IRQ auto-probing
tpm_tis: Refactor the interrupt setup
tpm_tis: Get rid of the duplicate IRQ probing code
...
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/audit.c | 2 | ||||
| -rw-r--r-- | kernel/audit.h | 2 | ||||
| -rw-r--r-- | kernel/auditsc.c | 6 |
3 files changed, 5 insertions, 5 deletions
diff --git a/kernel/audit.c b/kernel/audit.c index d6dd95cc59e6..3a3e5deeda8d 100644 --- a/kernel/audit.c +++ b/kernel/audit.c | |||
| @@ -1719,7 +1719,7 @@ static inline int audit_copy_fcaps(struct audit_names *name, | |||
| 1719 | 1719 | ||
| 1720 | /* Copy inode data into an audit_names. */ | 1720 | /* Copy inode data into an audit_names. */ |
| 1721 | void audit_copy_inode(struct audit_names *name, const struct dentry *dentry, | 1721 | void audit_copy_inode(struct audit_names *name, const struct dentry *dentry, |
| 1722 | const struct inode *inode) | 1722 | struct inode *inode) |
| 1723 | { | 1723 | { |
| 1724 | name->ino = inode->i_ino; | 1724 | name->ino = inode->i_ino; |
| 1725 | name->dev = inode->i_sb->s_dev; | 1725 | name->dev = inode->i_sb->s_dev; |
diff --git a/kernel/audit.h b/kernel/audit.h index de6cbb7cf547..cbbe6bb6496e 100644 --- a/kernel/audit.h +++ b/kernel/audit.h | |||
| @@ -207,7 +207,7 @@ extern u32 audit_ever_enabled; | |||
| 207 | 207 | ||
| 208 | extern void audit_copy_inode(struct audit_names *name, | 208 | extern void audit_copy_inode(struct audit_names *name, |
| 209 | const struct dentry *dentry, | 209 | const struct dentry *dentry, |
| 210 | const struct inode *inode); | 210 | struct inode *inode); |
| 211 | extern void audit_log_cap(struct audit_buffer *ab, char *prefix, | 211 | extern void audit_log_cap(struct audit_buffer *ab, char *prefix, |
| 212 | kernel_cap_t *cap); | 212 | kernel_cap_t *cap); |
| 213 | extern void audit_log_name(struct audit_context *context, | 213 | extern void audit_log_name(struct audit_context *context, |
diff --git a/kernel/auditsc.c b/kernel/auditsc.c index b86cc04959de..195ffaee50b9 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c | |||
| @@ -1754,7 +1754,7 @@ void __audit_inode(struct filename *name, const struct dentry *dentry, | |||
| 1754 | unsigned int flags) | 1754 | unsigned int flags) |
| 1755 | { | 1755 | { |
| 1756 | struct audit_context *context = current->audit_context; | 1756 | struct audit_context *context = current->audit_context; |
| 1757 | const struct inode *inode = d_backing_inode(dentry); | 1757 | struct inode *inode = d_backing_inode(dentry); |
| 1758 | struct audit_names *n; | 1758 | struct audit_names *n; |
| 1759 | bool parent = flags & AUDIT_INODE_PARENT; | 1759 | bool parent = flags & AUDIT_INODE_PARENT; |
| 1760 | 1760 | ||
| @@ -1848,12 +1848,12 @@ void __audit_file(const struct file *file) | |||
| 1848 | * must be hooked prior, in order to capture the target inode during | 1848 | * must be hooked prior, in order to capture the target inode during |
| 1849 | * unsuccessful attempts. | 1849 | * unsuccessful attempts. |
| 1850 | */ | 1850 | */ |
| 1851 | void __audit_inode_child(const struct inode *parent, | 1851 | void __audit_inode_child(struct inode *parent, |
| 1852 | const struct dentry *dentry, | 1852 | const struct dentry *dentry, |
| 1853 | const unsigned char type) | 1853 | const unsigned char type) |
| 1854 | { | 1854 | { |
| 1855 | struct audit_context *context = current->audit_context; | 1855 | struct audit_context *context = current->audit_context; |
| 1856 | const struct inode *inode = d_backing_inode(dentry); | 1856 | struct inode *inode = d_backing_inode(dentry); |
| 1857 | const char *dname = dentry->d_name.name; | 1857 | const char *dname = dentry->d_name.name; |
| 1858 | struct audit_names *n, *found_parent = NULL, *found_child = NULL; | 1858 | struct audit_names *n, *found_parent = NULL, *found_child = NULL; |
| 1859 | 1859 | ||
