--- v28
+++ v25
@@ -68,10 +68,10 @@
+The file ``/proc/pid/attr/context`` provides the security
+context of the identified process.
diff --git a/fs/proc/base.c b/fs/proc/base.c
-index f80ed1c40053..387627fd8313 100644
+index 10de522f3112..23ebfc35435c 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
-@@ -2821,6 +2821,7 @@ static const struct pid_entry attr_dir_stuff[] = {
+@@ -2808,6 +2808,7 @@ static const struct pid_entry attr_dir_stuff[] = {
ATTR(NULL, "keycreate", 0666),
ATTR(NULL, "sockcreate", 0666),
ATTR(NULL, "interface_lsm", 0666),
@@ -80,10 +80,10 @@
DIR("smack", 0555,
proc_smack_attr_dir_inode_ops, proc_smack_attr_dir_ops),
diff --git a/include/linux/lsm_hooks.h b/include/linux/lsm_hooks.h
-index d2c4bc94d47f..f6ffe8b069e2 100644
+index ab08da884b2f..8d554288c5a2 100644
--- a/include/linux/lsm_hooks.h
+++ b/include/linux/lsm_hooks.h
-@@ -1397,6 +1397,12 @@
+@@ -1382,6 +1382,12 @@
* @pages contains the number of pages.
* Return 0 if permission is granted.
*
@@ -110,7 +110,7 @@
#endif /* __AA_PROCATTR_H */
diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
-index 4237536106aa..65a004597e53 100644
+index 5bfd313a7cd5..16ccc4a002d0 100644
--- a/security/apparmor/lsm.c
+++ b/security/apparmor/lsm.c
@@ -602,6 +602,7 @@ static int apparmor_getprocattr(struct task_struct *task, char *name,
@@ -203,11 +203,11 @@
/**
diff --git a/security/security.c b/security/security.c
-index 5d7fd982f84a..4572da4e27f7 100644
+index 7d90f2f531b1..ba01df949163 100644
--- a/security/security.c
+++ b/security/security.c
-@@ -801,6 +801,57 @@ static int lsm_superblock_alloc(struct super_block *sb)
- return 0;
+@@ -776,6 +776,57 @@ static void __init lsm_early_task(struct task_struct *task)
+ panic("%s: Early task alloc failed.\n", __func__);
}
+/**
@@ -264,7 +264,7 @@
/*
* The default value of the LSM hook is defined in linux/lsm_hook_defs.h and
* can be accessed with:
-@@ -2234,6 +2285,10 @@ int security_getprocattr(struct task_struct *p, const char *lsm, char *name,
+@@ -2174,6 +2225,10 @@ int security_getprocattr(struct task_struct *p, const char *lsm, char *name,
char **value)
{
struct security_hook_list *hp;
@@ -275,7 +275,7 @@
int ilsm = lsm_task_ilsm(current);
int slot = 0;
-@@ -2261,6 +2316,30 @@ int security_getprocattr(struct task_struct *p, const char *lsm, char *name,
+@@ -2201,6 +2256,30 @@ int security_getprocattr(struct task_struct *p, const char *lsm, char *name,
return -ENOMEM;
}
@@ -307,10 +307,10 @@
if (lsm != NULL && strcmp(lsm, hp->lsmid->lsm))
continue;
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
-index 12ae311b7275..046570556e5a 100644
+index 5ed2164ea0e4..d86cfdd84ecf 100644
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
-@@ -6458,7 +6458,7 @@ static int selinux_getprocattr(struct task_struct *p,
+@@ -6392,7 +6392,7 @@ static int selinux_getprocattr(struct task_struct *p,
goto bad;
}
@@ -320,10 +320,10 @@
else if (!strcmp(name, "prev"))
sid = __tsec->osid;
diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c
-index e65497a5c095..1618d7d6154b 100644
+index 1c14983f87c7..18f1635a5907 100644
--- a/security/smack/smack_lsm.c
+++ b/security/smack/smack_lsm.c
-@@ -3477,7 +3477,7 @@ static int smack_getprocattr(struct task_struct *p, char *name, char **value)
+@@ -3480,7 +3480,7 @@ static int smack_getprocattr(struct task_struct *p, char *name, char **value)
char *cp;
int slen;
@@ -333,5 +333,5 @@
cp = kstrdup(skp->smk_known, GFP_KERNEL);
--
-2.31.1
+2.29.2