aboutsummaryrefslogtreecommitdiffstats
path: root/net/xfrm/xfrm_policy.c
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2012-09-11 01:39:43 -0400
committerEric W. Biederman <ebiederm@xmission.com>2012-09-17 21:08:54 -0400
commite1760bd5ffae8cb98cffb030ee8e631eba28f3d8 (patch)
tree4694a60b407c418bf7de4b97355dc3bd0e6c6559 /net/xfrm/xfrm_policy.c
parentca57ec0f00c3f139c41bf6b0a5b9bcc95bbb2ad7 (diff)
userns: Convert the audit loginuid to be a kuid
Always store audit loginuids in type kuid_t. Print loginuids by converting them into uids in the appropriate user namespace, and then printing the resulting uid. Modify audit_get_loginuid to return a kuid_t. Modify audit_set_loginuid to take a kuid_t. Modify /proc/<pid>/loginuid on read to convert the loginuid into the user namespace of the opener of the file. Modify /proc/<pid>/loginud on write to convert the loginuid rom the user namespace of the opener of the file. Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Eric Paris <eparis@redhat.com> Cc: Paul Moore <paul@paul-moore.com> ? Cc: David Miller <davem@davemloft.net> Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Diffstat (limited to 'net/xfrm/xfrm_policy.c')
-rw-r--r--net/xfrm/xfrm_policy.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
index c5a5165a592..2f475151cea 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
@@ -2630,12 +2630,12 @@ static void xfrm_policy_fini(struct net *net)
2630 2630
2631 flush_work(&net->xfrm.policy_hash_work); 2631 flush_work(&net->xfrm.policy_hash_work);
2632#ifdef CONFIG_XFRM_SUB_POLICY 2632#ifdef CONFIG_XFRM_SUB_POLICY
2633 audit_info.loginuid = -1; 2633 audit_info.loginuid = INVALID_UID;
2634 audit_info.sessionid = -1; 2634 audit_info.sessionid = -1;
2635 audit_info.secid = 0; 2635 audit_info.secid = 0;
2636 xfrm_policy_flush(net, XFRM_POLICY_TYPE_SUB, &audit_info); 2636 xfrm_policy_flush(net, XFRM_POLICY_TYPE_SUB, &audit_info);
2637#endif 2637#endif
2638 audit_info.loginuid = -1; 2638 audit_info.loginuid = INVALID_UID;
2639 audit_info.sessionid = -1; 2639 audit_info.sessionid = -1;
2640 audit_info.secid = 0; 2640 audit_info.secid = 0;
2641 xfrm_policy_flush(net, XFRM_POLICY_TYPE_MAIN, &audit_info); 2641 xfrm_policy_flush(net, XFRM_POLICY_TYPE_MAIN, &audit_info);
@@ -2742,7 +2742,7 @@ static void xfrm_audit_common_policyinfo(struct xfrm_policy *xp,
2742} 2742}
2743 2743
2744void xfrm_audit_policy_add(struct xfrm_policy *xp, int result, 2744void xfrm_audit_policy_add(struct xfrm_policy *xp, int result,
2745 uid_t auid, u32 sessionid, u32 secid) 2745 kuid_t auid, u32 sessionid, u32 secid)
2746{ 2746{
2747 struct audit_buffer *audit_buf; 2747 struct audit_buffer *audit_buf;
2748 2748
@@ -2757,7 +2757,7 @@ void xfrm_audit_policy_add(struct xfrm_policy *xp, int result,
2757EXPORT_SYMBOL_GPL(xfrm_audit_policy_add); 2757EXPORT_SYMBOL_GPL(xfrm_audit_policy_add);
2758 2758
2759void xfrm_audit_policy_delete(struct xfrm_policy *xp, int result, 2759void xfrm_audit_policy_delete(struct xfrm_policy *xp, int result,
2760 uid_t auid, u32 sessionid, u32 secid) 2760 kuid_t auid, u32 sessionid, u32 secid)
2761{ 2761{
2762 struct audit_buffer *audit_buf; 2762 struct audit_buffer *audit_buf;
2763 2763