diff --git a/security/selinux/avc.c b/security/selinux/avc.c index 74c0319c417e1e143bb7cd468c9744d8fabf88bb..e73ac1ab7cfd49fef995f4dc63694276aa563037 100644 --- a/security/selinux/avc.c +++ b/security/selinux/avc.c @@ -496,7 +496,7 @@ static inline void avc_print_ipv6_addr(struct audit_buffer *ab, 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, __be32 addr, __be16 port, char *name1, char *name2) { if (addr) diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index a29d78d3f44c26a41df206530f0ed209149d3231..78f98fe084ebdd57e9bf24e223e590487e2018fd 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -3537,7 +3537,7 @@ static int selinux_socket_sock_rcv_skb(struct sock *sk, struct sk_buff *skb) goto out; /* Handle mapped IPv4 packets arriving via IPv6 sockets */ - if (family == PF_INET6 && skb->protocol == ntohs(ETH_P_IP)) + if (family == PF_INET6 && skb->protocol == htons(ETH_P_IP)) family = PF_INET; AVC_AUDIT_DATA_INIT(&ad, NET); diff --git a/security/selinux/include/avc.h b/security/selinux/include/avc.h index 960ef18ddc41185f2c642939071999b20dccc890..6ed10c3d3339baf03cb8e79d0357b078a14427bf 100644 --- a/security/selinux/include/avc.h +++ b/security/selinux/include/avc.h @@ -54,12 +54,12 @@ struct avc_audit_data { char *netif; struct sock *sk; u16 family; - u16 dport; - u16 sport; + __be16 dport; + __be16 sport; union { struct { - u32 daddr; - u32 saddr; + __be32 daddr; + __be32 saddr; } v4; struct { struct in6_addr daddr;