[RFC PATCH] display/drm/bridge: tc358775_parse_dt() can be static
by kernel test robot
Signed-off-by: kernel test robot <lkp(a)intel.com>
---
tc358775.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/bridge/tc358775.c b/drivers/gpu/drm/bridge/tc358775.c
index 87af3271b63521..88a45e86eae334 100644
--- a/drivers/gpu/drm/bridge/tc358775.c
+++ b/drivers/gpu/drm/bridge/tc358775.c
@@ -502,7 +502,7 @@ static int tc_mode_valid(struct drm_bridge *bridge,
return MODE_OK;
}
-int tc358775_parse_dt(struct device_node *np, struct tc_data *tc)
+static int tc358775_parse_dt(struct device_node *np, struct tc_data *tc)
{
struct device_node *endpoint;
struct device_node *parent;
2 years, 3 months
[saeed:net-next-mlx5 8/48] drivers/net/ethernet/mellanox/mlx5/core/en_accel/en_accel.h:153:12: error: implicit declaration of function 'sk_rx_queue_get'; did you mean
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git net-next-mlx5
head: fa5b1fed713aee9be121f85027096c92662da161
commit: 4115b1396bcc9cdab12bce03a461ea7fb8916a42 [8/48] net/mlx5e: kTLS, Add kTLS RX HW offload support
config: xtensa-allyesconfig (attached as .config)
compiler: xtensa-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
git checkout 4115b1396bcc9cdab12bce03a461ea7fb8916a42
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=xtensa
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 >>):
In file included from arch/xtensa/include/asm/processor.h:15,
from arch/xtensa/include/asm/atomic.h:18,
from include/linux/atomic.h:7,
from include/linux/refcount.h:95,
from include/net/act_api.h:9,
from include/net/tc_act/tc_gact.h:5,
from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:33:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/xtensa/include/asm/page.h:193:9: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
193 | ((pfn) >= ARCH_PFN_OFFSET && ((pfn) - ARCH_PFN_OFFSET) < max_mapnr)
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
arch/xtensa/include/asm/page.h:201:32: note: in expansion of macro 'pfn_valid'
201 | #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT)
| ^~~~~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
In file included from ./arch/xtensa/include/generated/asm/bug.h:1,
from include/linux/bug.h:5,
from include/linux/refcount.h:96,
from include/net/act_api.h:9,
from include/net/tc_act/tc_gact.h:5,
from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:33:
include/linux/dma-mapping.h: In function 'dma_map_resource':
arch/xtensa/include/asm/page.h:193:9: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
193 | ((pfn) >= ARCH_PFN_OFFSET && ((pfn) - ARCH_PFN_OFFSET) < max_mapnr)
| ^~
include/asm-generic/bug.h:144:27: note: in definition of macro 'WARN_ON_ONCE'
144 | 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))))
| ^~~~~~~~~
In file included from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:49:
drivers/net/ethernet/mellanox/mlx5/core/en_accel/en_accel.h: In function 'mlx5e_accel_sk_get_rxq':
>> drivers/net/ethernet/mellanox/mlx5/core/en_accel/en_accel.h:153:12: error: implicit declaration of function 'sk_rx_queue_get'; did you mean 'sk_rx_queue_set'? [-Werror=implicit-function-declaration]
153 | int rxq = sk_rx_queue_get(sk);
| ^~~~~~~~~~~~~~~
| sk_rx_queue_set
cc1: some warnings being treated as errors
vim +153 drivers/net/ethernet/mellanox/mlx5/core/en_accel/en_accel.h
150
151 static inline int mlx5e_accel_sk_get_rxq(struct sock *sk)
152 {
> 153 int rxq = sk_rx_queue_get(sk);
154
155 if (unlikely(rxq == -1))
156 rxq = 0;
157
158 return rxq;
159 }
160
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[peterz-queue:modules/WIP 21/22] undefined reference to `ftrace_module_release'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git modules/WIP
head: 5d1d829c46e1fc74ab3cfbaec73ca14e2bbf3642
commit: 7e54f0ea9397718057e43653496fc89fd42b986e [21/22] ftrace: Merge ftrace_module_{init,enable}()
config: parisc-allyesconfig (attached as .config)
compiler: hppa-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
git checkout 7e54f0ea9397718057e43653496fc89fd42b986e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc
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 >>):
hppa-linux-ld: kernel/module.o: in function `__se_sys_delete_module':
>> (.text+0x4c18): undefined reference to `ftrace_module_release'
hppa-linux-ld: kernel/module.o: in function `do_init_module':
(.text+0x4f18): undefined reference to `ftrace_module_release'
hppa-linux-ld: kernel/module.o: in function `load_module':
(.text+0x701c): undefined reference to `ftrace_module_release'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [RFC PATCH v2] 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/sched/core]
[also build test WARNING on linux/master linus/master v5.8-rc1]
[cannot apply to tip/x86/asm next-20200618]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use as documented in
https://git-scm.com/docs/git-format-patch]
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 87e867b4269f29dac8190bca13912d08163a277f
config: s390-randconfig-r005-20200619 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 63700971ac9cdf198faa4a3a7c226fa579e49206)
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
# 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>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
>> <stdin>:1523:2: warning: syscall sched_pair_cpu not implemented [-W#warnings]
#warning syscall sched_pair_cpu not implemented
^
1 warning generated.
--
>> <stdin>:1523:2: warning: syscall sched_pair_cpu not implemented [-W#warnings]
#warning syscall sched_pair_cpu not implemented
^
1 warning generated.
--
In file included from arch/s390/include/asm/diag.h:12:
In file included from include/linux/if_ether.h:19:
In file included from include/linux/skbuff.h:31:
In file included from include/linux/dma-mapping.h:11:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:72:
include/asm-generic/io.h:490: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 arch/s390/kernel/asm-offsets.c:11:
In file included from include/linux/kvm_host.h:32:
In file included from include/linux/kvm_para.h:5:
In file included from include/uapi/linux/kvm_para.h:36:
In file included from arch/s390/include/asm/kvm_para.h:25:
In file included from arch/s390/include/asm/diag.h:12:
In file included from include/linux/if_ether.h:19:
In file included from include/linux/skbuff.h:31:
In file included from include/linux/dma-mapping.h:11:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:72:
include/asm-generic/io.h:490: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 arch/s390/kernel/asm-offsets.c:11:
In file included from include/linux/kvm_host.h:32:
In file included from include/linux/kvm_para.h:5:
In file included from include/uapi/linux/kvm_para.h:36:
In file included from arch/s390/include/asm/kvm_para.h:25:
In file included from arch/s390/include/asm/diag.h:12:
In file included from include/linux/if_ether.h:19:
In file included from include/linux/skbuff.h:31:
In file included from include/linux/dma-mapping.h:11:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:72:
include/asm-generic/io.h:490: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 arch/s390/kernel/asm-offsets.c:11:
In file included from include/linux/kvm_host.h:32:
In file included from include/linux/kvm_para.h:5:
In file included from include/uapi/linux/kvm_para.h:36:
In file included from arch/s390/include/asm/kvm_para.h:25:
In file included from arch/s390/include/asm/diag.h:12:
In file included from include/linux/if_ether.h:19:
In file included from include/linux/skbuff.h:31:
In file included from include/linux/dma-mapping.h:11:
In file included from include/linux/scatterlist.h:9:
In file included from arch/s390/include/asm/io.h:72:
include/asm-generic/io.h:501: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:511: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:521: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:609: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:617: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:625: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:634: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:643: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:652:21: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
writesl(PCI_IOBASE + addr, buffer, count);
~~~~~~~~~~ ^
20 warnings generated.
>> <stdin>:1523:2: warning: syscall sched_pair_cpu not implemented [-W#warnings]
#warning syscall sched_pair_cpu not implemented
^
1 warning generated.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[peterz-queue:x86/module 3/5] /usr/bin/ld: module.c:undefined reference to `insn_get_length'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git x86/module
head: c9a32b3020effe753a95d2e26662206b7aadf832
commit: b88bbb9edf5931e928d27169d4b223f8a99313bb [3/5] x86,module: Detect VMX vs SLD conflicts
config: um-defconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce (this is a W=1 build):
git checkout b88bbb9edf5931e928d27169d4b223f8a99313bb
# save the attached .config to linux build tree
make W=1 ARCH=um
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 >>):
/usr/bin/ld: arch/x86/um/../kernel/module.o: in function `decode_module':
module.c:(.text+0x26): undefined reference to `split_lock_enabled'
/usr/bin/ld: module.c:(.text+0x39): undefined reference to `insn_init'
>> /usr/bin/ld: module.c:(.text+0x6b): undefined reference to `insn_get_length'
/usr/bin/ld: module.c:(.text+0x162): undefined reference to `insn_get_prefixes'
collect2: error: ld returned 1 exit status
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[ipmi:ipmi-wdt-rework 4/10] drivers/hwmon/sch56xx-common.c:245:12: error: static declaration of 'watchdog_set_timeout' follows non-static declaration
by kernel test robot
tree: https://github.com/cminyard/linux-ipmi ipmi-wdt-rework
head: a22010ce71ef67492980e4c55ad7864679826b53
commit: dd98cd72e76155295670444d779227ee5a6694d5 [4/10] watchdog: Add functions to set the timeout and pretimeout
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 dd98cd72e76155295670444d779227ee5a6694d5
# 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 >>):
>> drivers/hwmon/sch56xx-common.c:245:12: error: static declaration of 'watchdog_set_timeout' follows non-static declaration
static int watchdog_set_timeout(struct watchdog_device *wddev,
^
include/linux/watchdog.h:205:5: note: previous declaration is here
int watchdog_set_timeout(struct watchdog_device *wdd, unsigned int timeout);
^
1 error generated.
--
>> drivers/hwmon/w83793.c:1190:12: error: static declaration of 'watchdog_set_timeout' follows non-static declaration
static int watchdog_set_timeout(struct w83793_data *data, int timeout)
^
include/linux/watchdog.h:205:5: note: previous declaration is here
int watchdog_set_timeout(struct watchdog_device *wdd, unsigned int timeout);
^
>> drivers/hwmon/w83793.c:1429:30: error: incompatible pointer types passing 'struct w83793_data *' to parameter of type 'struct watchdog_device *' [-Werror,-Wincompatible-pointer-types]
ret = watchdog_set_timeout(data, val);
^~~~
include/linux/watchdog.h:205:50: note: passing argument to parameter 'wdd' here
int watchdog_set_timeout(struct watchdog_device *wdd, unsigned int timeout);
^
2 errors generated.
--
>> drivers/hwmon/fschmd.c:697:12: error: static declaration of 'watchdog_set_timeout' follows non-static declaration
static int watchdog_set_timeout(struct fschmd_data *data, int timeout)
^
include/linux/watchdog.h:205:5: note: previous declaration is here
int watchdog_set_timeout(struct watchdog_device *wdd, unsigned int timeout);
^
>> drivers/hwmon/fschmd.c:925:30: error: incompatible pointer types passing 'struct fschmd_data *' to parameter of type 'struct watchdog_device *' [-Werror,-Wincompatible-pointer-types]
ret = watchdog_set_timeout(data, i);
^~~~
include/linux/watchdog.h:205:50: note: passing argument to parameter 'wdd' here
int watchdog_set_timeout(struct watchdog_device *wdd, unsigned int timeout);
^
drivers/hwmon/fschmd.c:1230:24: error: incompatible pointer types passing 'struct fschmd_data *' to parameter of type 'struct watchdog_device *' [-Werror,-Wincompatible-pointer-types]
watchdog_set_timeout(data, 60);
^~~~
include/linux/watchdog.h:205:50: note: passing argument to parameter 'wdd' here
int watchdog_set_timeout(struct watchdog_device *wdd, unsigned int timeout);
^
3 errors generated.
--
>> drivers/watchdog/f71808e_wdt.c:221:12: error: static declaration of 'watchdog_set_timeout' follows non-static declaration
static int watchdog_set_timeout(int timeout)
^
include/linux/watchdog.h:205:5: note: previous declaration is here
int watchdog_set_timeout(struct watchdog_device *wdd, unsigned int timeout);
^
>> drivers/watchdog/f71808e_wdt.c:642:39: error: too few arguments to function call, expected 2, have 1
if (watchdog_set_timeout(new_timeout))
~~~~~~~~~~~~~~~~~~~~ ^
include/linux/watchdog.h:205:5: note: 'watchdog_set_timeout' declared here
int watchdog_set_timeout(struct watchdog_device *wdd, unsigned int timeout);
^
drivers/watchdog/f71808e_wdt.c:711:36: error: too few arguments to function call, expected 2, have 1
err = watchdog_set_timeout(timeout);
~~~~~~~~~~~~~~~~~~~~ ^
include/linux/watchdog.h:205:5: note: 'watchdog_set_timeout' declared here
int watchdog_set_timeout(struct watchdog_device *wdd, unsigned int timeout);
^
3 errors generated.
vim +/watchdog_set_timeout +245 drivers/hwmon/sch56xx-common.c
28ff2f7a742dab Hans de Goede 2011-07-25 240
312869ec935ab3 Hans de Goede 2012-03-18 241 /*
312869ec935ab3 Hans de Goede 2012-03-18 242 * Watchdog routines
312869ec935ab3 Hans de Goede 2012-03-18 243 */
312869ec935ab3 Hans de Goede 2012-03-18 244
fb551405c0f8e1 Hans de Goede 2012-05-22 @245 static int watchdog_set_timeout(struct watchdog_device *wddev,
fb551405c0f8e1 Hans de Goede 2012-05-22 246 unsigned int timeout)
312869ec935ab3 Hans de Goede 2012-03-18 247 {
fb551405c0f8e1 Hans de Goede 2012-05-22 248 struct sch56xx_watchdog_data *data = watchdog_get_drvdata(wddev);
fb551405c0f8e1 Hans de Goede 2012-05-22 249 unsigned int resolution;
312869ec935ab3 Hans de Goede 2012-03-18 250 u8 control;
fb551405c0f8e1 Hans de Goede 2012-05-22 251 int ret;
312869ec935ab3 Hans de Goede 2012-03-18 252
312869ec935ab3 Hans de Goede 2012-03-18 253 /* 1 second or 60 second resolution? */
312869ec935ab3 Hans de Goede 2012-03-18 254 if (timeout <= 255)
312869ec935ab3 Hans de Goede 2012-03-18 255 resolution = 1;
312869ec935ab3 Hans de Goede 2012-03-18 256 else
312869ec935ab3 Hans de Goede 2012-03-18 257 resolution = 60;
312869ec935ab3 Hans de Goede 2012-03-18 258
312869ec935ab3 Hans de Goede 2012-03-18 259 if (timeout < resolution || timeout > (resolution * 255))
312869ec935ab3 Hans de Goede 2012-03-18 260 return -EINVAL;
312869ec935ab3 Hans de Goede 2012-03-18 261
312869ec935ab3 Hans de Goede 2012-03-18 262 if (resolution == 1)
312869ec935ab3 Hans de Goede 2012-03-18 263 control = data->watchdog_control | SCH56XX_WDOG_TIME_BASE_SEC;
312869ec935ab3 Hans de Goede 2012-03-18 264 else
312869ec935ab3 Hans de Goede 2012-03-18 265 control = data->watchdog_control & ~SCH56XX_WDOG_TIME_BASE_SEC;
312869ec935ab3 Hans de Goede 2012-03-18 266
312869ec935ab3 Hans de Goede 2012-03-18 267 if (data->watchdog_control != control) {
312869ec935ab3 Hans de Goede 2012-03-18 268 mutex_lock(data->io_lock);
312869ec935ab3 Hans de Goede 2012-03-18 269 ret = sch56xx_write_virtual_reg(data->addr,
312869ec935ab3 Hans de Goede 2012-03-18 270 SCH56XX_REG_WDOG_CONTROL,
312869ec935ab3 Hans de Goede 2012-03-18 271 control);
312869ec935ab3 Hans de Goede 2012-03-18 272 mutex_unlock(data->io_lock);
312869ec935ab3 Hans de Goede 2012-03-18 273 if (ret)
fb551405c0f8e1 Hans de Goede 2012-05-22 274 return ret;
312869ec935ab3 Hans de Goede 2012-03-18 275
312869ec935ab3 Hans de Goede 2012-03-18 276 data->watchdog_control = control;
312869ec935ab3 Hans de Goede 2012-03-18 277 }
312869ec935ab3 Hans de Goede 2012-03-18 278
312869ec935ab3 Hans de Goede 2012-03-18 279 /*
312869ec935ab3 Hans de Goede 2012-03-18 280 * Remember new timeout value, but do not write as that (re)starts
312869ec935ab3 Hans de Goede 2012-03-18 281 * the watchdog countdown.
312869ec935ab3 Hans de Goede 2012-03-18 282 */
312869ec935ab3 Hans de Goede 2012-03-18 283 data->watchdog_preset = DIV_ROUND_UP(timeout, resolution);
fb551405c0f8e1 Hans de Goede 2012-05-22 284 wddev->timeout = data->watchdog_preset * resolution;
312869ec935ab3 Hans de Goede 2012-03-18 285
fb551405c0f8e1 Hans de Goede 2012-05-22 286 return 0;
312869ec935ab3 Hans de Goede 2012-03-18 287 }
312869ec935ab3 Hans de Goede 2012-03-18 288
:::::: The code at line 245 was first introduced by commit
:::::: fb551405c0f8e15d6fc7ae6e16a5e15382f8b8ac watchdog: sch56xx: Use watchdog core
:::::: TO: Hans de Goede <hdegoede(a)redhat.com>
:::::: CC: Wim Van Sebroeck <wim(a)iguana.be>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[ipmi:ipmi-wdt-rework 6/10] drivers/char/ipmi/ipmi_watchdog.c:193: undefined reference to `watchdog_set_pretimeout'
by kernel test robot
tree: https://github.com/cminyard/linux-ipmi ipmi-wdt-rework
head: a22010ce71ef67492980e4c55ad7864679826b53
commit: e51fbadc1895c1b020a8121bf2f37cf207acb39a [6/10] ipmi:watchdog: Convert over to the watchdog framework
config: mips-randconfig-r006-20200619 (attached as .config)
compiler: mips64el-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
git checkout e51fbadc1895c1b020a8121bf2f37cf207acb39a
# 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 errors (new ones prefixed by >>):
mips64el-linux-ld: drivers/char/ipmi/ipmi_watchdog.o: in function `set_param_timeout':
>> drivers/char/ipmi/ipmi_watchdog.c:193: undefined reference to `watchdog_set_pretimeout'
>> mips64el-linux-ld: drivers/char/ipmi/ipmi_watchdog.c:195: undefined reference to `watchdog_set_timeout'
mips64el-linux-ld: drivers/char/ipmi/ipmi_watchdog.o: in function `set_param_str':
>> drivers/char/ipmi/ipmi_watchdog.c:232: undefined reference to `watchdog_set_timeout'
mips64el-linux-ld: drivers/char/ipmi/ipmi_watchdog.o: in function `ipmi_unregister_watchdog':
>> drivers/char/ipmi/ipmi_watchdog.c:1000: undefined reference to `watchdog_unregister_device'
mips64el-linux-ld: drivers/char/ipmi/ipmi_watchdog.o: in function `ipmi_register_watchdog':
>> drivers/char/ipmi/ipmi_watchdog.c:922: undefined reference to `watchdog_init_timeout'
>> mips64el-linux-ld: drivers/char/ipmi/ipmi_watchdog.c:930: undefined reference to `watchdog_register_device'
>> mips64el-linux-ld: drivers/char/ipmi/ipmi_watchdog.c:979: undefined reference to `watchdog_start'
vim +193 drivers/char/ipmi/ipmi_watchdog.c
176
177 static int set_param_timeout(const char *val, const struct kernel_param *kp)
178 {
179 unsigned long l;
180 int rv = 0;
181 int *ptr;
182
183 if (!val)
184 return -EINVAL;
185 rv = kstrtoul(val, 0, &l);
186 if (rv)
187 return rv;
188
189 ptr = (int *) kp->arg;
190 *ptr = l;
191 if (watchdog_user) {
192 if (ptr == &pretimeout)
> 193 rv = watchdog_set_pretimeout(&ipmi_wdd, l);
194 else if (ptr == &timeout)
> 195 rv = watchdog_set_timeout(&ipmi_wdd, l);
196 }
197
198 return rv;
199 }
200
201 static const struct kernel_param_ops param_ops_timeout = {
202 .set = set_param_timeout,
203 .get = param_get_int,
204 };
205 #define param_check_timeout param_check_int
206
207 typedef int (*action_fn)(const char *intval, char *outval);
208
209 static int action_op(const char *inval, char *outval);
210 static int preaction_op(const char *inval, char *outval);
211 static int preop_op(const char *inval, char *outval);
212 static void check_parms(void);
213
214 static int set_param_str(const char *val, const struct kernel_param *kp)
215 {
216 action_fn fn = (action_fn) kp->arg;
217 int rv = 0;
218 char valcp[16];
219 char *s;
220
221 strncpy(valcp, val, 15);
222 valcp[15] = '\0';
223
224 s = strstrip(valcp);
225
226 rv = fn(s, NULL);
227 if (rv)
228 goto out;
229
230 check_parms();
231 if (watchdog_user)
> 232 rv = watchdog_set_timeout(&ipmi_wdd, ipmi_wdd.timeout);
233
234 out:
235 return rv;
236 }
237
---
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 net-next] ipv6: icmp6: avoid indirect call for icmpv6_send()
by kernel test robot
Hi Eric,
I love your patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
url: https://github.com/0day-ci/linux/commits/Eric-Dumazet/ipv6-icmp6-avoid-in...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 0fb9fbab405351aa0c18973881c4103e4da886b6
config: nds32-randconfig-r002-20200619 (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/thread_info.h:12,
from include/asm-generic/preempt.h:5,
from ./arch/nds32/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/linux/stat.h:19,
from include/linux/module.h:13,
from net/ipv6/icmp.c:30:
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:144:27: note: in definition of macro 'WARN_ON_ONCE'
144 | 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))))
| ^~~~~~~~~
net/ipv6/icmp.c: At top level:
>> net/ipv6/icmp.c:442:6: warning: no previous prototype for 'icmp6_send' [-Wmissing-prototypes]
442 | void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info,
| ^~~~~~~~~~
vim +/icmp6_send +442 net/ipv6/icmp.c
438
439 /*
440 * Send an ICMP message in response to a packet in error
441 */
> 442 void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info,
443 const struct in6_addr *force_saddr)
444 {
445 struct inet6_dev *idev = NULL;
446 struct ipv6hdr *hdr = ipv6_hdr(skb);
447 struct sock *sk;
448 struct net *net;
449 struct ipv6_pinfo *np;
450 const struct in6_addr *saddr = NULL;
451 struct dst_entry *dst;
452 struct icmp6hdr tmp_hdr;
453 struct flowi6 fl6;
454 struct icmpv6_msg msg;
455 struct ipcm6_cookie ipc6;
456 int iif = 0;
457 int addr_type = 0;
458 int len;
459 u32 mark;
460
461 if ((u8 *)hdr < skb->head ||
462 (skb_network_header(skb) + sizeof(*hdr)) > skb_tail_pointer(skb))
463 return;
464
465 if (!skb->dev)
466 return;
467 net = dev_net(skb->dev);
468 mark = IP6_REPLY_MARK(net, skb->mark);
469 /*
470 * Make sure we respect the rules
471 * i.e. RFC 1885 2.4(e)
472 * Rule (e.1) is enforced by not using icmp6_send
473 * in any code that processes icmp errors.
474 */
475 addr_type = ipv6_addr_type(&hdr->daddr);
476
477 if (ipv6_chk_addr(net, &hdr->daddr, skb->dev, 0) ||
478 ipv6_chk_acast_addr_src(net, skb->dev, &hdr->daddr))
479 saddr = &hdr->daddr;
480
481 /*
482 * Dest addr check
483 */
484
485 if (addr_type & IPV6_ADDR_MULTICAST || skb->pkt_type != PACKET_HOST) {
486 if (type != ICMPV6_PKT_TOOBIG &&
487 !(type == ICMPV6_PARAMPROB &&
488 code == ICMPV6_UNK_OPTION &&
489 (opt_unrec(skb, info))))
490 return;
491
492 saddr = NULL;
493 }
494
495 addr_type = ipv6_addr_type(&hdr->saddr);
496
497 /*
498 * Source addr check
499 */
500
501 if (__ipv6_addr_needs_scope_id(addr_type)) {
502 iif = icmp6_iif(skb);
503 } else {
504 dst = skb_dst(skb);
505 iif = l3mdev_master_ifindex(dst ? dst->dev : skb->dev);
506 }
507
508 /*
509 * Must not send error if the source does not uniquely
510 * identify a single node (RFC2463 Section 2.4).
511 * We check unspecified / multicast addresses here,
512 * and anycast addresses will be checked later.
513 */
514 if ((addr_type == IPV6_ADDR_ANY) || (addr_type & IPV6_ADDR_MULTICAST)) {
515 net_dbg_ratelimited("icmp6_send: addr_any/mcast source [%pI6c > %pI6c]\n",
516 &hdr->saddr, &hdr->daddr);
517 return;
518 }
519
520 /*
521 * Never answer to a ICMP packet.
522 */
523 if (is_ineligible(skb)) {
524 net_dbg_ratelimited("icmp6_send: no reply to icmp error [%pI6c > %pI6c]\n",
525 &hdr->saddr, &hdr->daddr);
526 return;
527 }
528
529 /* Needed by both icmp_global_allow and icmpv6_xmit_lock */
530 local_bh_disable();
531
532 /* Check global sysctl_icmp_msgs_per_sec ratelimit */
533 if (!(skb->dev->flags & IFF_LOOPBACK) && !icmpv6_global_allow(net, type))
534 goto out_bh_enable;
535
536 mip6_addr_swap(skb);
537
538 sk = icmpv6_xmit_lock(net);
539 if (!sk)
540 goto out_bh_enable;
541
542 memset(&fl6, 0, sizeof(fl6));
543 fl6.flowi6_proto = IPPROTO_ICMPV6;
544 fl6.daddr = hdr->saddr;
545 if (force_saddr)
546 saddr = force_saddr;
547 if (saddr) {
548 fl6.saddr = *saddr;
549 } else if (!icmpv6_rt_has_prefsrc(sk, type, &fl6)) {
550 /* select a more meaningful saddr from input if */
551 struct net_device *in_netdev;
552
553 in_netdev = dev_get_by_index(net, IP6CB(skb)->iif);
554 if (in_netdev) {
555 ipv6_dev_get_saddr(net, in_netdev, &fl6.daddr,
556 inet6_sk(sk)->srcprefs,
557 &fl6.saddr);
558 dev_put(in_netdev);
559 }
560 }
561 fl6.flowi6_mark = mark;
562 fl6.flowi6_oif = iif;
563 fl6.fl6_icmp_type = type;
564 fl6.fl6_icmp_code = code;
565 fl6.flowi6_uid = sock_net_uid(net, NULL);
566 fl6.mp_hash = rt6_multipath_hash(net, &fl6, skb, NULL);
567 security_skb_classify_flow(skb, flowi6_to_flowi(&fl6));
568
569 sk->sk_mark = mark;
570 np = inet6_sk(sk);
571
572 if (!icmpv6_xrlim_allow(sk, type, &fl6))
573 goto out;
574
575 tmp_hdr.icmp6_type = type;
576 tmp_hdr.icmp6_code = code;
577 tmp_hdr.icmp6_cksum = 0;
578 tmp_hdr.icmp6_pointer = htonl(info);
579
580 if (!fl6.flowi6_oif && ipv6_addr_is_multicast(&fl6.daddr))
581 fl6.flowi6_oif = np->mcast_oif;
582 else if (!fl6.flowi6_oif)
583 fl6.flowi6_oif = np->ucast_oif;
584
585 ipcm6_init_sk(&ipc6, np);
586 fl6.flowlabel = ip6_make_flowinfo(ipc6.tclass, fl6.flowlabel);
587
588 dst = icmpv6_route_lookup(net, skb, sk, &fl6);
589 if (IS_ERR(dst))
590 goto out;
591
592 ipc6.hlimit = ip6_sk_dst_hoplimit(np, &fl6, dst);
593
594 msg.skb = skb;
595 msg.offset = skb_network_offset(skb);
596 msg.type = type;
597
598 len = skb->len - msg.offset;
599 len = min_t(unsigned int, len, IPV6_MIN_MTU - sizeof(struct ipv6hdr) - sizeof(struct icmp6hdr));
600 if (len < 0) {
601 net_dbg_ratelimited("icmp: len problem [%pI6c > %pI6c]\n",
602 &hdr->saddr, &hdr->daddr);
603 goto out_dst_release;
604 }
605
606 rcu_read_lock();
607 idev = __in6_dev_get(skb->dev);
608
609 if (ip6_append_data(sk, icmpv6_getfrag, &msg,
610 len + sizeof(struct icmp6hdr),
611 sizeof(struct icmp6hdr),
612 &ipc6, &fl6, (struct rt6_info *)dst,
613 MSG_DONTWAIT)) {
614 ICMP6_INC_STATS(net, idev, ICMP6_MIB_OUTERRORS);
615 ip6_flush_pending_frames(sk);
616 } else {
617 icmpv6_push_pending_frames(sk, &fl6, &tmp_hdr,
618 len + sizeof(struct icmp6hdr));
619 }
620 rcu_read_unlock();
621 out_dst_release:
622 dst_release(dst);
623 out:
624 icmpv6_xmit_unlock(sk);
625 out_bh_enable:
626 local_bh_enable();
627 }
628 EXPORT_SYMBOL(icmp6_send);
629
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months