From: Ori Nimron Date: Fri, 20 Sep 2019 07:35:48 +0000 (+0200) Subject: ieee802154: enforce CAP_NET_RAW for raw sockets X-Git-Tag: v3.16.77~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b8a15d59a9b26a734f6d8d5f10376f336f7d021b;p=thirdparty%2Fkernel%2Fstable.git ieee802154: enforce CAP_NET_RAW for raw sockets commit e69dbd4619e7674c1679cba49afd9dd9ac347eef upstream. When creating a raw AF_IEEE802154 socket, CAP_NET_RAW needs to be checked first. Signed-off-by: Ori Nimron Signed-off-by: Greg Kroah-Hartman Acked-by: Stefan Schmidt Signed-off-by: David S. Miller [bwh: Backported to 3.16: adjust filename] Signed-off-by: Ben Hutchings --- diff --git a/net/ieee802154/af_ieee802154.c b/net/ieee802154/af_ieee802154.c index 351d9a94ec2fa..bc262a3f46ba5 100644 --- a/net/ieee802154/af_ieee802154.c +++ b/net/ieee802154/af_ieee802154.c @@ -255,6 +255,9 @@ static int ieee802154_create(struct net *net, struct socket *sock, switch (sock->type) { case SOCK_RAW: + rc = -EPERM; + if (!capable(CAP_NET_RAW)) + goto out; proto = &ieee802154_raw_prot; ops = &ieee802154_raw_ops; break;