X25 remove bkl in call user data length ioctl
Signed-off-by: Andrew Hendry <andrew.hendry@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
74a7e44080
commit
3f0a069a1d
@@ -1562,19 +1562,20 @@ out_dtefac_release:
|
|||||||
case SIOCX25SCUDMATCHLEN: {
|
case SIOCX25SCUDMATCHLEN: {
|
||||||
struct x25_subaddr sub_addr;
|
struct x25_subaddr sub_addr;
|
||||||
rc = -EINVAL;
|
rc = -EINVAL;
|
||||||
lock_kernel();
|
lock_sock(sk);
|
||||||
if(sk->sk_state != TCP_CLOSE)
|
if(sk->sk_state != TCP_CLOSE)
|
||||||
break;
|
goto out_cud_release;
|
||||||
rc = -EFAULT;
|
rc = -EFAULT;
|
||||||
if (copy_from_user(&sub_addr, argp,
|
if (copy_from_user(&sub_addr, argp,
|
||||||
sizeof(sub_addr)))
|
sizeof(sub_addr)))
|
||||||
break;
|
goto out_cud_release;
|
||||||
rc = -EINVAL;
|
rc = -EINVAL;
|
||||||
if(sub_addr.cudmatchlength > X25_MAX_CUD_LEN)
|
if(sub_addr.cudmatchlength > X25_MAX_CUD_LEN)
|
||||||
break;
|
goto out_cud_release;
|
||||||
x25->cudmatchlength = sub_addr.cudmatchlength;
|
x25->cudmatchlength = sub_addr.cudmatchlength;
|
||||||
unlock_kernel();
|
|
||||||
rc = 0;
|
rc = 0;
|
||||||
|
out_cud_release:
|
||||||
|
release_sock(sk);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user