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 --- |