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