common.c (7483d45f0aee3afc0646d185cabd4af9f6cab58c) common.c (e862f1a9b7df4e8196ebec45ac62295138aa3fc2)
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>

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

807 return put_user(vcc->atm_options & ATM_ATMOPT_CLP ? 1 : 0,
808 (unsigned long __user *)optval) ? -EFAULT : 0;
809 case SO_ATMPVC:
810 {
811 struct sockaddr_atmpvc pvc;
812
813 if (!vcc->dev || !test_bit(ATM_VF_ADDR, &vcc->flags))
814 return -ENOTCONN;
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>

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

807 return put_user(vcc->atm_options & ATM_ATMOPT_CLP ? 1 : 0,
808 (unsigned long __user *)optval) ? -EFAULT : 0;
809 case SO_ATMPVC:
810 {
811 struct sockaddr_atmpvc pvc;
812
813 if (!vcc->dev || !test_bit(ATM_VF_ADDR, &vcc->flags))
814 return -ENOTCONN;
815 memset(&pvc, 0, sizeof(pvc));
815 pvc.sap_family = AF_ATMPVC;
816 pvc.sap_addr.itf = vcc->dev->number;
817 pvc.sap_addr.vpi = vcc->vpi;
818 pvc.sap_addr.vci = vcc->vci;
819 return copy_to_user(optval, &pvc, sizeof(pvc)) ? -EFAULT : 0;
820 }
821 default:
822 if (level == SOL_SOCKET)

--- 76 unchanged lines hidden ---
816 pvc.sap_family = AF_ATMPVC;
817 pvc.sap_addr.itf = vcc->dev->number;
818 pvc.sap_addr.vpi = vcc->vpi;
819 pvc.sap_addr.vci = vcc->vci;
820 return copy_to_user(optval, &pvc, sizeof(pvc)) ? -EFAULT : 0;
821 }
822 default:
823 if (level == SOL_SOCKET)

--- 76 unchanged lines hidden ---