[jpirko-mlxsw:net_next_queue 21/27] net/core/devlink.c:7388:23: warning: address of array 'attrs->switch_id.id' will always evaluate to 'true'
by kernel test robot
tree: https://github.com/jpirko/linux_mlxsw net_next_queue
head: f57f2148543db358708e16537ab5c87f5da6abba
commit: 9cc195db08f0779fe92deac4da99879d95d8fe96 [21/27] devlink: Replace devlink_port_attrs_set parameters with a struct
config: x86_64-allyesconfig (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 487ca07fcc75d52755c9fe2ee05bcb3b6eeeec44)
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
git checkout 9cc195db08f0779fe92deac4da99879d95d8fe96
# 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 warnings (new ones prefixed by >>, old ones prefixed by <<):
>> net/core/devlink.c:7388:23: warning: address of array 'attrs->switch_id.id' will always evaluate to 'true' [-Wpointer-bool-conversion]
if (attrs->switch_id.id) {
~~ ~~~~~~~~~~~~~~~~~^~
1 warning generated.
vim +7388 net/core/devlink.c
7378
7379 static int __devlink_port_attrs_set(struct devlink_port *devlink_port,
7380 enum devlink_port_flavour flavour)
7381 {
7382 struct devlink_port_attrs *attrs = &devlink_port->attrs;
7383
7384 if (WARN_ON(devlink_port->registered))
7385 return -EEXIST;
7386 devlink_port->attrs_set = true;
7387 attrs->flavour = flavour;
> 7388 if (attrs->switch_id.id) {
7389 devlink_port->switch_port = true;
7390 if (WARN_ON(attrs->switch_id.id_len > MAX_PHYS_ITEM_ID_LEN))
7391 attrs->switch_id.id_len = MAX_PHYS_ITEM_ID_LEN;
7392 } else {
7393 devlink_port->switch_port = false;
7394 }
7395 return 0;
7396 }
7397
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[RFC PATCH] sched_pair_cpu: __pcpu_scope_pair_cpu can be static
by kernel test robot
Signed-off-by: kernel test robot <lkp(a)intel.com>
---
core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 36e429298a33e..eae0d2efc7410 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -47,7 +47,7 @@ struct pair_cpu {
struct task_struct *running;
};
-DEFINE_PER_CPU(struct pair_cpu, pair_cpu);
+static DEFINE_PER_CPU(struct pair_cpu, pair_cpu);
static enum cpuhp_state pair_cpu_hp_online;
#if defined(CONFIG_SCHED_DEBUG) && defined(CONFIG_JUMP_LABEL)
2 years, 3 months
Re: [RFC PATCH] sched_pair_cpu: Introduce scheduler task pairing system call
by kernel test robot
Hi Mathieu,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on tip/x86/asm]
[cannot apply to tip/sched/core linus/master linux/master v5.8-rc1 next-20200616]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Mathieu-Desnoyers/sched_pair_cpu...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 2ce0d7f9766f0e49bb54f149c77bae89464932fb
config: x86_64-randconfig-s022-20200615 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-rc1-3-g55607964-dirty
# save the attached .config to linux build tree
make W=1 C=1 ARCH=x86_64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> kernel/sched/core.c:50:1: sparse: sparse: symbol '__pcpu_scope_pair_cpu' was not declared. Should it be static?
kernel/sched/core.c:260:48: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:260:48: sparse: expected struct task_struct *p
kernel/sched/core.c:260:48: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:518:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:518:38: sparse: expected struct task_struct *curr
kernel/sched/core.c:518:38: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:573:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] <asn:4> *parent @@
kernel/sched/core.c:573:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/core.c:573:9: sparse: got struct sched_domain [noderef] <asn:4> *parent
kernel/sched/core.c:1450:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:1450:33: sparse: expected struct task_struct *p
kernel/sched/core.c:1450:33: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:1450:68: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:1450:68: sparse: expected struct task_struct *tsk
kernel/sched/core.c:1450:68: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:2305:17: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] <asn:4> *parent @@
kernel/sched/core.c:2305:17: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/core.c:2305:17: sparse: got struct sched_domain [noderef] <asn:4> *parent
kernel/sched/core.c:2490:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct const *p @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:2490:36: sparse: expected struct task_struct const *p
kernel/sched/core.c:2490:36: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:3799:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:3799:38: sparse: expected struct task_struct *curr
kernel/sched/core.c:3799:38: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:4223:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *prev @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:4223:14: sparse: expected struct task_struct *prev
kernel/sched/core.c:4223:14: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:4646:17: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/core.c:4646:17: sparse: struct task_struct *
kernel/sched/core.c:4646:17: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/core.c:4845:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/core.c:4845:22: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/core.c:4845:22: sparse: struct task_struct *
kernel/sched/core.c:8302:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/core.c:8302:25: sparse: expected struct task_struct *p
kernel/sched/core.c:8302:25: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/pelt.h:80:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct const *p @@ got struct task_struct [noderef] <asn:4> *curr @@
kernel/sched/pelt.h:80:13: sparse: expected struct task_struct const *p
kernel/sched/pelt.h:80:13: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/core.c:260:11: sparse: sparse: dereference of noderef expression
kernel/sched/core.c:1433:33: sparse: sparse: dereference of noderef expression
kernel/sched/core.c:1434:19: sparse: sparse: dereference of noderef expression
kernel/sched/core.c:1437:40: sparse: sparse: dereference of noderef expression
kernel/sched/sched.h:1664:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1664:25: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1664:25: sparse: struct task_struct *
kernel/sched/sched.h:1809:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1809:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1809:9: sparse: struct task_struct *
kernel/sched/sched.h:1815:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1815:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1815:9: sparse: struct task_struct *
kernel/sched/core.c:1406:38: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/core.c:1406:38: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/core.c:1406:38: sparse: struct task_struct const *
kernel/sched/sched.h:1664:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1664:25: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1664:25: sparse: struct task_struct *
kernel/sched/sched.h:1809:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1809:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1809:9: sparse: struct task_struct *
kernel/sched/sched.h:1809:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1809:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1809:9: sparse: struct task_struct *
kernel/sched/sched.h:1664:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1664:25: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1664:25: sparse: struct task_struct *
kernel/sched/sched.h:1809:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1809:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1809:9: sparse: struct task_struct *
kernel/sched/sched.h:1815:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1815:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1815:9: sparse: struct task_struct *
kernel/sched/sched.h:1664:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1664:25: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1664:25: sparse: struct task_struct *
kernel/sched/sched.h:1809:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1809:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1809:9: sparse: struct task_struct *
kernel/sched/sched.h:1815:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1815:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1815:9: sparse: struct task_struct *
kernel/sched/sched.h:1664:25: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1664:25: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1664:25: sparse: struct task_struct *
kernel/sched/sched.h:1809:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1809:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1809:9: sparse: struct task_struct *
kernel/sched/sched.h:1815:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1815:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1815:9: sparse: struct task_struct *
Please review and possibly fold the followup patch.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH 1/1] mfd: Add I2C based System Configuaration (SYSCON) access
by kernel test robot
Hi Lee,
I love your patch! Yet something to improve:
[auto build test ERROR on ljones-mfd/for-mfd-next]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Lee-Jones/mfd-Add-I2C-based-Syst...
base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
config: h8300-allmodconfig (attached as .config)
compiler: h8300-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=h8300
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 >>, old ones prefixed by <<):
h8300-linux-ld: drivers/base/regmap/regmap-i2c.o: in function `regmap_smbus_byte_reg_read':
>> regmap-i2c.c:(.text+0x167): undefined reference to `i2c_smbus_read_byte_data'
h8300-linux-ld: drivers/base/regmap/regmap-i2c.o: in function `regmap_smbus_byte_reg_write':
>> regmap-i2c.c:(.text+0x1a7): undefined reference to `i2c_smbus_write_byte_data'
h8300-linux-ld: drivers/base/regmap/regmap-i2c.o: in function `regmap_smbus_word_reg_read':
>> regmap-i2c.c:(.text+0x1d3): undefined reference to `i2c_smbus_read_word_data'
h8300-linux-ld: drivers/base/regmap/regmap-i2c.o: in function `regmap_smbus_word_read_swapped':
regmap-i2c.c:(.text+0x211): undefined reference to `i2c_smbus_read_word_data'
h8300-linux-ld: drivers/base/regmap/regmap-i2c.o: in function `regmap_smbus_word_write_swapped':
>> regmap-i2c.c:(.text+0x25b): undefined reference to `i2c_smbus_write_word_data'
h8300-linux-ld: drivers/base/regmap/regmap-i2c.o: in function `regmap_smbus_word_reg_write':
regmap-i2c.c:(.text+0x285): undefined reference to `i2c_smbus_write_word_data'
h8300-linux-ld: drivers/base/regmap/regmap-i2c.o: in function `regmap_i2c_smbus_i2c_read':
>> regmap-i2c.c:(.text+0x2c3): undefined reference to `i2c_smbus_read_i2c_block_data'
h8300-linux-ld: drivers/base/regmap/regmap-i2c.o: in function `regmap_i2c_smbus_i2c_write':
>> regmap-i2c.c:(.text+0x30d): undefined reference to `i2c_smbus_write_i2c_block_data'
h8300-linux-ld: drivers/base/regmap/regmap-i2c.o: in function `regmap_i2c_read':
>> regmap-i2c.c:(.text+0x37d): undefined reference to `i2c_transfer'
h8300-linux-ld: drivers/base/regmap/regmap-i2c.o: in function `regmap_i2c_gather_write':
regmap-i2c.c:(.text+0x431): undefined reference to `i2c_transfer'
h8300-linux-ld: drivers/base/regmap/regmap-i2c.o: in function `regmap_i2c_write':
>> regmap-i2c.c:(.text+0x485): undefined reference to `i2c_transfer_buffer_flags'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH 2/2] Add Intel LGM soc DMA support.
by kernel test robot
Hi Amireddy,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on robh/for-next]
[also build test WARNING on linus/master v5.8-rc1 next-20200616]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Amireddy-Mallikarjuna-reddy/Add-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: nds32-randconfig-r034-20200617 (attached as .config)
compiler: nds32le-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=nds32
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 <<):
In file included from ./arch/nds32/include/generated/asm/bug.h:1,
from include/linux/bug.h:5,
from include/linux/debug_locks.h:7,
from include/linux/mutex.h:21,
from include/linux/notifier.h:14,
from include/linux/clk.h:14,
from drivers/dma/lgm/lgm-dma.c:9:
include/linux/dma-mapping.h: In function 'dma_map_resource':
arch/nds32/include/asm/memory.h:82:32: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
82 | #define pfn_valid(pfn) ((pfn) >= PHYS_PFN_OFFSET && (pfn) < (PHYS_PFN_OFFSET + max_mapnr))
| ^~
include/asm-generic/bug.h:139:27: note: in definition of macro 'WARN_ON_ONCE'
139 | int __ret_warn_once = !!(condition); | ^~~~~~~~~
include/linux/dma-mapping.h:352:19: note: in expansion of macro 'pfn_valid'
352 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr))))
| ^~~~~~~~~
drivers/dma/lgm/lgm-dma.c: At top level:
>> drivers/dma/lgm/lgm-dma.c:729:5: warning: no previous prototype for 'intel_dma_chan_desc_cfg' [-Wmissing-prototypes]
729 | int intel_dma_chan_desc_cfg(struct dma_chan *chan, dma_addr_t desc_base,
| ^~~~~~~~~~~~~~~~~~~~~~~
vim +/intel_dma_chan_desc_cfg +729 drivers/dma/lgm/lgm-dma.c
728
> 729 int intel_dma_chan_desc_cfg(struct dma_chan *chan, dma_addr_t desc_base,
730 int desc_num)
731 {
732 return ldma_chan_desc_cfg(to_ldma_chan(chan), desc_base, desc_num);
733 }
734 EXPORT_SYMBOL_GPL(intel_dma_chan_desc_cfg);
735
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[chrome-os:chromeos-5.4 9961/9999] /tmp/nicvf_queues-069391.s:1166: Error: bad expression
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.4
head: 997b164b23c18282440dafc13a38509bdaa558fb
commit: c16ec2e3b2495b76da6a309a3e889b17027d69f8 [9961/9999] UPSTREAM: hwmon: Convert to new X86 CPU match macros
config: s390-randconfig-r031-20200615 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 3d8149c2a1228609fd7d7c91a04681304a2f0ca9)
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 s390 cross compiling tool for clang build
# apt-get install binutils-s390-linux-gnu
git checkout c16ec2e3b2495b76da6a309a3e889b17027d69f8
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Note: the chrome-os/chromeos-5.4 HEAD 997b164b23c18282440dafc13a38509bdaa558fb builds fine.
It only hurts bisectibility.
All errors (new ones prefixed by >>, old ones prefixed by <<):
include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32'
___constant_swab32(x) : ^
include/uapi/linux/swab.h:19:12: note: expanded from macro '___constant_swab32'
(((__u32)(x) & (__u32)0x000000ffUL) << 24) | ^
In file included from drivers/net/ethernet/cavium/thunder/nicvf_queues.c:6:
In file included from include/linux/pci.h:39:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:76:
include/asm-generic/io.h:492:45: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu(__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32'
___constant_swab32(x) : ^
include/uapi/linux/swab.h:20:12: note: expanded from macro '___constant_swab32'
(((__u32)(x) & (__u32)0x0000ff00UL) << 8) | ^
In file included from drivers/net/ethernet/cavium/thunder/nicvf_queues.c:6:
In file included from include/linux/pci.h:39:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:76:
include/asm-generic/io.h:492:45: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu(__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32'
___constant_swab32(x) : ^
include/uapi/linux/swab.h:21:12: note: expanded from macro '___constant_swab32'
(((__u32)(x) & (__u32)0x00ff0000UL) >> 8) | ^
In file included from drivers/net/ethernet/cavium/thunder/nicvf_queues.c:6:
In file included from include/linux/pci.h:39:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:76:
include/asm-generic/io.h:492:45: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu(__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:119:21: note: expanded from macro '__swab32'
___constant_swab32(x) : ^
include/uapi/linux/swab.h:22:12: note: expanded from macro '___constant_swab32'
(((__u32)(x) & (__u32)0xff000000UL) >> 24)))
^
In file included from drivers/net/ethernet/cavium/thunder/nicvf_queues.c:6:
In file included from include/linux/pci.h:39:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:76:
include/asm-generic/io.h:492:45: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu(__raw_readl(PCI_IOBASE + addr));
~~~~~~~~~~ ^
include/uapi/linux/byteorder/big_endian.h:34:59: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) __swab32((__force __u32)(__le32)(x))
^
include/uapi/linux/swab.h:120:12: note: expanded from macro '__swab32'
__fswab32(x))
^
In file included from drivers/net/ethernet/cavium/thunder/nicvf_queues.c:6:
In file included from include/linux/pci.h:39:
In file included from include/linux/io.h:13:
In file included from arch/s390/include/asm/io.h:76:
include/asm-generic/io.h:503:33: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writeb(value, PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:513:46: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writew(cpu_to_le16(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:523:46: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writel(cpu_to_le32(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:585:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:593:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:601:20: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
readsl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:610:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesb(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:619:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesw(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
include/asm-generic/io.h:628:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
20 warnings generated.
/tmp/nicvf_queues-069391.s: Assembler messages:
>> /tmp/nicvf_queues-069391.s:1166: Error: bad expression
>> /tmp/nicvf_queues-069391.s:1166: Error: junk at end of line, first unrecognized character is `r'
/tmp/nicvf_queues-069391.s:29629: Error: bad expression
/tmp/nicvf_queues-069391.s:29629: Error: junk at end of line, first unrecognized character is `r'
/tmp/nicvf_queues-069391.s:38557: Error: bad expression
/tmp/nicvf_queues-069391.s:38557: Error: junk at end of line, first unrecognized character is `r'
/tmp/nicvf_queues-069391.s:41607: Error: bad expression
/tmp/nicvf_queues-069391.s:41607: Error: junk at end of line, first unrecognized character is `r'
/tmp/nicvf_queues-069391.s:41762: Error: bad expression
/tmp/nicvf_queues-069391.s:41762: Error: junk at end of line, first unrecognized character is `r'
/tmp/nicvf_queues-069391.s:43275: Error: bad expression
/tmp/nicvf_queues-069391.s:43275: Error: junk at end of line, first unrecognized character is `r'
/tmp/nicvf_queues-069391.s:45568: Error: bad expression
/tmp/nicvf_queues-069391.s:45568: Error: junk at end of line, first unrecognized character is `r'
/tmp/nicvf_queues-069391.s:46588: Error: bad expression
/tmp/nicvf_queues-069391.s:46588: Error: junk at end of line, first unrecognized character is `r'
/tmp/nicvf_queues-069391.s:46981: Error: bad expression
/tmp/nicvf_queues-069391.s:46981: Error: junk at end of line, first unrecognized character is `r'
/tmp/nicvf_queues-069391.s:47319: Error: bad expression
/tmp/nicvf_queues-069391.s:47319: Error: junk at end of line, first unrecognized character is `r'
/tmp/nicvf_queues-069391.s:48864: Error: bad expression
/tmp/nicvf_queues-069391.s:48864: Error: junk at end of line, first unrecognized character is `r'
clang-11: error: assembler command failed with exit code 1 (use -v to see invocation)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH v3 1/3] pinctrl: intel: Make use of for_each_requested_gpio_in_range()
by kernel test robot
Hi Andy,
I love your patch! Yet something to improve:
[auto build test ERROR on pinctrl/devel]
[also build test ERROR on v5.8-rc1 next-20200615]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Andy-Shevchenko/pinctrl-intel-Re...
base: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git devel
config: x86_64-rhel-7.6 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce (this is a W=1 build):
# 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 errors (new ones prefixed by >>, old ones prefixed by <<):
drivers/pinctrl/intel/pinctrl-intel.c: In function 'intel_restore_hostown':
>> drivers/pinctrl/intel/pinctrl-intel.c:1601:2: error: implicit declaration of function 'for_each_requested_gpio_in_range' [-Werror=implicit-function-declaration]
1601 | for_each_requested_gpio_in_range(&pctrl->chip, i, padgrp->gpio_base, padgrp->size, dummy)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/pinctrl/intel/pinctrl-intel.c:1601:91: error: expected ';' before 'requested'
1601 | for_each_requested_gpio_in_range(&pctrl->chip, i, padgrp->gpio_base, padgrp->size, dummy)
| ^
| ;
1602 | requested |= BIT(i);
| ~~~~~~~~~
cc1: some warnings being treated as errors
vim +/for_each_requested_gpio_in_range +1601 drivers/pinctrl/intel/pinctrl-intel.c
1587
1588 static void intel_restore_hostown(struct intel_pinctrl *pctrl, unsigned int c,
1589 void __iomem *base, unsigned int gpp, u32 saved)
1590 {
1591 const struct intel_community *community = &pctrl->communities[c];
1592 const struct intel_padgroup *padgrp = &community->gpps[gpp];
1593 struct device *dev = pctrl->dev;
1594 const char *dummy;
1595 u32 requested = 0;
1596 unsigned int i;
1597
1598 if (padgrp->gpio_base == INTEL_GPIO_BASE_NOMAP)
1599 return;
1600
> 1601 for_each_requested_gpio_in_range(&pctrl->chip, i, padgrp->gpio_base, padgrp->size, dummy)
1602 requested |= BIT(i);
1603
1604 if (!intel_gpio_update_reg(base + gpp * 4, requested, saved))
1605 return;
1606
1607 dev_dbg(dev, "restored hostown %u/%u %#08x\n", c, gpp, readl(base + gpp * 4));
1608 }
1609
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH 4/4] drm: pl111: Update documentation
by Philip Li
On Tue, Jun 16, 2020 at 05:12:51PM +0100, Emil Velikov wrote:
> Hi all,
>
> Inspired by Linus and my personal confusion with the report, allow me
> to put some suggestions. Followed by an illustrative example.
thanks for all the suggestions, we will take them into consideration
to gradually improve the report.
>
> On Wed, 10 Jun 2020 at 08:38, kernel test robot <lkp(a)intel.com> wrote:
> >
> > Hi Linus,
> >
> > I love your patch! Perhaps something to improve:
> >
> > [auto build test WARNING on drm-exynos/exynos-drm-next]
> > [also build test WARNING on drm-intel/for-linux-next tegra-drm/drm/tegra/for-next linus/master v5.7 next-20200609]
> One thing which was always inclear me - is the warning identical in
> all the branches listed.
yes, they contain same warning, we will clarify this.
>
> > [cannot apply to drm-tip/drm-tip drm/drm-next]
> > [if your patch is applied to the wrong git tree, please drop us a note to help
> > improve the system. BTW, we also suggest to use '--base' option to specify the
> > base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
> >
> Reference to the manual tends to be better than an old SO thread.
got it, we will refer to your later example to enhance here.
>
> > url: https://github.com/0day-ci/linux/commits/Linus-Walleij/drm-pl111-Credit-w...
> > base: https://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git exynos-drm-next
> > reproduce: make htmldocs
> >
> > 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 <<):
> >
> Please do not list old warnings/errors. They only distract and dilute
> what/where the problem is.
early on, there's a request to view the old warning of modpost related
issue in case it is a false positive due to modpost output format changing.
we will think of this to limit to modpost only.
>
>
> > vim +1 drivers/gpu/drm/pl111/pl111_drv.c
> >
> > e559355a9da60a Thomas Gleixner 2019-06-01 @1 // SPDX-License-Identifier: GPL-2.0-only
> > bed41005e6174d Tom Cooksey 2017-04-12 2 /*
> > bed41005e6174d Tom Cooksey 2017-04-12 3 * (C) COPYRIGHT 2012-2013 ARM Limited. All rights reserved.
> > bed41005e6174d Tom Cooksey 2017-04-12 4 *
> > bed41005e6174d Tom Cooksey 2017-04-12 5 * Parts of this file were based on sources as follows:
> > bed41005e6174d Tom Cooksey 2017-04-12 6 *
> > bed41005e6174d Tom Cooksey 2017-04-12 7 * Copyright (c) 2006-2008 Intel Corporation
> > bed41005e6174d Tom Cooksey 2017-04-12 8 * Copyright (c) 2007 Dave Airlie <airlied(a)linux.ie>
> > bed41005e6174d Tom Cooksey 2017-04-12 9 * Copyright (C) 2011 Texas Instruments
> > bed41005e6174d Tom Cooksey 2017-04-12 10 */
> > bed41005e6174d Tom Cooksey 2017-04-12 11
> >
> > :::::: The code at line 1 was first introduced by commit
> > :::::: e559355a9da60a2388893d9e9da66c79fd604b9a treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 443
> >
> > :::::: TO: Thomas Gleixner <tglx(a)linutronix.de>
> > :::::: CC: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
> >
> All of this seems useful when debugging the kernel test robot itself.
> Which in this case is misleading as hell.
thanks, we will check above 4 lines with ::::: to adjust if needed.
>
>
> Here is something which is much shorter, with clearer structure and
> reads much easier.
this is very helpful and can provide a different perspective for how
the report is. We will learn from it to imporve the report.
>
> ---
> Hi Linus,
>
> This is an automated message from your friendly test robot.
> We've noticed some issues with your patch although being a robot,
> kindly double-check the results.
>
> Branches:
> [if the warning/errors are the same group them, otherwise split them
> in separate sections]
>
> - drm-exynos/exynos-drm-next [1]: WARNING
> - drm-intel/for-linux-next [2]: WARNING
> - .... : WARNING
> drivers/gpu/drm/pl111/pl111_drv.c:1: warning: 'ARM PrimeCell PL111
> CLCD Driver' not found
> - tegra-drm/drm/tegra/for-next [3]: WARNING
> some other warning
> - drm-tip/drm-tip [4] drm/drm-next [5]: cannot apply series
>
> Note: when submitting patches, please use `--base` as documented in
> https://git-scm.com/docs/git-format-patch.
>
>
> To reproduce:
> - wget https://url/to/build/toolchain // when applicable
> - wget https://url/to/config // when applicable
> - make htmldocs // use explicit make command instead of magic shell
> script, as seen in the cross build reports
>
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp(a)intel.com>
>
> Thank you
> The LKP team
>
> [1] URI to the drm-exynos/exynos-drm-next repo
> [2] URI to the drm-intel/for-linux-next repo
> [3] URI to the ...
>
2 years, 3 months
[kaccardi:fg-kaslr 4/10] ld.lld: error: failed to open drivers/staging/speakup/speakup.o: Cannot allocate memory
by kernel test robot
TO: Kristen C Accardi <kristen.c.accardi(a)intel.com>
tree: https://github.com/kaccardi/linux.git fg-kaslr
head: 196a39d163e9de947b38e7013d8c46c520adf0ec
commit: 7a7324f8e62c789f600eaa718c3ed1588d57f9d2 [4/10] x86: Makefile: Add build and config option for CONFIG_FG_KASLR
config: x86_64-allmodconfig (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 487ca07fcc75d52755c9fe2ee05bcb3b6eeeec44)
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
git checkout 7a7324f8e62c789f600eaa718c3ed1588d57f9d2
# 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>
Note: the kaccardi/fg-kaslr HEAD 196a39d163e9de947b38e7013d8c46c520adf0ec builds fine.
It only hurts bisectibility.
All errors (new ones prefixed by >>, old ones prefixed by <<):
terminate called after throwing an instance of 'std::system_error'
what(): Resource temporarily unavailable
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
>> ld.lld: error: failed to open drivers/staging/speakup/speakup.o: Cannot allocate memory
#0 0x000055dc2da6190a llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/opt/cross/clang-487ca07fcc/bin/lld+0x8c390a)
#1 0x000055dc2da5f815 llvm::sys::RunSignalHandlers() (/opt/cross/clang-487ca07fcc/bin/lld+0x8c1815)
#2 0x000055dc2da5f932 SignalHandler(int) (/opt/cross/clang-487ca07fcc/bin/lld+0x8c1932)
#3 0x00007fdeb566d730 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12730)
#4 0x00007fdeb519f7bb raise (/lib/x86_64-linux-gnu/libc.so.6+0x377bb)
#5 0x00007fdeb518a535 abort (/lib/x86_64-linux-gnu/libc.so.6+0x22535)
#6 0x00007fdeb5554983 (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0x8c983)
#7 0x00007fdeb555a8c6 (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0x928c6)
#8 0x00007fdeb555a901 (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0x92901)
#9 0x00007fdeb555ab34 (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0x92b34)
#10 0x00007fdeb5556a55 (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0x8ea55)
#11 0x00007fdeb5583dc9 (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xbbdc9)
#12 0x000055dc3036f834 std::thread::_State_impl<std::_Bind_simple<llvm::parallel::detail::(anonymous namespace)::ThreadPoolExecutor::ThreadPoolExecutor(llvm::ThreadPoolStrategy)::'lambda'() ()> >::_M_run() (/opt/cross/clang-487ca07fcc/bin/lld+0x31d1834)
#13 0x00007fdeb5583b2f (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xbbb2f)
#14 0x00007fdeb5662fa3 start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x7fa3)
#15 0x00007fdeb52614cf clone (/lib/x86_64-linux-gnu/libc.so.6+0xf94cf)
/bin/bash: line 1: 133090 Aborted ld.lld -m elf_x86_64 -z max-page-size=0x200000 -r -o drivers/staging/speakup/speakup.o drivers/staging/speakup/buffers.o drivers/staging/speakup/devsynth.o drivers/staging/speakup/i18n.o drivers/staging/speakup/fakekey.o drivers/staging/speakup/main.o drivers/staging/speakup/keyhelp.o drivers/staging/speakup/kobjects.o drivers/staging/speakup/selection.o drivers/staging/speakup/serialio.o drivers/staging/speakup/spk_ttyio.o drivers/staging/speakup/synth.o drivers/staging/speakup/thread.o drivers/staging/speakup/varhandlers.o
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH v2] mac80211: mesh: add mesh_param "mesh_nolearn" to skip path discovery
by kernel test robot
Hi "Linus,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on mac80211-next/master]
[also build test ERROR on mac80211/master v5.8-rc1 next-20200616]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Linus-L-ssing/mac80211-mesh-add-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git master
config: i386-debian-10.3 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce (this is a W=1 build):
# 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>
All errors (new ones prefixed by >>, old ones prefixed by <<):
net/wireless/nl80211.c: In function 'nl80211_parse_mesh_config':
>> net/wireless/nl80211.c:7101:25: error: macro "FILL_IN_MESH_PARAM_IF_SET" passed 8 arguments, but takes just 6
7101 | nl80211_check_bool);
| ^
net/wireless/nl80211.c:6972: note: macro "FILL_IN_MESH_PARAM_IF_SET" defined here
6972 | #define FILL_IN_MESH_PARAM_IF_SET(tb, cfg, param, mask, attr, fn) |
>> net/wireless/nl80211.c:7099:2: error: 'FILL_IN_MESH_PARAM_IF_SET' undeclared (first use in this function)
7099 | FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshNolearn, 0, 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
net/wireless/nl80211.c:7099:2: note: each undeclared identifier is reported only once for each function it appears in
vim +/FILL_IN_MESH_PARAM_IF_SET +7101 net/wireless/nl80211.c
6979
6980 if (!info->attrs[NL80211_ATTR_MESH_CONFIG])
6981 return -EINVAL;
6982 if (nla_parse_nested_deprecated(tb, NL80211_MESHCONF_ATTR_MAX, info->attrs[NL80211_ATTR_MESH_CONFIG], nl80211_meshconf_params_policy, info->extack))
6983 return -EINVAL;
6984
6985 /* This makes sure that there aren't more than 32 mesh config
6986 * parameters (otherwise our bitfield scheme would not work.) */
6987 BUILD_BUG_ON(NL80211_MESHCONF_ATTR_MAX > 32);
6988
6989 /* Fill in the params struct */
6990 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshRetryTimeout, mask,
6991 NL80211_MESHCONF_RETRY_TIMEOUT, nla_get_u16);
6992 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshConfirmTimeout, mask,
6993 NL80211_MESHCONF_CONFIRM_TIMEOUT,
6994 nla_get_u16);
6995 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHoldingTimeout, mask,
6996 NL80211_MESHCONF_HOLDING_TIMEOUT,
6997 nla_get_u16);
6998 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshMaxPeerLinks, mask,
6999 NL80211_MESHCONF_MAX_PEER_LINKS,
7000 nla_get_u16);
7001 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshMaxRetries, mask,
7002 NL80211_MESHCONF_MAX_RETRIES, nla_get_u8);
7003 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshTTL, mask,
7004 NL80211_MESHCONF_TTL, nla_get_u8);
7005 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, element_ttl, mask,
7006 NL80211_MESHCONF_ELEMENT_TTL, nla_get_u8);
7007 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, auto_open_plinks, mask,
7008 NL80211_MESHCONF_AUTO_OPEN_PLINKS,
7009 nla_get_u8);
7010 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshNbrOffsetMaxNeighbor,
7011 mask,
7012 NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR,
7013 nla_get_u32);
7014 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMPmaxPREQretries, mask,
7015 NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES,
7016 nla_get_u8);
7017 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, path_refresh_time, mask,
7018 NL80211_MESHCONF_PATH_REFRESH_TIME,
7019 nla_get_u32);
7020 if (mask & BIT(NL80211_MESHCONF_PATH_REFRESH_TIME) &&
7021 (cfg->path_refresh_time < 1 || cfg->path_refresh_time > 65535))
7022 return -EINVAL;
7023 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, min_discovery_timeout, mask,
7024 NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT,
7025 nla_get_u16);
7026 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMPactivePathTimeout,
7027 mask,
7028 NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT,
7029 nla_get_u32);
7030 if (mask & BIT(NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT) &&
7031 (cfg->dot11MeshHWMPactivePathTimeout < 1 ||
7032 cfg->dot11MeshHWMPactivePathTimeout > 65535))
7033 return -EINVAL;
7034 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMPpreqMinInterval, mask,
7035 NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL,
7036 nla_get_u16);
7037 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMPperrMinInterval, mask,
7038 NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL,
7039 nla_get_u16);
7040 FILL_IN_MESH_PARAM_IF_SET(tb, cfg,
7041 dot11MeshHWMPnetDiameterTraversalTime, mask,
7042 NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME,
7043 nla_get_u16);
7044 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMPRootMode, mask,
7045 NL80211_MESHCONF_HWMP_ROOTMODE, nla_get_u8);
7046 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMPRannInterval, mask,
7047 NL80211_MESHCONF_HWMP_RANN_INTERVAL,
7048 nla_get_u16);
7049 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshGateAnnouncementProtocol,
7050 mask, NL80211_MESHCONF_GATE_ANNOUNCEMENTS,
7051 nla_get_u8);
7052 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshForwarding, mask,
7053 NL80211_MESHCONF_FORWARDING, nla_get_u8);
7054 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, rssi_threshold, mask,
7055 NL80211_MESHCONF_RSSI_THRESHOLD,
7056 nla_get_s32);
7057 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshConnectedToMeshGate, mask,
7058 NL80211_MESHCONF_CONNECTED_TO_GATE,
7059 nla_get_u8);
7060 /*
7061 * Check HT operation mode based on
7062 * IEEE 802.11-2016 9.4.2.57 HT Operation element.
7063 */
7064 if (tb[NL80211_MESHCONF_HT_OPMODE]) {
7065 ht_opmode = nla_get_u16(tb[NL80211_MESHCONF_HT_OPMODE]);
7066
7067 if (ht_opmode & ~(IEEE80211_HT_OP_MODE_PROTECTION |
7068 IEEE80211_HT_OP_MODE_NON_GF_STA_PRSNT |
7069 IEEE80211_HT_OP_MODE_NON_HT_STA_PRSNT))
7070 return -EINVAL;
7071
7072 /* NON_HT_STA bit is reserved, but some programs set it */
7073 ht_opmode &= ~IEEE80211_HT_OP_MODE_NON_HT_STA_PRSNT;
7074
7075 cfg->ht_opmode = ht_opmode;
7076 mask |= (1 << (NL80211_MESHCONF_HT_OPMODE - 1));
7077 }
7078 FILL_IN_MESH_PARAM_IF_SET(tb, cfg,
7079 dot11MeshHWMPactivePathToRootTimeout, mask,
7080 NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT,
7081 nla_get_u32);
7082 if (mask & BIT(NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT) &&
7083 (cfg->dot11MeshHWMPactivePathToRootTimeout < 1 ||
7084 cfg->dot11MeshHWMPactivePathToRootTimeout > 65535))
7085 return -EINVAL;
7086 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMProotInterval, mask,
7087 NL80211_MESHCONF_HWMP_ROOT_INTERVAL,
7088 nla_get_u16);
7089 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshHWMPconfirmationInterval,
7090 mask,
7091 NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL,
7092 nla_get_u16);
7093 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, power_mode, mask,
7094 NL80211_MESHCONF_POWER_MODE, nla_get_u32);
7095 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshAwakeWindowDuration, mask,
7096 NL80211_MESHCONF_AWAKE_WINDOW, nla_get_u16);
7097 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, plink_timeout, mask,
7098 NL80211_MESHCONF_PLINK_TIMEOUT, nla_get_u32);
> 7099 FILL_IN_MESH_PARAM_IF_SET(tb, cfg, dot11MeshNolearn, 0, 1,
7100 mask, NL80211_MESHCONF_NOLEARN,
> 7101 nl80211_check_bool);
7102 if (mask_out)
7103 *mask_out = mask;
7104
7105 return 0;
7106
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months