diff --git a/net/atm/signaling.c b/net/atm/signaling.c index e70ae2c113f9..0fda16975c70 100644 --- a/net/atm/signaling.c +++ b/net/atm/signaling.c @@ -63,6 +63,11 @@ static void modify_qos(struct atm_vcc *vcc, struct atmsvc_msg *msg) static int sigd_send(struct atm_vcc *vcc, struct sk_buff *skb) { + if (vcc != sigd || !test_bit(ATM_VF_SESSION, &vcc->flags)) { + dev_kfree_skb(skb); + return -EPERM; + } + struct atmsvc_msg *msg; struct atm_vcc *session_vcc; struct sock *sk;