From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [jfern:coresched 2/13] kernel/sched/core.c:5147:15: error: use of undeclared identifier '_TIF_UNSAFE_RET'
Date: Sat, 16 Jan 2021 03:28:56 +0800 [thread overview]
Message-ID: <202101160348.wWM9SLBp-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 10124 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jfern/linux.git coresched
head: 96c7e148eeff83b159e8e4c6d5aa9bed6ea47580
commit: f9ce34d192fc4b26bcb6402f41e534f1776d3832 [2/13] kernel/entry: Add support for core-wide protection of kernel-mode
config: s390-randconfig-r012-20210115 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 5b42fd8dd4e7e29125a09a41a33af7c9cb57d144)
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-s390x-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/jfern/linux.git/commit/?id=f9ce34d192fc4b26bcb6402f41e534f1776d3832
git remote add jfern https://git.kernel.org/pub/scm/linux/kernel/git/jfern/linux.git
git fetch --no-tags jfern coresched
git checkout f9ce34d192fc4b26bcb6402f41e534f1776d3832
# 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@intel.com>
All errors (new ones prefixed by >>):
~~~~~~~~~~ ^
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 kernel/sched/core.c:13:
In file included from kernel/sched/sched.h:17:
In file included from include/linux/sched/isolation.h:6:
In file included from include/linux/tick.h:8:
In file included from include/linux/clockchips.h:14:
In file included from include/linux/clocksource.h:21:
In file included from arch/s390/include/asm/io.h:80:
include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu((__le32 __force)__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 kernel/sched/core.c:13:
In file included from kernel/sched/sched.h:17:
In file included from include/linux/sched/isolation.h:6:
In file included from include/linux/tick.h:8:
In file included from include/linux/clockchips.h:14:
In file included from include/linux/clocksource.h:21:
In file included from arch/s390/include/asm/io.h:80:
include/asm-generic/io.h:490:61: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
val = __le32_to_cpu((__le32 __force)__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 kernel/sched/core.c:13:
In file included from kernel/sched/sched.h:17:
In file included from include/linux/sched/isolation.h:6:
In file included from include/linux/tick.h:8:
In file included from include/linux/clockchips.h:14:
In file included from include/linux/clocksource.h:21:
In file included from arch/s390/include/asm/io.h:80:
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:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writew((u16 __force)cpu_to_le16(value), PCI_IOBASE + addr);
~~~~~~~~~~ ^
include/asm-generic/io.h:521:59: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
__raw_writel((u32 __force)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);
~~~~~~~~~~ ^
kernel/sched/core.c:283:6: warning: no previous prototype for function 'sched_core_get' [-Wmissing-prototypes]
void sched_core_get(void)
^
kernel/sched/core.c:283:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void sched_core_get(void)
^
static
kernel/sched/core.c:291:6: warning: no previous prototype for function 'sched_core_put' [-Wmissing-prototypes]
void sched_core_put(void)
^
kernel/sched/core.c:291:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void sched_core_put(void)
^
static
kernel/sched/core.c:3032:6: warning: no previous prototype for function 'sched_set_stop_task' [-Wmissing-prototypes]
void sched_set_stop_task(int cpu, struct task_struct *stop)
^
kernel/sched/core.c:3032:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void sched_set_stop_task(int cpu, struct task_struct *stop)
^
static
>> kernel/sched/core.c:5147:15: error: use of undeclared identifier '_TIF_UNSAFE_RET'
ti_check &= ~_TIF_UNSAFE_RET;
^
23 warnings and 1 error generated.
vim +/_TIF_UNSAFE_RET +5147 kernel/sched/core.c
5128
5129 /*
5130 * sched_core_wait_till_safe - Pause the caller's hyperthread until the core
5131 * exits the core-wide unsafe state. Obviously the CPU calling this function
5132 * should not be responsible for the core being in the core-wide unsafe state
5133 * otherwise it will deadlock.
5134 *
5135 * @ti_check: We spin here with IRQ enabled and preempt disabled. Break out of
5136 * the loop if TIF flags are set and notify caller about it.
5137 *
5138 * IRQs should be disabled.
5139 */
5140 bool sched_core_wait_till_safe(unsigned long ti_check)
5141 {
5142 bool restart = false;
5143 struct rq *rq;
5144 int cpu;
5145
5146 /* We clear the thread flag only at the end, so no need to check for it. */
> 5147 ti_check &= ~_TIF_UNSAFE_RET;
5148
5149 cpu = smp_processor_id();
5150 rq = cpu_rq(cpu);
5151
5152 if (!sched_core_enabled(rq))
5153 goto ret;
5154
5155 /* Down grade to allow interrupts to prevent stop_machine lockups.. */
5156 preempt_disable();
5157 local_irq_enable();
5158
5159 /*
5160 * Wait till the core of this HT is not in an unsafe state.
5161 *
5162 * Pair with raw_spin_lock/unlock() in sched_core_unsafe_enter/exit().
5163 */
5164 while (smp_load_acquire(&rq->core->core_unsafe_nest) > 0) {
5165 cpu_relax();
5166 if (READ_ONCE(current_thread_info()->flags) & ti_check) {
5167 restart = true;
5168 break;
5169 }
5170 }
5171
5172 /* Upgrade it back to the expectations of entry code. */
5173 local_irq_disable();
5174 preempt_enable();
5175
5176 ret:
5177 if (!restart)
5178 clear_tsk_thread_flag(current, TIF_UNSAFE_RET);
5179
5180 return restart;
5181 }
5182
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 24126 bytes --]
reply other threads:[~2021-01-15 19:28 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202101160348.wWM9SLBp-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.