aboutsummaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2015-04-11 22:27:19 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2015-04-11 22:27:19 -0400
commit39c853ebfe169f187a760b34f9cbf54751bfce00 (patch)
tree2a5a741d0cff7d4f90998b31b32ff80cfccd0369 /security
parentfdc81f45e9f57858da6351836507fbcf1b7583ee (diff)
parent01e97e6517053d7c0b9af5248e944a9209909cf5 (diff)
Merge branch 'for-davem' into for-next
Diffstat (limited to 'security')
-rw-r--r--security/capability.c6
-rw-r--r--security/security.c5
-rw-r--r--security/selinux/hooks.c35
-rw-r--r--security/selinux/selinuxfs.c2
-rw-r--r--security/smack/smack_netfilter.c8
5 files changed, 12 insertions, 44 deletions
diff --git a/security/capability.c b/security/capability.c
index bdf22034a961..0d03fcc489a4 100644
--- a/security/capability.c
+++ b/security/capability.c
@@ -776,11 +776,6 @@ static int cap_tun_dev_open(void *security)
776{ 776{
777 return 0; 777 return 0;
778} 778}
779
780static void cap_skb_owned_by(struct sk_buff *skb, struct sock *sk)
781{
782}
783
784#endif /* CONFIG_SECURITY_NETWORK */ 779#endif /* CONFIG_SECURITY_NETWORK */
785 780
786#ifdef CONFIG_SECURITY_NETWORK_XFRM 781#ifdef CONFIG_SECURITY_NETWORK_XFRM
@@ -1134,7 +1129,6 @@ void __init security_fixup_ops(struct security_operations *ops)
1134 set_to_cap_if_null(ops, tun_dev_open); 1129 set_to_cap_if_null(ops, tun_dev_open);
1135 set_to_cap_if_null(ops, tun_dev_attach_queue); 1130 set_to_cap_if_null(ops, tun_dev_attach_queue);
1136 set_to_cap_if_null(ops, tun_dev_attach); 1131 set_to_cap_if_null(ops, tun_dev_attach);
1137 set_to_cap_if_null(ops, skb_owned_by);
1138#endif /* CONFIG_SECURITY_NETWORK */ 1132#endif /* CONFIG_SECURITY_NETWORK */
1139#ifdef CONFIG_SECURITY_NETWORK_XFRM 1133#ifdef CONFIG_SECURITY_NETWORK_XFRM
1140 set_to_cap_if_null(ops, xfrm_policy_alloc_security); 1134 set_to_cap_if_null(ops, xfrm_policy_alloc_security);
diff --git a/security/security.c b/security/security.c
index ed890c6d31c5..730ac65a5737 100644
--- a/security/security.c
+++ b/security/security.c
@@ -1359,11 +1359,6 @@ int security_tun_dev_open(void *security)
1359} 1359}
1360EXPORT_SYMBOL(security_tun_dev_open); 1360EXPORT_SYMBOL(security_tun_dev_open);
1361 1361
1362void security_skb_owned_by(struct sk_buff *skb, struct sock *sk)
1363{
1364 security_ops->skb_owned_by(skb, sk);
1365}
1366
1367#endif /* CONFIG_SECURITY_NETWORK */ 1362#endif /* CONFIG_SECURITY_NETWORK */
1368 1363
1369#ifdef CONFIG_SECURITY_NETWORK_XFRM 1364#ifdef CONFIG_SECURITY_NETWORK_XFRM
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
index e119cdcffc87..c318b304ee2f 100644
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
@@ -51,7 +51,6 @@
51#include <linux/tty.h> 51#include <linux/tty.h>
52#include <net/icmp.h> 52#include <net/icmp.h>
53#include <net/ip.h> /* for local_port_range[] */ 53#include <net/ip.h> /* for local_port_range[] */
54#include <net/sock.h>
55#include <net/tcp.h> /* struct or_callable used in sock_rcv_skb */ 54#include <net/tcp.h> /* struct or_callable used in sock_rcv_skb */
56#include <net/inet_connection_sock.h> 55#include <net/inet_connection_sock.h>
57#include <net/net_namespace.h> 56#include <net/net_namespace.h>
@@ -4646,11 +4645,6 @@ static void selinux_inet_conn_established(struct sock *sk, struct sk_buff *skb)
4646 selinux_skb_peerlbl_sid(skb, family, &sksec->peer_sid); 4645 selinux_skb_peerlbl_sid(skb, family, &sksec->peer_sid);
4647} 4646}
4648 4647
4649static void selinux_skb_owned_by(struct sk_buff *skb, struct sock *sk)
4650{
4651 skb_set_owner_w(skb, sk);
4652}
4653
4654static int selinux_secmark_relabel_packet(u32 sid) 4648static int selinux_secmark_relabel_packet(u32 sid)
4655{ 4649{
4656 const struct task_security_struct *__tsec; 4650 const struct task_security_struct *__tsec;
@@ -4852,21 +4846,17 @@ static unsigned int selinux_ip_forward(struct sk_buff *skb,
4852 4846
4853static unsigned int selinux_ipv4_forward(const struct nf_hook_ops *ops, 4847static unsigned int selinux_ipv4_forward(const struct nf_hook_ops *ops,
4854 struct sk_buff *skb, 4848 struct sk_buff *skb,
4855 const struct net_device *in, 4849 const struct nf_hook_state *state)
4856 const struct net_device *out,
4857 int (*okfn)(struct sk_buff *))
4858{ 4850{
4859 return selinux_ip_forward(skb, in, PF_INET); 4851 return selinux_ip_forward(skb, state->in, PF_INET);
4860} 4852}
4861 4853
4862#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) 4854#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
4863static unsigned int selinux_ipv6_forward(const struct nf_hook_ops *ops, 4855static unsigned int selinux_ipv6_forward(const struct nf_hook_ops *ops,
4864 struct sk_buff *skb, 4856 struct sk_buff *skb,
4865 const struct net_device *in, 4857 const struct nf_hook_state *state)
4866 const struct net_device *out,
4867 int (*okfn)(struct sk_buff *))
4868{ 4858{
4869 return selinux_ip_forward(skb, in, PF_INET6); 4859 return selinux_ip_forward(skb, state->in, PF_INET6);
4870} 4860}
4871#endif /* IPV6 */ 4861#endif /* IPV6 */
4872 4862
@@ -4914,9 +4904,7 @@ static unsigned int selinux_ip_output(struct sk_buff *skb,
4914 4904
4915static unsigned int selinux_ipv4_output(const struct nf_hook_ops *ops, 4905static unsigned int selinux_ipv4_output(const struct nf_hook_ops *ops,
4916 struct sk_buff *skb, 4906 struct sk_buff *skb,
4917 const struct net_device *in, 4907 const struct nf_hook_state *state)
4918 const struct net_device *out,
4919 int (*okfn)(struct sk_buff *))
4920{ 4908{
4921 return selinux_ip_output(skb, PF_INET); 4909 return selinux_ip_output(skb, PF_INET);
4922} 4910}
@@ -5091,21 +5079,17 @@ static unsigned int selinux_ip_postroute(struct sk_buff *skb,
5091 5079
5092static unsigned int selinux_ipv4_postroute(const struct nf_hook_ops *ops, 5080static unsigned int selinux_ipv4_postroute(const struct nf_hook_ops *ops,
5093 struct sk_buff *skb, 5081 struct sk_buff *skb,
5094 const struct net_device *in, 5082 const struct nf_hook_state *state)
5095 const struct net_device *out,
5096 int (*okfn)(struct sk_buff *))
5097{ 5083{
5098 return selinux_ip_postroute(skb, out, PF_INET); 5084 return selinux_ip_postroute(skb, state->out, PF_INET);
5099} 5085}
5100 5086
5101#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) 5087#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
5102static unsigned int selinux_ipv6_postroute(const struct nf_hook_ops *ops, 5088static unsigned int selinux_ipv6_postroute(const struct nf_hook_ops *ops,
5103 struct sk_buff *skb, 5089 struct sk_buff *skb,
5104 const struct net_device *in, 5090 const struct nf_hook_state *state)
5105 const struct net_device *out,
5106 int (*okfn)(struct sk_buff *))
5107{ 5091{
5108 return selinux_ip_postroute(skb, out, PF_INET6); 5092 return selinux_ip_postroute(skb, state->out, PF_INET6);
5109} 5093}
5110#endif /* IPV6 */ 5094#endif /* IPV6 */
5111 5095
@@ -6035,7 +6019,6 @@ static struct security_operations selinux_ops = {
6035 .tun_dev_attach_queue = selinux_tun_dev_attach_queue, 6019 .tun_dev_attach_queue = selinux_tun_dev_attach_queue,
6036 .tun_dev_attach = selinux_tun_dev_attach, 6020 .tun_dev_attach = selinux_tun_dev_attach,
6037 .tun_dev_open = selinux_tun_dev_open, 6021 .tun_dev_open = selinux_tun_dev_open,
6038 .skb_owned_by = selinux_skb_owned_by,
6039 6022
6040#ifdef CONFIG_SECURITY_NETWORK_XFRM 6023#ifdef CONFIG_SECURITY_NETWORK_XFRM
6041 .xfrm_policy_alloc_security = selinux_xfrm_policy_alloc, 6024 .xfrm_policy_alloc_security = selinux_xfrm_policy_alloc,
diff --git a/security/selinux/selinuxfs.c b/security/selinux/selinuxfs.c
index 1684bcc78b34..5fde34326dcf 100644
--- a/security/selinux/selinuxfs.c
+++ b/security/selinux/selinuxfs.c
@@ -152,7 +152,7 @@ static ssize_t sel_write_enforce(struct file *file, const char __user *buf,
152 goto out; 152 goto out;
153 153
154 /* No partial writes. */ 154 /* No partial writes. */
155 length = EINVAL; 155 length = -EINVAL;
156 if (*ppos != 0) 156 if (*ppos != 0)
157 goto out; 157 goto out;
158 158
diff --git a/security/smack/smack_netfilter.c b/security/smack/smack_netfilter.c
index c952632afb0d..a455cfc9ec1f 100644
--- a/security/smack/smack_netfilter.c
+++ b/security/smack/smack_netfilter.c
@@ -23,9 +23,7 @@
23 23
24static unsigned int smack_ipv6_output(const struct nf_hook_ops *ops, 24static unsigned int smack_ipv6_output(const struct nf_hook_ops *ops,
25 struct sk_buff *skb, 25 struct sk_buff *skb,
26 const struct net_device *in, 26 const struct nf_hook_state *state)
27 const struct net_device *out,
28 int (*okfn)(struct sk_buff *))
29{ 27{
30 struct socket_smack *ssp; 28 struct socket_smack *ssp;
31 struct smack_known *skp; 29 struct smack_known *skp;
@@ -42,9 +40,7 @@ static unsigned int smack_ipv6_output(const struct nf_hook_ops *ops,
42 40
43static unsigned int smack_ipv4_output(const struct nf_hook_ops *ops, 41static unsigned int smack_ipv4_output(const struct nf_hook_ops *ops,
44 struct sk_buff *skb, 42 struct sk_buff *skb,
45 const struct net_device *in, 43 const struct nf_hook_state *state)
46 const struct net_device *out,
47 int (*okfn)(struct sk_buff *))
48{ 44{
49 struct socket_smack *ssp; 45 struct socket_smack *ssp;
50 struct smack_known *skp; 46 struct smack_known *skp;