summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Reisner <philipp.reisner@linbit.com>2009-10-13 11:28:16 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2009-10-22 15:11:56 -0700
commit060425ef1d42f59b9b3faed31406e9e59c7464a0 (patch)
tree25f6c2c4c0dd75307f0a9a7b7d1d491b05ddcafa
parente1a7338bc0da30633357c84be4df222a1bdbfd99 (diff)
dst/connector: Disallow unpliviged users to configure dst
(cherry picked from commit dbbb3431228784612848a1ec6061c78b4b708b5c) Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/staging/dst/dcore.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/staging/dst/dcore.c b/drivers/staging/dst/dcore.c
index 32f102d5c21b..5546898dbdb4 100644
--- a/drivers/staging/dst/dcore.c
+++ b/drivers/staging/dst/dcore.c
@@ -854,6 +854,11 @@ static void cn_dst_callback(struct cn_msg *msg, struct netlink_skb_parms *nsp)
struct dst_node *n = NULL, *tmp;
unsigned int hash;
+ if (!cap_raised(nsp->eff_cap, CAP_SYS_ADMIN)) {
+ err = -EPERM;
+ goto out;
+ }
+
if (msg->len < sizeof(struct dst_ctl)) {
err = -EBADMSG;
goto out;