hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/net/atm/svc.c
....@@ -381,7 +381,7 @@
381381 msg->pvc.sap_addr.vpi,
382382 msg->pvc.sap_addr.vci);
383383 dev_kfree_skb(skb);
384
- sk->sk_ack_backlog--;
384
+ sk_acceptq_removed(sk);
385385 if (error) {
386386 sigd_enq2(NULL, as_reject, old_vcc, NULL, NULL,
387387 &old_vcc->qos, error);
....@@ -451,7 +451,7 @@
451451 }
452452
453453 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)
455455 {
456456 struct sock *sk = sock->sk;
457457 struct atm_vcc *vcc = ATM_SD(sock);
....@@ -464,7 +464,7 @@
464464 error = -EINVAL;
465465 goto out;
466466 }
467
- if (copy_from_user(&vcc->sap, optval, optlen)) {
467
+ if (copy_from_sockptr(&vcc->sap, optval, optlen)) {
468468 error = -EFAULT;
469469 goto out;
470470 }
....@@ -475,7 +475,7 @@
475475 error = -EINVAL;
476476 goto out;
477477 }
478
- if (get_user(value, (int __user *)optval)) {
478
+ if (copy_from_sockptr(&value, optval, sizeof(int))) {
479479 error = -EFAULT;
480480 goto out;
481481 }
....@@ -641,6 +641,7 @@
641641 #ifdef CONFIG_COMPAT
642642 .compat_ioctl = svc_compat_ioctl,
643643 #endif
644
+ .gettstamp = sock_gettstamp,
644645 .listen = svc_listen,
645646 .shutdown = svc_shutdown,
646647 .setsockopt = svc_setsockopt,