Re: [PATCH v4 2/3] io_uring: add IOURING_REGISTER_RESTRICTIONS opcode
by kernel test robot
Hi Stefano,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.8 next-20200813]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Stefano-Garzarella/io_uring-add-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git dc06fe51d26efc100ac74121607c01a454867c91
config: s390-randconfig-c003-20200813 (attached as .config)
compiler: s390-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
coccinelle warnings: (new ones prefixed by >>)
>> fs/io_uring.c:8516:7-14: WARNING opportunity for memdup_user
vim +8516 fs/io_uring.c
8497
8498 static int io_register_restrictions(struct io_ring_ctx *ctx, void __user *arg,
8499 unsigned int nr_args)
8500 {
8501 struct io_uring_restriction *res;
8502 size_t size;
8503 int i, ret;
8504
8505 /* We allow only a single restrictions registration */
8506 if (ctx->restricted)
8507 return -EBUSY;
8508
8509 if (!arg || nr_args > IORING_MAX_RESTRICTIONS)
8510 return -EINVAL;
8511
8512 size = array_size(nr_args, sizeof(*res));
8513 if (size == SIZE_MAX)
8514 return -EOVERFLOW;
8515
> 8516 res = kmalloc(size, GFP_KERNEL);
8517 if (!res)
8518 return -ENOMEM;
8519
8520 if (copy_from_user(res, arg, size)) {
8521 ret = -EFAULT;
8522 goto out;
8523 }
8524
8525 for (i = 0; i < nr_args; i++) {
8526 switch (res[i].opcode) {
8527 case IORING_RESTRICTION_REGISTER_OP:
8528 if (res[i].register_op >= IORING_REGISTER_LAST) {
8529 ret = -EINVAL;
8530 goto out;
8531 }
8532
8533 __set_bit(res[i].register_op,
8534 ctx->restrictions.register_op);
8535 break;
8536 case IORING_RESTRICTION_SQE_OP:
8537 if (res[i].sqe_op >= IORING_OP_LAST) {
8538 ret = -EINVAL;
8539 goto out;
8540 }
8541
8542 __set_bit(res[i].sqe_op, ctx->restrictions.sqe_op);
8543 break;
8544 case IORING_RESTRICTION_SQE_FLAGS_ALLOWED:
8545 ctx->restrictions.sqe_flags_allowed = res[i].sqe_flags;
8546 break;
8547 case IORING_RESTRICTION_SQE_FLAGS_REQUIRED:
8548 ctx->restrictions.sqe_flags_required = res[i].sqe_flags;
8549 break;
8550 default:
8551 ret = -EINVAL;
8552 goto out;
8553 }
8554 }
8555
8556 ctx->restricted = 1;
8557
8558 ret = 0;
8559 out:
8560 /* Reset all restrictions if an error happened */
8561 if (ret != 0)
8562 memset(&ctx->restrictions, 0, sizeof(ctx->restrictions));
8563
8564 kfree(res);
8565 return ret;
8566 }
8567
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
Re: [PATCH] lib: Convert test_printf.c to KUnit
by kernel test robot
Hi Arpitha,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.9-rc1 next-20200817]
[cannot apply to pmladek/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Arpitha-Raghunandan/lib-Convert-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
>> WARNING: modpost: lib/printf_kunit.o(.text+0x4dc): Section mismatch in reference from the function dentry() to the variable .init.data:test_dentry
The function dentry() references
the variable __initdata test_dentry.
This is often because dentry lacks a __initdata
annotation or the annotation of test_dentry is wrong.
--
>> WARNING: modpost: lib/printf_kunit.o(.text+0x680): Section mismatch in reference from the function dentry() to the (unknown reference) .init.data:(unknown)
The function dentry() references
the (unknown reference) __initdata (unknown).
This is often because dentry lacks a __initdata
annotation or the annotation of (unknown) is wrong.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[linux-next:master 1082/1262] arch/x86/events/intel/uncore_snb.c:441:37: warning: initialized field overwritten
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 0f1fa5848ab32d269a2030caac618bd6a99ab3f3
commit: 24633d901ea44fe99bc9a2d01a3881fa097b78b3 [1082/1262] perf/x86/intel/uncore: Add BW counters for GT, IA and IO breakdown
config: x86_64-randconfig-r034-20200817 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
git checkout 24633d901ea44fe99bc9a2d01a3881fa097b78b3
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> arch/x86/events/intel/uncore_snb.c:441:37: warning: initialized field overwritten [-Woverride-init]
441 | [SNB_PCI_UNCORE_IMC_DATA_READS] = { SNB_UNCORE_PCI_IMC_DATA_WRITES_BASE,
| ^
arch/x86/events/intel/uncore_snb.c:441:37: note: (near initialization for 'snb_uncore_imc_freerunning[0]')
# https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 24633d901ea44fe99bc9a2d01a3881fa097b78b3
vim +441 arch/x86/events/intel/uncore_snb.c
437
438 static struct freerunning_counters snb_uncore_imc_freerunning[] = {
439 [SNB_PCI_UNCORE_IMC_DATA_READS] = { SNB_UNCORE_PCI_IMC_DATA_READS_BASE,
440 0x0, 0x0, 1, 32 },
> 441 [SNB_PCI_UNCORE_IMC_DATA_READS] = { SNB_UNCORE_PCI_IMC_DATA_WRITES_BASE,
442 0x0, 0x0, 1, 32 },
443 [SNB_PCI_UNCORE_IMC_GT_REQUESTS] = { SNB_UNCORE_PCI_IMC_GT_REQUESTS_BASE,
444 0x0, 0x0, 1, 32 },
445 [SNB_PCI_UNCORE_IMC_IA_REQUESTS] = { SNB_UNCORE_PCI_IMC_IA_REQUESTS_BASE,
446 0x0, 0x0, 1, 32 },
447 [SNB_PCI_UNCORE_IMC_IO_REQUESTS] = { SNB_UNCORE_PCI_IMC_IO_REQUESTS_BASE,
448 0x0, 0x0, 1, 32 },
449 };
450
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[zen-kernel-zen-kernel:5.8/muqss 1/21] error: include/uapi/linux/sched.h: leak CONFIG_SCHED_MUQSS to user-space
by kernel test robot
tree: https://github.com/zen-kernel/zen-kernel 5.8/muqss
head: c2af890bfbd6e035c7e82130533ec424fa3c9a7b
commit: a7fe15e65f195714f080517f5a81303badc46dd9 [1/21] MultiQueue Skiplist Scheduler v0.202
config: i386-randconfig-a012-20200810 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
git checkout a7fe15e65f195714f080517f5a81303badc46dd9
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Note: the zen-kernel-zen-kernel/5.8/muqss HEAD c2af890bfbd6e035c7e82130533ec424fa3c9a7b builds fine.
It only hurts bisectibility.
All errors (new ones prefixed by >>):
>> error: include/uapi/linux/sched.h: leak CONFIG_SCHED_MUQSS to user-space
make[2]: *** [scripts/Makefile.headersinst:63: usr/include/linux/sched.h] Error 1
make[2]: Target '__headers' not remade because of errors.
make[1]: *** [Makefile:1258: headers] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:185: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[PATCH] block: fix boolconv.cocci warnings
by kernel test robot
From: kernel test robot <lkp(a)intel.com>
block/blk-mq-sched.c:404:39-44: WARNING: conversion to bool not needed here
Remove unneeded conversion to bool
Semantic patch information:
Relational and logical operators evaluate to bool,
explicit conversion is overly verbose and unneeded.
Generated by: scripts/coccinelle/misc/boolconv.cocci
CC: Baolin Wang <baolin.wang(a)linux.alibaba.com>
Signed-off-by: kernel test robot <lkp(a)intel.com>
---
url: https://github.com/0day-ci/linux/commits/Baolin-Wang/Some-clean-ups-for-b...
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
Please take the patch only if it's a positive warning. Thanks!
blk-mq-sched.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/block/blk-mq-sched.c
+++ b/block/blk-mq-sched.c
@@ -401,7 +401,7 @@ bool blk_mq_bio_list_merge(struct reques
if (merge == BIO_MERGE_NONE)
continue;
- return merge == BIO_MERGE_OK ? true: false;
+ return merge == BIO_MERGE_OK;
}
return false;
2 years, 1 month
Re: [PATCH] upcall: Remove unneeded variable insize
by kernel test robot
Hi Xu,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v5.9-rc1 next-20200817]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Xu-Wang/upcall-Remove-unneeded-v...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5
config: x86_64-randconfig-a012-20200817 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project de71b46a519db014ce906a39f8a0e1b235ef1568)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> fs/coda/upcall.c:483:2: error: use of undeclared identifier 'insize'
UPARG(CODA_IOCTL);
^
fs/coda/upcall.c:63:44: note: expanded from macro 'UPARG'
inp = (union inputArgs *)alloc_upcall(op, insize); \
^
>> fs/coda/upcall.c:483:2: error: use of undeclared identifier 'insize'
fs/coda/upcall.c:66:19: note: expanded from macro 'UPARG'
outsize = insize; \
^
2 errors generated.
# https://github.com/0day-ci/linux/commit/e126bb2bc1e15e86a4267e92df88f4987...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Xu-Wang/upcall-Remove-unneeded-variable-insize/20200817-112244
git checkout e126bb2bc1e15e86a4267e92df88f4987d01b358
vim +/insize +483 fs/coda/upcall.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 473
^1da177e4c3f41 Linus Torvalds 2005-04-16 474
^1da177e4c3f41 Linus Torvalds 2005-04-16 475 int venus_pioctl(struct super_block *sb, struct CodaFid *fid,
^1da177e4c3f41 Linus Torvalds 2005-04-16 476 unsigned int cmd, struct PioctlData *data)
^1da177e4c3f41 Linus Torvalds 2005-04-16 477 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 478 union inputArgs *inp;
^1da177e4c3f41 Linus Torvalds 2005-04-16 479 union outputArgs *outp;
e126bb2bc1e15e Xu Wang 2020-08-17 480 int outsize, error;
^1da177e4c3f41 Linus Torvalds 2005-04-16 481 int iocsize;
^1da177e4c3f41 Linus Torvalds 2005-04-16 482
^1da177e4c3f41 Linus Torvalds 2005-04-16 @483 UPARG(CODA_IOCTL);
^1da177e4c3f41 Linus Torvalds 2005-04-16 484
^1da177e4c3f41 Linus Torvalds 2005-04-16 485 /* build packet for Venus */
^1da177e4c3f41 Linus Torvalds 2005-04-16 486 if (data->vi.in_size > VC_MAXDATASIZE) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 487 error = -EINVAL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 488 goto exit;
^1da177e4c3f41 Linus Torvalds 2005-04-16 489 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 490
^1da177e4c3f41 Linus Torvalds 2005-04-16 491 if (data->vi.out_size > VC_MAXDATASIZE) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 492 error = -EINVAL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 493 goto exit;
^1da177e4c3f41 Linus Torvalds 2005-04-16 494 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 495
^1da177e4c3f41 Linus Torvalds 2005-04-16 496 inp->coda_ioctl.VFid = *fid;
^1da177e4c3f41 Linus Torvalds 2005-04-16 497
^1da177e4c3f41 Linus Torvalds 2005-04-16 498 /* the cmd field was mutated by increasing its size field to
^1da177e4c3f41 Linus Torvalds 2005-04-16 499 * reflect the path and follow args. We need to subtract that
^1da177e4c3f41 Linus Torvalds 2005-04-16 500 * out before sending the command to Venus. */
^1da177e4c3f41 Linus Torvalds 2005-04-16 501 inp->coda_ioctl.cmd = (cmd & ~(PIOCPARM_MASK << 16));
^1da177e4c3f41 Linus Torvalds 2005-04-16 502 iocsize = ((cmd >> 16) & PIOCPARM_MASK) - sizeof(char *) - sizeof(int);
^1da177e4c3f41 Linus Torvalds 2005-04-16 503 inp->coda_ioctl.cmd |= (iocsize & PIOCPARM_MASK) << 16;
^1da177e4c3f41 Linus Torvalds 2005-04-16 504
^1da177e4c3f41 Linus Torvalds 2005-04-16 505 /* in->coda_ioctl.rwflag = flag; */
^1da177e4c3f41 Linus Torvalds 2005-04-16 506 inp->coda_ioctl.len = data->vi.in_size;
^1da177e4c3f41 Linus Torvalds 2005-04-16 507 inp->coda_ioctl.data = (char *)(INSIZE(ioctl));
^1da177e4c3f41 Linus Torvalds 2005-04-16 508
^1da177e4c3f41 Linus Torvalds 2005-04-16 509 /* get the data out of user space */
^1da177e4c3f41 Linus Torvalds 2005-04-16 510 if (copy_from_user((char *)inp + (long)inp->coda_ioctl.data,
^1da177e4c3f41 Linus Torvalds 2005-04-16 511 data->vi.in, data->vi.in_size)) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 512 error = -EINVAL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 513 goto exit;
^1da177e4c3f41 Linus Torvalds 2005-04-16 514 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 515
a1b0aa87647493 Jan Harkes 2007-07-19 516 error = coda_upcall(coda_vcp(sb), SIZE(ioctl) + data->vi.in_size,
^1da177e4c3f41 Linus Torvalds 2005-04-16 517 &outsize, inp);
^1da177e4c3f41 Linus Torvalds 2005-04-16 518
^1da177e4c3f41 Linus Torvalds 2005-04-16 519 if (error) {
6d6bd94f4d83d7 Fabian Frederick 2014-06-06 520 pr_warn("%s: Venus returns: %d for %s\n",
6d6bd94f4d83d7 Fabian Frederick 2014-06-06 521 __func__, error, coda_f2s(fid));
^1da177e4c3f41 Linus Torvalds 2005-04-16 522 goto exit;
^1da177e4c3f41 Linus Torvalds 2005-04-16 523 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 524
^1da177e4c3f41 Linus Torvalds 2005-04-16 525 if (outsize < (long)outp->coda_ioctl.data + outp->coda_ioctl.len) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 526 error = -EINVAL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 527 goto exit;
^1da177e4c3f41 Linus Torvalds 2005-04-16 528 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 529
^1da177e4c3f41 Linus Torvalds 2005-04-16 530 /* Copy out the OUT buffer. */
^1da177e4c3f41 Linus Torvalds 2005-04-16 531 if (outp->coda_ioctl.len > data->vi.out_size) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 532 error = -EINVAL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 533 goto exit;
^1da177e4c3f41 Linus Torvalds 2005-04-16 534 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 535
^1da177e4c3f41 Linus Torvalds 2005-04-16 536 /* Copy out the OUT buffer. */
^1da177e4c3f41 Linus Torvalds 2005-04-16 537 if (copy_to_user(data->vi.out,
^1da177e4c3f41 Linus Torvalds 2005-04-16 538 (char *)outp + (long)outp->coda_ioctl.data,
^1da177e4c3f41 Linus Torvalds 2005-04-16 539 outp->coda_ioctl.len)) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 540 error = -EFAULT;
^1da177e4c3f41 Linus Torvalds 2005-04-16 541 goto exit;
^1da177e4c3f41 Linus Torvalds 2005-04-16 542 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 543
^1da177e4c3f41 Linus Torvalds 2005-04-16 544 exit:
936dae4525322f Dan Carpenter 2019-07-16 545 kvfree(inp);
^1da177e4c3f41 Linus Torvalds 2005-04-16 546 return error;
^1da177e4c3f41 Linus Torvalds 2005-04-16 547 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 548
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
Re: [PATCH 1/7] MIPS: sync-r4k: Rework to be many cores firendly
by kernel test robot
Hi Jiaxun,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.9-rc1 next-20200817]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Jiaxun-Yang/R4000-clock-enhancem...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5
config: mips-allyesconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> arch/mips/kernel/sync-r4k.c:28:6: warning: no previous prototype for 'synchronise_count_master' [-Wmissing-prototypes]
28 | void synchronise_count_master(void *unused)
| ^~~~~~~~~~~~~~~~~~~~~~~~
# https://github.com/0day-ci/linux/commit/6c760a310d6f07efede56e732f3de2e2a...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Jiaxun-Yang/R4000-clock-enhancements-for-Loongson/20200817-115351
git checkout 6c760a310d6f07efede56e732f3de2e2a944e361
vim +/synchronise_count_master +28 arch/mips/kernel/sync-r4k.c
27
> 28 void synchronise_count_master(void *unused)
29 {
30 unsigned long flags;
31 long delta;
32 int i;
33
34 if (atomic_read(&sync_stage) != STAGE_START)
35 BUG();
36
37 local_irq_save(flags);
38
39 cur_count = read_c0_count();
40 smp_wmb();
41 atomic_inc(&sync_stage); /* inc to STAGE_MASTER_READY */
42
43 for (i = 0; i < MAX_LOOPS; i++) {
44 cur_count = read_c0_count();
45 smp_wmb();
46 if (atomic_read(&sync_stage) == STAGE_SLAVE_SYNCED)
47 break;
48 }
49
50 delta = read_c0_count() - fini_count;
51
52 local_irq_restore(flags);
53
54 if (i == MAX_LOOPS)
55 pr_err("sync-r4k: Master: synchronise timeout\n");
56 else
57 pr_info("sync-r4k: Master: synchronise succeed, maximum delta: %ld\n", delta);
58
59 return;
60 }
61
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month