[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202211160939.Do2qf7Li-lkp@intel.com>
Date: Wed, 16 Nov 2022 09:58:55 +0800
From: kernel test robot <lkp@...el.com>
To: "Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>
Cc: oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
x86@...nel.org, Dave Hansen <dave.hansen@...ux.intel.com>
Subject: [tip:x86/mm 5/16] net/appletalk/ddp.c:1810:22: sparse: sparse:
incorrect type in assignment (different address spaces)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/mm
head: f2089aa0cd8e52564240a93ea1e4bb643c0ed34c
commit: 5744534bdae403270f86d934a6c5878da6a5a64f [5/16] x86/uaccess: Provide untagged_addr() and remove tags before address check
config: x86_64-randconfig-s023-20221114
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-39-gce1a6720-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=5744534bdae403270f86d934a6c5878da6a5a64f
git remote add tip https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
git fetch --no-tags tip x86/mm
git checkout 5744534bdae403270f86d934a6c5878da6a5a64f
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash net/appletalk/ net/atm/ net/can/ net/dccp/ net/ieee802154/ net/ipv4/ net/ipv6/ net/kcm/ net/mctp/ net/netfilter/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
sparse warnings: (new ones prefixed by >>)
net/appletalk/ddp.c:100:33: sparse: sparse: restricted __be16 degrades to integer
net/appletalk/ddp.c:113:33: sparse: sparse: restricted __be16 degrades to integer
net/appletalk/ddp.c:409:47: sparse: sparse: restricted __be16 degrades to integer
>> net/appletalk/ddp.c:1810:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/appletalk/ddp.c:1810:22: sparse: expected int [noderef] __user *__ptr_clean
net/appletalk/ddp.c:1810:22: sparse: got int *
net/appletalk/ddp.c:1823:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/appletalk/ddp.c:1823:22: sparse: expected int [noderef] __user *__ptr_clean
net/appletalk/ddp.c:1823:22: sparse: got int *
--
>> net/atm/svc.c:509:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/atm/svc.c:509:13: sparse: expected int [noderef] __user *__ptr_clean
net/atm/svc.c:509:13: sparse: got int *
--
>> net/atm/ioctl.c:70:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/atm/ioctl.c:70:25: sparse: expected int [noderef] __user *__ptr_clean
net/atm/ioctl.c:70:25: sparse: got int *
net/atm/ioctl.c:82:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/atm/ioctl.c:82:25: sparse: expected int [noderef] __user *__ptr_clean
net/atm/ioctl.c:82:25: sparse: got int *
>> net/atm/ioctl.c:125:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned short [noderef] __user *__ptr_clean @@ got unsigned short * @@
net/atm/ioctl.c:125:25: sparse: expected unsigned short [noderef] __user *__ptr_clean
net/atm/ioctl.c:125:25: sparse: got unsigned short *
>> net/atm/ioctl.c:180:29: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __user *[noderef] __user *__ptr_clean @@ got void [noderef] __user ** @@
net/atm/ioctl.c:180:29: sparse: expected void [noderef] __user *[noderef] __user *__ptr_clean
net/atm/ioctl.c:180:29: sparse: got void [noderef] __user **
net/atm/ioctl.c:203:29: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __user *[noderef] __user *__ptr_clean @@ got void [noderef] __user ** @@
net/atm/ioctl.c:203:29: sparse: expected void [noderef] __user *[noderef] __user *__ptr_clean
net/atm/ioctl.c:203:29: sparse: got void [noderef] __user **
net/atm/ioctl.c:205:29: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/atm/ioctl.c:205:29: sparse: expected int [noderef] __user *__ptr_clean
net/atm/ioctl.c:205:29: sparse: got int *
--
>> net/atm/common.c:795:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/atm/common.c:795:13: sparse: expected int [noderef] __user *__ptr_clean
net/atm/common.c:795:13: sparse: got int *
>> net/atm/common.c:808:24: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned long [noderef] __user *__ptr_clean @@ got unsigned long * @@
net/atm/common.c:808:24: sparse: expected unsigned long [noderef] __user *__ptr_clean
net/atm/common.c:808:24: sparse: got unsigned long *
--
>> net/atm/resources.c:201:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/atm/resources.c:201:13: sparse: expected int [noderef] __user *__ptr_clean
net/atm/resources.c:201:13: sparse: got int *
net/atm/resources.c:221:18: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/atm/resources.c:221:18: sparse: expected int [noderef] __user *__ptr_clean
net/atm/resources.c:221:18: sparse: got int *
net/atm/resources.c:233:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/atm/resources.c:233:13: sparse: expected int [noderef] __user *__ptr_clean
net/atm/resources.c:233:13: sparse: got int *
net/atm/resources.c:352:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/atm/resources.c:352:25: sparse: expected int [noderef] __user *__ptr_clean
net/atm/resources.c:352:25: sparse: got int *
net/atm/resources.c:395:25: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/atm/resources.c:395:25: sparse: expected int [noderef] __user *__ptr_clean
net/atm/resources.c:395:25: sparse: got int *
--
>> net/atm/br2684.c:733:23: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned short [noderef] __user *__ptr_clean @@ got unsigned short * @@
net/atm/br2684.c:733:23: sparse: expected unsigned short [noderef] __user *__ptr_clean
net/atm/br2684.c:733:23: sparse: got unsigned short *
--
>> net/atm/mpoa_proc.c:223:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected char const [noderef] __user *__ptr_clean @@ got char const * @@
net/atm/mpoa_proc.c:223:21: sparse: expected char const [noderef] __user *__ptr_clean
net/atm/mpoa_proc.c:223:21: sparse: got char const *
--
>> net/can/raw.c:710:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/can/raw.c:710:13: sparse: expected int [noderef] __user *__ptr_clean
net/can/raw.c:710:13: sparse: got int *
net/can/raw.c:725:37: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/can/raw.c:725:37: sparse: expected int [noderef] __user *__ptr_clean
net/can/raw.c:725:37: sparse: got int *
net/can/raw.c:739:31: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/can/raw.c:739:31: sparse: expected int [noderef] __user *__ptr_clean
net/can/raw.c:739:31: sparse: got int *
net/can/raw.c:782:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/can/raw.c:782:13: sparse: expected int [noderef] __user *__ptr_clean
net/can/raw.c:782:13: sparse: got int *
--
>> net/can/isotp.c:1456:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/can/isotp.c:1456:13: sparse: expected int [noderef] __user *__ptr_clean
net/can/isotp.c:1456:13: sparse: got int *
net/can/isotp.c:1491:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/can/isotp.c:1491:13: sparse: expected int [noderef] __user *__ptr_clean
net/can/isotp.c:1491:13: sparse: got int *
--
>> net/dccp/proto.c:373:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/dccp/proto.c:373:22: sparse: expected int [noderef] __user *__ptr_clean
net/dccp/proto.c:373:22: sparse: got int *
net/dccp/proto.c:388:22: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/dccp/proto.c:388:22: sparse: expected int [noderef] __user *__ptr_clean
net/dccp/proto.c:388:22: sparse: got int *
net/dccp/proto.c:524:52: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __be32 const [usertype] service @@ got int [addressable] val @@
net/dccp/proto.c:524:52: sparse: expected restricted __be32 const [usertype] service
net/dccp/proto.c:524:52: sparse: got int [addressable] val
net/dccp/proto.c:594:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/dccp/proto.c:594:13: sparse: expected int [noderef] __user *__ptr_clean
net/dccp/proto.c:594:13: sparse: got int *
>> net/dccp/proto.c:595:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected restricted __be32 [noderef] __user *__ptr_clean @@ got restricted __be32 * @@
net/dccp/proto.c:595:13: sparse: expected restricted __be32 [noderef] __user *__ptr_clean
net/dccp/proto.c:595:13: sparse: got restricted __be32 *
net/dccp/proto.c:609:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/dccp/proto.c:609:13: sparse: expected int [noderef] __user *__ptr_clean
net/dccp/proto.c:609:13: sparse: got int *
net/dccp/proto.c:665:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/dccp/proto.c:665:13: sparse: expected int [noderef] __user *__ptr_clean
net/dccp/proto.c:665:13: sparse: got int *
net/dccp/proto.c:707:57: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __be32 [usertype] param @@ got int cmsg_type @@
net/dccp/proto.c:707:57: sparse: expected restricted __be32 [usertype] param
net/dccp/proto.c:707:57: sparse: got int cmsg_type
--
net/dccp/ccids/ccid3.c:474:25: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] opt_val @@ got unsigned int [usertype] @@
net/dccp/ccids/ccid3.c:474:25: sparse: expected restricted __be32 [usertype] opt_val
net/dccp/ccids/ccid3.c:474:25: sparse: got unsigned int [usertype]
net/dccp/ccids/ccid3.c:478:39: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] tx_x_recv @@ got restricted __be32 [usertype] opt_val @@
net/dccp/ccids/ccid3.c:478:39: sparse: expected unsigned long long [usertype] tx_x_recv
net/dccp/ccids/ccid3.c:478:39: sparse: got restricted __be32 [usertype] opt_val
net/dccp/ccids/ccid3.c:485:64: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] loss_event_rate @@ got restricted __be32 [usertype] opt_val @@
net/dccp/ccids/ccid3.c:485:64: sparse: expected unsigned int [usertype] loss_event_rate
net/dccp/ccids/ccid3.c:485:64: sparse: got restricted __be32 [usertype] opt_val
>> net/dccp/ccids/ccid3.c:546:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/dccp/ccids/ccid3.c:546:13: sparse: expected int [noderef] __user *__ptr_clean
net/dccp/ccids/ccid3.c:546:13: sparse: got int *
net/dccp/ccids/ccid3.c:836:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/dccp/ccids/ccid3.c:836:13: sparse: expected int [noderef] __user *__ptr_clean
net/dccp/ccids/ccid3.c:836:13: sparse: got int *
--
>> net/dccp/ccid.c:69:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/dccp/ccid.c:69:13: sparse: expected int [noderef] __user *__ptr_clean
net/dccp/ccid.c:69:13: sparse: got int *
--
>> net/ieee802154/socket.c:541:24: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/ieee802154/socket.c:541:24: sparse: expected int [noderef] __user *__ptr_clean
net/ieee802154/socket.c:541:24: sparse: got int *
net/ieee802154/socket.c:560:24: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/ieee802154/socket.c:560:24: sparse: expected int [noderef] __user *__ptr_clean
net/ieee802154/socket.c:560:24: sparse: got int *
net/ieee802154/socket.c:846:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/ieee802154/socket.c:846:13: sparse: expected int [noderef] __user *__ptr_clean
net/ieee802154/socket.c:846:13: sparse: got int *
net/ieee802154/socket.c:876:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/ieee802154/socket.c:876:13: sparse: expected int [noderef] __user *__ptr_clean
net/ieee802154/socket.c:876:13: sparse: got int *
--
>> net/ipv4/ip_sockglue.c:1793:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/ipv4/ip_sockglue.c:1793:21: sparse: expected int [noderef] __user *__ptr_clean
net/ipv4/ip_sockglue.c:1793:21: sparse: got int *
net/ipv4/ip_sockglue.c:1798:31: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/ipv4/ip_sockglue.c:1798:31: sparse: expected int [noderef] __user *__ptr_clean
net/ipv4/ip_sockglue.c:1798:31: sparse: got int *
--
>> net/ipv6/ipv6_sockglue.c:1510:21: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/ipv6/ipv6_sockglue.c:1510:21: sparse: expected int [noderef] __user *__ptr_clean
net/ipv6/ipv6_sockglue.c:1510:21: sparse: got int *
net/ipv6/ipv6_sockglue.c:1515:31: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/ipv6/ipv6_sockglue.c:1515:31: sparse: expected int [noderef] __user *__ptr_clean
net/ipv6/ipv6_sockglue.c:1515:31: sparse: got int *
--
>> net/can/j1939/socket.c:755:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/can/j1939/socket.c:755:13: sparse: expected int [noderef] __user *__ptr_clean
net/can/j1939/socket.c:755:13: sparse: got int *
net/can/j1939/socket.c:782:18: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/can/j1939/socket.c:782:18: sparse: expected int [noderef] __user *__ptr_clean
net/can/j1939/socket.c:782:18: sparse: got int *
--
>> net/kcm/kcmsock.c:1317:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/kcm/kcmsock.c:1317:13: sparse: expected int [noderef] __user *__ptr_clean
net/kcm/kcmsock.c:1317:13: sparse: got int *
net/kcm/kcmsock.c:1332:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/kcm/kcmsock.c:1332:13: sparse: expected int [noderef] __user *__ptr_clean
net/kcm/kcmsock.c:1332:13: sparse: got int *
--
>> net/mctp/af_mctp.c:338:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/mctp/af_mctp.c:338:13: sparse: expected int [noderef] __user *__ptr_clean
net/mctp/af_mctp.c:338:13: sparse: got int *
--
>> net/netfilter/x_tables.c:297:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned short [noderef] __user *__ptr_clean @@ got unsigned short * @@
net/netfilter/x_tables.c:297:13: sparse: expected unsigned short [noderef] __user *__ptr_clean
net/netfilter/x_tables.c:297:13: sparse: got unsigned short *
>> net/netfilter/x_tables.c:301:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char [noderef] __user *__ptr_clean @@ got unsigned char * @@
net/netfilter/x_tables.c:301:13: sparse: expected unsigned char [noderef] __user *__ptr_clean
net/netfilter/x_tables.c:301:13: sparse: got unsigned char *
--
>> net/ipv4/bpfilter/sockopt.c:65:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected int [noderef] __user *__ptr_clean @@ got int * @@
net/ipv4/bpfilter/sockopt.c:65:13: sparse: expected int [noderef] __user *__ptr_clean
net/ipv4/bpfilter/sockopt.c:65:13: sparse: got int *
vim +1810 net/appletalk/ddp.c
^1da177e4c3f415 Linus Torvalds 2005-04-16 1792
^1da177e4c3f415 Linus Torvalds 2005-04-16 1793
^1da177e4c3f415 Linus Torvalds 2005-04-16 1794 /*
^1da177e4c3f415 Linus Torvalds 2005-04-16 1795 * AppleTalk ioctl calls.
^1da177e4c3f415 Linus Torvalds 2005-04-16 1796 */
^1da177e4c3f415 Linus Torvalds 2005-04-16 1797 static int atalk_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
^1da177e4c3f415 Linus Torvalds 2005-04-16 1798 {
b5e5fa5e093e42c Christoph Hellwig 2006-01-03 1799 int rc = -ENOIOCTLCMD;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1800 struct sock *sk = sock->sk;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1801 void __user *argp = (void __user *)arg;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1802
^1da177e4c3f415 Linus Torvalds 2005-04-16 1803 switch (cmd) {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1804 /* Protocol layer */
^1da177e4c3f415 Linus Torvalds 2005-04-16 1805 case TIOCOUTQ: {
31e6d363abcd0d0 Eric Dumazet 2009-06-17 1806 long amount = sk->sk_sndbuf - sk_wmem_alloc_get(sk);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1807
^1da177e4c3f415 Linus Torvalds 2005-04-16 1808 if (amount < 0)
^1da177e4c3f415 Linus Torvalds 2005-04-16 1809 amount = 0;
^1da177e4c3f415 Linus Torvalds 2005-04-16 @1810 rc = put_user(amount, (int __user *)argp);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1811 break;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1812 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1813 case TIOCINQ: {
^1da177e4c3f415 Linus Torvalds 2005-04-16 1814 /*
^1da177e4c3f415 Linus Torvalds 2005-04-16 1815 * These two are safe on a single CPU system as only
^1da177e4c3f415 Linus Torvalds 2005-04-16 1816 * user tasks fiddle here
^1da177e4c3f415 Linus Torvalds 2005-04-16 1817 */
^1da177e4c3f415 Linus Torvalds 2005-04-16 1818 struct sk_buff *skb = skb_peek(&sk->sk_receive_queue);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1819 long amount = 0;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1820
^1da177e4c3f415 Linus Torvalds 2005-04-16 1821 if (skb)
^1da177e4c3f415 Linus Torvalds 2005-04-16 1822 amount = skb->len - sizeof(struct ddpehdr);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1823 rc = put_user(amount, (int __user *)argp);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1824 break;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1825 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1826 /* Routing */
^1da177e4c3f415 Linus Torvalds 2005-04-16 1827 case SIOCADDRT:
^1da177e4c3f415 Linus Torvalds 2005-04-16 1828 case SIOCDELRT:
^1da177e4c3f415 Linus Torvalds 2005-04-16 1829 rc = -EPERM;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1830 if (capable(CAP_NET_ADMIN))
^1da177e4c3f415 Linus Torvalds 2005-04-16 1831 rc = atrtr_ioctl(cmd, argp);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1832 break;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1833 /* Interface */
^1da177e4c3f415 Linus Torvalds 2005-04-16 1834 case SIOCGIFADDR:
^1da177e4c3f415 Linus Torvalds 2005-04-16 1835 case SIOCSIFADDR:
^1da177e4c3f415 Linus Torvalds 2005-04-16 1836 case SIOCGIFBRDADDR:
^1da177e4c3f415 Linus Torvalds 2005-04-16 1837 case SIOCATALKDIFADDR:
^1da177e4c3f415 Linus Torvalds 2005-04-16 1838 case SIOCDIFADDR:
^1da177e4c3f415 Linus Torvalds 2005-04-16 1839 case SIOCSARP: /* proxy AARP */
^1da177e4c3f415 Linus Torvalds 2005-04-16 1840 case SIOCDARP: /* proxy AARP */
^1da177e4c3f415 Linus Torvalds 2005-04-16 1841 rtnl_lock();
^1da177e4c3f415 Linus Torvalds 2005-04-16 1842 rc = atif_ioctl(cmd, argp);
^1da177e4c3f415 Linus Torvalds 2005-04-16 1843 rtnl_unlock();
^1da177e4c3f415 Linus Torvalds 2005-04-16 1844 break;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1845 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1846
^1da177e4c3f415 Linus Torvalds 2005-04-16 1847 return rc;
^1da177e4c3f415 Linus Torvalds 2005-04-16 1848 }
^1da177e4c3f415 Linus Torvalds 2005-04-16 1849
:::::: The code at line 1810 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2
:::::: TO: Linus Torvalds <torvalds@...970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@...970.osdl.org>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
View attachment "config" of type "text/plain" (126482 bytes)
Powered by blists - more mailing lists