Signed-off-by: Andrew Hendry <andrew.hendry@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
case SIOCX25SCUDMATCHLEN: {
struct x25_subaddr sub_addr;
rc = -EINVAL;
case SIOCX25SCUDMATCHLEN: {
struct x25_subaddr sub_addr;
rc = -EINVAL;
if(sk->sk_state != TCP_CLOSE)
if(sk->sk_state != TCP_CLOSE)
rc = -EFAULT;
if (copy_from_user(&sub_addr, argp,
sizeof(sub_addr)))
rc = -EFAULT;
if (copy_from_user(&sub_addr, argp,
sizeof(sub_addr)))
rc = -EINVAL;
if(sub_addr.cudmatchlength > X25_MAX_CUD_LEN)
rc = -EINVAL;
if(sub_addr.cudmatchlength > X25_MAX_CUD_LEN)
x25->cudmatchlength = sub_addr.cudmatchlength;
x25->cudmatchlength = sub_addr.cudmatchlength;
+out_cud_release:
+ release_sock(sk);