drivers/net/hamradio/mkiss.c:825:23: sparse: sparse: incorrect type in initializer (different address spaces)

From: kernel test robot
Date: Tue Jul 14 2020 - 03:09:35 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0dc589da873b58b70f4caf4b070fb0cf70fdd1dc
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 4 weeks ago
config: openrisc-randconfig-s032-20200714 (attached as .config)
compiler: or1k-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-41-g14e84ffc-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=openrisc

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


sparse warnings: (new ones prefixed by >>)

>> drivers/net/hamradio/mkiss.c:825:23: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user * @@
drivers/net/hamradio/mkiss.c:825:23: sparse: expected int *__pu_addr
drivers/net/hamradio/mkiss.c:825:23: sparse: got int [noderef] __user *
drivers/net/hamradio/mkiss.c:829:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/net/hamradio/mkiss.c:829:21: sparse: expected int const *__gu_addr
drivers/net/hamradio/mkiss.c:829:21: sparse: got int [noderef] __user *
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
--
>> drivers/hid/usbhid/hiddev.c:569:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/hid/usbhid/hiddev.c:569:13: sparse: expected int const *__gu_addr
>> drivers/hid/usbhid/hiddev.c:569:13: sparse: got int [noderef] __user *
>> drivers/hid/usbhid/hiddev.c:617:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user * @@
drivers/hid/usbhid/hiddev.c:617:21: sparse: expected int *__pu_addr
drivers/hid/usbhid/hiddev.c:617:21: sparse: got int [noderef] __user *
drivers/hid/usbhid/hiddev.c:656:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user * @@
drivers/hid/usbhid/hiddev.c:656:21: sparse: expected int *__pu_addr
drivers/hid/usbhid/hiddev.c:656:21: sparse: got int [noderef] __user *
drivers/hid/usbhid/hiddev.c:664:29: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/hid/usbhid/hiddev.c:664:29: sparse: expected int const *__gu_addr
drivers/hid/usbhid/hiddev.c:664:29: sparse: got int [noderef] __user *
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
--
>> drivers/usb/atm/usbatm.c:893:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user * @@
drivers/usb/atm/usbatm.c:893:24: sparse: expected int *__pu_addr
>> drivers/usb/atm/usbatm.c:893:24: sparse: got int [noderef] __user *
--
>> fs/ubifs/ioctl.c:153:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user * @@
fs/ubifs/ioctl.c:153:24: sparse: expected int *__pu_addr
fs/ubifs/ioctl.c:153:24: sparse: got int [noderef] __user *
fs/ubifs/ioctl.c:162:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
fs/ubifs/ioctl.c:162:21: sparse: expected int const *__gu_addr
fs/ubifs/ioctl.c:162:21: sparse: got int [noderef] __user *
--
net/netrom/af_netrom.c:309:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int const *__gu_addr @@ got unsigned int [noderef] __user * @@
net/netrom/af_netrom.c:309:13: sparse: expected unsigned int const *__gu_addr
net/netrom/af_netrom.c:309:13: sparse: got unsigned int [noderef] __user *
net/netrom/af_netrom.c:359:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user *optlen @@
net/netrom/af_netrom.c:359:13: sparse: expected int const *__gu_addr
net/netrom/af_netrom.c:359:13: sparse: got int [noderef] __user *optlen
>> net/netrom/af_netrom.c:392:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user *optlen @@
net/netrom/af_netrom.c:392:13: sparse: expected int *__pu_addr
net/netrom/af_netrom.c:392:13: sparse: got int [noderef] __user *optlen
>> net/netrom/af_netrom.c:1211:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user * @@
net/netrom/af_netrom.c:1211:24: sparse: expected int *__pu_addr
>> net/netrom/af_netrom.c:1211:24: sparse: got int [noderef] __user *
net/netrom/af_netrom.c:1223:24: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int *__pu_addr @@ got int [noderef] __user * @@
net/netrom/af_netrom.c:1223:24: sparse: expected int *__pu_addr
net/netrom/af_netrom.c:1223:24: sparse: got int [noderef] __user *
include/linux/uaccess.h:131:38: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *to @@ got void [noderef] __user *to @@
include/linux/uaccess.h:131:38: sparse: expected void *to
include/linux/uaccess.h:131:38: sparse: got void [noderef] __user *to
include/linux/uaccess.h:131:42: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void const *from @@
include/linux/uaccess.h:131:42: sparse: expected void const [noderef] __user *from
include/linux/uaccess.h:131:42: sparse: got void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *from @@ got void const [noderef] __user *from @@
arch/openrisc/include/asm/uaccess.h:246:55: sparse: expected void const *from
arch/openrisc/include/asm/uaccess.h:246:55: sparse: got void const [noderef] __user *from
arch/openrisc/include/asm/cmpxchg.h:101:29: sparse: sparse: shift too big (32) for type int

vim +825 drivers/net/hamradio/mkiss.c

^1da177e4c3f41 Linus Torvalds 2005-04-16 804
815f62bf742718 Ralf Baechle 2005-08-24 805 /* Perform I/O control on an active ax25 channel. */
815f62bf742718 Ralf Baechle 2005-08-24 806 static int mkiss_ioctl(struct tty_struct *tty, struct file *file,
815f62bf742718 Ralf Baechle 2005-08-24 807 unsigned int cmd, unsigned long arg)
^1da177e4c3f41 Linus Torvalds 2005-04-16 808 {
815f62bf742718 Ralf Baechle 2005-08-24 809 struct mkiss *ax = mkiss_get(tty);
f40e0638237a2d Julia Lawall 2008-12-16 810 struct net_device *dev;
815f62bf742718 Ralf Baechle 2005-08-24 811 unsigned int tmp, err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 812
815f62bf742718 Ralf Baechle 2005-08-24 813 /* First make sure we're connected. */
815f62bf742718 Ralf Baechle 2005-08-24 814 if (ax == NULL)
815f62bf742718 Ralf Baechle 2005-08-24 815 return -ENXIO;
f40e0638237a2d Julia Lawall 2008-12-16 816 dev = ax->dev;
^1da177e4c3f41 Linus Torvalds 2005-04-16 817
815f62bf742718 Ralf Baechle 2005-08-24 818 switch (cmd) {
815f62bf742718 Ralf Baechle 2005-08-24 819 case SIOCGIFNAME:
815f62bf742718 Ralf Baechle 2005-08-24 820 err = copy_to_user((void __user *) arg, ax->dev->name,
815f62bf742718 Ralf Baechle 2005-08-24 821 strlen(ax->dev->name) + 1) ? -EFAULT : 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 822 break;
815f62bf742718 Ralf Baechle 2005-08-24 823
815f62bf742718 Ralf Baechle 2005-08-24 824 case SIOCGIFENCAP:
815f62bf742718 Ralf Baechle 2005-08-24 @825 err = put_user(4, (int __user *) arg);
^1da177e4c3f41 Linus Torvalds 2005-04-16 826 break;
815f62bf742718 Ralf Baechle 2005-08-24 827
815f62bf742718 Ralf Baechle 2005-08-24 828 case SIOCSIFENCAP:
815f62bf742718 Ralf Baechle 2005-08-24 829 if (get_user(tmp, (int __user *) arg)) {
815f62bf742718 Ralf Baechle 2005-08-24 830 err = -EFAULT;
^1da177e4c3f41 Linus Torvalds 2005-04-16 831 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 832 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 833
815f62bf742718 Ralf Baechle 2005-08-24 834 ax->mode = tmp;
815f62bf742718 Ralf Baechle 2005-08-24 835 dev->addr_len = AX25_ADDR_LEN;
815f62bf742718 Ralf Baechle 2005-08-24 836 dev->hard_header_len = AX25_KISS_HEADER_LEN +
815f62bf742718 Ralf Baechle 2005-08-24 837 AX25_MAX_HEADER_LEN + 3;
815f62bf742718 Ralf Baechle 2005-08-24 838 dev->type = ARPHRD_AX25;
^1da177e4c3f41 Linus Torvalds 2005-04-16 839
815f62bf742718 Ralf Baechle 2005-08-24 840 err = 0;
815f62bf742718 Ralf Baechle 2005-08-24 841 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 842
815f62bf742718 Ralf Baechle 2005-08-24 843 case SIOCSIFHWADDR: {
815f62bf742718 Ralf Baechle 2005-08-24 844 char addr[AX25_ADDR_LEN];
^1da177e4c3f41 Linus Torvalds 2005-04-16 845
815f62bf742718 Ralf Baechle 2005-08-24 846 if (copy_from_user(&addr,
815f62bf742718 Ralf Baechle 2005-08-24 847 (void __user *) arg, AX25_ADDR_LEN)) {
815f62bf742718 Ralf Baechle 2005-08-24 848 err = -EFAULT;
^1da177e4c3f41 Linus Torvalds 2005-04-16 849 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 850 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 851
932ff279a43ab7 Herbert Xu 2006-06-09 852 netif_tx_lock_bh(dev);
815f62bf742718 Ralf Baechle 2005-08-24 853 memcpy(dev->dev_addr, addr, AX25_ADDR_LEN);
932ff279a43ab7 Herbert Xu 2006-06-09 854 netif_tx_unlock_bh(dev);
^1da177e4c3f41 Linus Torvalds 2005-04-16 855
815f62bf742718 Ralf Baechle 2005-08-24 856 err = 0;
815f62bf742718 Ralf Baechle 2005-08-24 857 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 858 }
815f62bf742718 Ralf Baechle 2005-08-24 859 default:
815f62bf742718 Ralf Baechle 2005-08-24 860 err = -ENOIOCTLCMD;
^1da177e4c3f41 Linus Torvalds 2005-04-16 861 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 862
815f62bf742718 Ralf Baechle 2005-08-24 863 mkiss_put(ax);
^1da177e4c3f41 Linus Torvalds 2005-04-16 864
815f62bf742718 Ralf Baechle 2005-08-24 865 return err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 866 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 867

:::::: The code at line 825 was first introduced by commit
:::::: 815f62bf742718458ba822a7e1f51f285eb997f2 [PATCH] SMP rewrite of mkiss

:::::: TO: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
:::::: CC: Jeff Garzik <jgarzik@xxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip