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: v5.2.19~281 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=f91ee5bc2100c81e604b64a18de3a8434ee6b86d;p=users%2Fdwmw2%2Flinux.git ieee802154: enforce CAP_NET_RAW for raw sockets [ Upstream commit e69dbd4619e7674c1679cba49afd9dd9ac347eef ] 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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/ieee802154/socket.c b/net/ieee802154/socket.c index dacbd58e17992..0bce822b95d01 100644 --- a/net/ieee802154/socket.c +++ b/net/ieee802154/socket.c @@ -1008,6 +1008,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;