| .. | .. |
|---|
| 381 | 381 | msg->pvc.sap_addr.vpi, |
|---|
| 382 | 382 | msg->pvc.sap_addr.vci); |
|---|
| 383 | 383 | dev_kfree_skb(skb); |
|---|
| 384 | | - sk->sk_ack_backlog--; |
|---|
| 384 | + sk_acceptq_removed(sk); |
|---|
| 385 | 385 | if (error) { |
|---|
| 386 | 386 | sigd_enq2(NULL, as_reject, old_vcc, NULL, NULL, |
|---|
| 387 | 387 | &old_vcc->qos, error); |
|---|
| .. | .. |
|---|
| 451 | 451 | } |
|---|
| 452 | 452 | |
|---|
| 453 | 453 | static int svc_setsockopt(struct socket *sock, int level, int optname, |
|---|
| 454 | | - char __user *optval, unsigned int optlen) |
|---|
| 454 | + sockptr_t optval, unsigned int optlen) |
|---|
| 455 | 455 | { |
|---|
| 456 | 456 | struct sock *sk = sock->sk; |
|---|
| 457 | 457 | struct atm_vcc *vcc = ATM_SD(sock); |
|---|
| .. | .. |
|---|
| 464 | 464 | error = -EINVAL; |
|---|
| 465 | 465 | goto out; |
|---|
| 466 | 466 | } |
|---|
| 467 | | - if (copy_from_user(&vcc->sap, optval, optlen)) { |
|---|
| 467 | + if (copy_from_sockptr(&vcc->sap, optval, optlen)) { |
|---|
| 468 | 468 | error = -EFAULT; |
|---|
| 469 | 469 | goto out; |
|---|
| 470 | 470 | } |
|---|
| .. | .. |
|---|
| 475 | 475 | error = -EINVAL; |
|---|
| 476 | 476 | goto out; |
|---|
| 477 | 477 | } |
|---|
| 478 | | - if (get_user(value, (int __user *)optval)) { |
|---|
| 478 | + if (copy_from_sockptr(&value, optval, sizeof(int))) { |
|---|
| 479 | 479 | error = -EFAULT; |
|---|
| 480 | 480 | goto out; |
|---|
| 481 | 481 | } |
|---|
| .. | .. |
|---|
| 641 | 641 | #ifdef CONFIG_COMPAT |
|---|
| 642 | 642 | .compat_ioctl = svc_compat_ioctl, |
|---|
| 643 | 643 | #endif |
|---|
| 644 | + .gettstamp = sock_gettstamp, |
|---|
| 644 | 645 | .listen = svc_listen, |
|---|
| 645 | 646 | .shutdown = svc_shutdown, |
|---|
| 646 | 647 | .setsockopt = svc_setsockopt, |
|---|