common.c (9938b04472d5c59f8bd8152a548533a8599596a2) common.c (cbbd26b8b1a6af9c02e2b6523e12bd50cc765059)
1/* net/atm/common.c - ATM sockets (common part for PVC and SVC) */
2
3/* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */
4
5#define pr_fmt(fmt) KBUILD_MODNAME ":%s: " fmt, __func__
6
7#include <linux/module.h>
8#include <linux/kmod.h>

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

625 }
626 prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE);
627 }
628 finish_wait(sk_sleep(sk), &wait);
629 if (error)
630 goto out;
631 skb->dev = NULL; /* for paths shared with net_device interfaces */
632 ATM_SKB(skb)->atm_options = vcc->atm_options;
1/* net/atm/common.c - ATM sockets (common part for PVC and SVC) */
2
3/* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */
4
5#define pr_fmt(fmt) KBUILD_MODNAME ":%s: " fmt, __func__
6
7#include <linux/module.h>
8#include <linux/kmod.h>

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

625 }
626 prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE);
627 }
628 finish_wait(sk_sleep(sk), &wait);
629 if (error)
630 goto out;
631 skb->dev = NULL; /* for paths shared with net_device interfaces */
632 ATM_SKB(skb)->atm_options = vcc->atm_options;
633 if (copy_from_iter(skb_put(skb, size), size, &m->msg_iter) != size) {
633 if (!copy_from_iter_full(skb_put(skb, size), size, &m->msg_iter)) {
634 kfree_skb(skb);
635 error = -EFAULT;
636 goto out;
637 }
638 if (eff != size)
639 memset(skb->data + size, 0, eff-size);
640 error = vcc->dev->ops->send(vcc, skb);
641 error = error ? error : size;

--- 260 unchanged lines hidden ---
634 kfree_skb(skb);
635 error = -EFAULT;
636 goto out;
637 }
638 if (eff != size)
639 memset(skb->data + size, 0, eff-size);
640 error = vcc->dev->ops->send(vcc, skb);
641 error = error ? error : size;

--- 260 unchanged lines hidden ---