Commit 7787c5a4 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] selinux: make IPv6 code work with audit framework

From: James Morris <jmorris@redhat.com>

This patch makes the IPv6 code work with the audit framework, following the
merge of both.
parent f85a96f6
...@@ -416,14 +416,15 @@ int avc_insert(u32 ssid, u32 tsid, u16 tclass, ...@@ -416,14 +416,15 @@ int avc_insert(u32 ssid, u32 tsid, u16 tclass,
return rc; return rc;
} }
static inline void avc_print_ipv6_addr(struct in6_addr *addr, u16 port, static inline void avc_print_ipv6_addr(struct audit_buffer *ab,
struct in6_addr *addr, u16 port,
char *name1, char *name2) char *name1, char *name2)
{ {
if (!ipv6_addr_any(addr)) if (!ipv6_addr_any(addr))
printk(" %s=%04x:%04x:%04x:%04x:%04x:%04x:%04x:%04x", audit_log_format(ab, " %s=%04x:%04x:%04x:%04x:%04x:"
name1, NIP6(*addr)); "%04x:%04x:%04x", name1, NIP6(*addr));
if (port) if (port)
printk(" %s=%d", name2, ntohs(port)); audit_log_format(ab, " %s=%d", name2, ntohs(port));
} }
static inline void avc_print_ipv4_addr(struct audit_buffer *ab, u32 addr, static inline void avc_print_ipv4_addr(struct audit_buffer *ab, u32 addr,
...@@ -625,10 +626,10 @@ void avc_audit(u32 ssid, u32 tsid, ...@@ -625,10 +626,10 @@ void avc_audit(u32 ssid, u32 tsid,
struct inet_opt *inet = inet_sk(sk); struct inet_opt *inet = inet_sk(sk);
struct ipv6_pinfo *inet6 = inet6_sk(sk); struct ipv6_pinfo *inet6 = inet6_sk(sk);
avc_print_ipv6_addr(&inet6->rcv_saddr, avc_print_ipv6_addr(ab, &inet6->rcv_saddr,
inet->sport, inet->sport,
"laddr", "lport"); "laddr", "lport");
avc_print_ipv6_addr(&inet6->daddr, avc_print_ipv6_addr(ab, &inet6->daddr,
inet->dport, inet->dport,
"faddr", "fport"); "faddr", "fport");
break; break;
...@@ -666,10 +667,10 @@ void avc_audit(u32 ssid, u32 tsid, ...@@ -666,10 +667,10 @@ void avc_audit(u32 ssid, u32 tsid,
"daddr", "dest"); "daddr", "dest");
break; break;
case AF_INET6: case AF_INET6:
avc_print_ipv6_addr(&a->u.net.v6info.saddr, avc_print_ipv6_addr(ab, &a->u.net.v6info.saddr,
a->u.net.sport, a->u.net.sport,
"saddr", "src"); "saddr", "src");
avc_print_ipv6_addr(&a->u.net.v6info.daddr, avc_print_ipv6_addr(ab, &a->u.net.v6info.daddr,
a->u.net.dport, a->u.net.dport,
"daddr", "dest"); "daddr", "dest");
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment