l2tp_ip.c (db6da59cf27b5661ced03754ae0550f8914eda9e) l2tp_ip.c (e1d001fa5b477c4da46a29be1fcece91db7c7c6f)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/* L2TPv3 IP encapsulation support
3 *
4 * Copyright (c) 2008,2009,2010 Katalix Systems Ltd
5 */
6
7#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
8

--- 548 unchanged lines hidden (view full) ---

557 if (flags & MSG_TRUNC)
558 copied = skb->len;
559done:
560 skb_free_datagram(sk, skb);
561out:
562 return err ? err : copied;
563}
564
1// SPDX-License-Identifier: GPL-2.0-or-later
2/* L2TPv3 IP encapsulation support
3 *
4 * Copyright (c) 2008,2009,2010 Katalix Systems Ltd
5 */
6
7#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
8

--- 548 unchanged lines hidden (view full) ---

557 if (flags & MSG_TRUNC)
558 copied = skb->len;
559done:
560 skb_free_datagram(sk, skb);
561out:
562 return err ? err : copied;
563}
564
565int l2tp_ioctl(struct sock *sk, int cmd, unsigned long arg)
565int l2tp_ioctl(struct sock *sk, int cmd, int *karg)
566{
567 struct sk_buff *skb;
566{
567 struct sk_buff *skb;
568 int amount;
569
570 switch (cmd) {
571 case SIOCOUTQ:
568
569 switch (cmd) {
570 case SIOCOUTQ:
572 amount = sk_wmem_alloc_get(sk);
571 *karg = sk_wmem_alloc_get(sk);
573 break;
574 case SIOCINQ:
575 spin_lock_bh(&sk->sk_receive_queue.lock);
576 skb = skb_peek(&sk->sk_receive_queue);
572 break;
573 case SIOCINQ:
574 spin_lock_bh(&sk->sk_receive_queue.lock);
575 skb = skb_peek(&sk->sk_receive_queue);
577 amount = skb ? skb->len : 0;
576 *karg = skb ? skb->len : 0;
578 spin_unlock_bh(&sk->sk_receive_queue.lock);
579 break;
580
581 default:
582 return -ENOIOCTLCMD;
583 }
584
577 spin_unlock_bh(&sk->sk_receive_queue.lock);
578 break;
579
580 default:
581 return -ENOIOCTLCMD;
582 }
583
585 return put_user(amount, (int __user *)arg);
584 return 0;
586}
587EXPORT_SYMBOL_GPL(l2tp_ioctl);
588
589static struct proto l2tp_ip_prot = {
590 .name = "L2TP/IP",
591 .owner = THIS_MODULE,
592 .init = l2tp_ip_open,
593 .close = l2tp_ip_close,

--- 91 unchanged lines hidden ---
585}
586EXPORT_SYMBOL_GPL(l2tp_ioctl);
587
588static struct proto l2tp_ip_prot = {
589 .name = "L2TP/IP",
590 .owner = THIS_MODULE,
591 .init = l2tp_ip_open,
592 .close = l2tp_ip_close,

--- 91 unchanged lines hidden ---