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