Re: [PATCH] watchdog: make nowayout sysfs file writable

From: kbuild test robot
Date: Tue Nov 05 2019 - 16:18:27 EST


Hi Rasmus,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[cannot apply to v5.4-rc6 next-20191105]
[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/Rasmus-Villemoes/watchdog-make-nowayout-sysfs-file-writable/20191106-032539
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a99d8080aaf358d5d23581244e5da23b35e340b9
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 7.4.0
reproduce:
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
GCC_VERSION=7.4.0 make.cross ARCH=ia64

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

All error/warnings (new ones prefixed by >>):

In file included from include/linux/mutex.h:14:0,
from include/linux/kernfs.h:12,
from include/linux/sysfs.h:16,
from include/linux/kobject.h:20,
from include/linux/cdev.h:5,
from drivers/watchdog/watchdog_dev.c:31:
drivers/watchdog/watchdog_dev.c: In function 'nowayout_store':
>> arch/ia64/include/asm/current.h:16:19: error: expected identifier or '(' before 'struct'
#define current ((struct task_struct *) ia64_getreg(_IA64_REG_TP))
^
drivers/watchdog/watchdog_dev.c:460:22: note: in expansion of macro 'current'
unsigned int value, current;
^~~~~~~
In file included from arch/ia64/include/asm/gcc_intrin.h:10:0,
from arch/ia64/include/uapi/asm/intrinsics.h:20,
from arch/ia64/include/asm/intrinsics.h:11,
from arch/ia64/include/asm/bitops.h:19,
from include/linux/bitops.h:26,
from include/linux/kernel.h:12,
from include/linux/list.h:9,
from include/linux/kobject.h:19,
from include/linux/cdev.h:5,
from drivers/watchdog/watchdog_dev.c:31:
>> arch/ia64/include/uapi/asm/gcc_intrin.h:64:1: error: expected ')' before '(' token
({ \
^
>> arch/ia64/include/uapi/asm/intrinsics.h:92:36: note: in expansion of macro 'ia64_native_getreg'
#define IA64_INTRINSIC_MACRO(name) ia64_native_ ## name
^~~~~~~~~~~~
>> arch/ia64/include/uapi/asm/intrinsics.h:113:23: note: in expansion of macro 'IA64_INTRINSIC_MACRO'
#define ia64_getreg IA64_INTRINSIC_MACRO(getreg)
^~~~~~~~~~~~~~~~~~~~
>> arch/ia64/include/asm/current.h:16:41: note: in expansion of macro 'ia64_getreg'
#define current ((struct task_struct *) ia64_getreg(_IA64_REG_TP))
^~~~~~~~~~~
drivers/watchdog/watchdog_dev.c:460:22: note: in expansion of macro 'current'
unsigned int value, current;
^~~~~~~
drivers/watchdog/watchdog_dev.c:468:10: error: lvalue required as left operand of assignment
current = !!test_bit(WDOG_NO_WAY_OUT, &wdd->status);
^
--
In file included from include/linux/mutex.h:14:0,
from include/linux/kernfs.h:12,
from include/linux/sysfs.h:16,
from include/linux/kobject.h:20,
from include/linux/cdev.h:5,
from drivers//watchdog/watchdog_dev.c:31:
drivers//watchdog/watchdog_dev.c: In function 'nowayout_store':
>> arch/ia64/include/asm/current.h:16:19: error: expected identifier or '(' before 'struct'
#define current ((struct task_struct *) ia64_getreg(_IA64_REG_TP))
^
drivers//watchdog/watchdog_dev.c:460:22: note: in expansion of macro 'current'
unsigned int value, current;
^~~~~~~
In file included from arch/ia64/include/asm/gcc_intrin.h:10:0,
from arch/ia64/include/uapi/asm/intrinsics.h:20,
from arch/ia64/include/asm/intrinsics.h:11,
from arch/ia64/include/asm/bitops.h:19,
from include/linux/bitops.h:26,
from include/linux/kernel.h:12,
from include/linux/list.h:9,
from include/linux/kobject.h:19,
from include/linux/cdev.h:5,
from drivers//watchdog/watchdog_dev.c:31:
>> arch/ia64/include/uapi/asm/gcc_intrin.h:64:1: error: expected ')' before '(' token
({ \
^
>> arch/ia64/include/uapi/asm/intrinsics.h:92:36: note: in expansion of macro 'ia64_native_getreg'
#define IA64_INTRINSIC_MACRO(name) ia64_native_ ## name
^~~~~~~~~~~~
>> arch/ia64/include/uapi/asm/intrinsics.h:113:23: note: in expansion of macro 'IA64_INTRINSIC_MACRO'
#define ia64_getreg IA64_INTRINSIC_MACRO(getreg)
^~~~~~~~~~~~~~~~~~~~
>> arch/ia64/include/asm/current.h:16:41: note: in expansion of macro 'ia64_getreg'
#define current ((struct task_struct *) ia64_getreg(_IA64_REG_TP))
^~~~~~~~~~~
drivers//watchdog/watchdog_dev.c:460:22: note: in expansion of macro 'current'
unsigned int value, current;
^~~~~~~
drivers//watchdog/watchdog_dev.c:468:10: error: lvalue required as left operand of assignment
current = !!test_bit(WDOG_NO_WAY_OUT, &wdd->status);
^

vim +16 arch/ia64/include/asm/current.h

^1da177e4c3f41 include/asm-ia64/current.h Linus Torvalds 2005-04-16 11
^1da177e4c3f41 include/asm-ia64/current.h Linus Torvalds 2005-04-16 12 /*
^1da177e4c3f41 include/asm-ia64/current.h Linus Torvalds 2005-04-16 13 * In kernel mode, thread pointer (r13) is used to point to the current task
^1da177e4c3f41 include/asm-ia64/current.h Linus Torvalds 2005-04-16 14 * structure.
^1da177e4c3f41 include/asm-ia64/current.h Linus Torvalds 2005-04-16 15 */
^1da177e4c3f41 include/asm-ia64/current.h Linus Torvalds 2005-04-16 @16 #define current ((struct task_struct *) ia64_getreg(_IA64_REG_TP))
^1da177e4c3f41 include/asm-ia64/current.h Linus Torvalds 2005-04-16 17

:::::: The code at line 16 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip