Messages in this thread | | | Date | Thu, 28 Dec 2017 22:48:16 +0800 | From | kbuild test robot <> | Subject | [tip:locking/urgent 1/1] kernel/futex.c:3276:11: error: 'EMORON' undeclared; did you mean 'ELOOP'? |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking/urgent head: 8f3365e34f7519904d78d9fb6dd9e4bae606b9b5 commit: 8f3365e34f7519904d78d9fb6dd9e4bae606b9b5 [1/1] futex: Sanitize user address in set_robust_list() config: sparc64-allmodconfig (attached as .config) compiler: sparc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 8f3365e34f7519904d78d9fb6dd9e4bae606b9b5 # save the attached .config to linux build tree make.cross ARCH=sparc64
All errors (new ones prefixed by >>):
kernel/futex.c: In function 'SYSC_set_robust_list': >> kernel/futex.c:3276:11: error: 'EMORON' undeclared (first use in this function); did you mean 'ELOOP'? return -EMORON; ^~~~~~ ELOOP kernel/futex.c:3276:11: note: each undeclared identifier is reported only once for each function it appears in
vim +3276 kernel/futex.c
3241 3242 /* 3243 * Support for robust futexes: the kernel cleans up held futexes at 3244 * thread exit time. 3245 * 3246 * Implementation: user-space maintains a per-thread list of locks it 3247 * is holding. Upon do_exit(), the kernel carefully walks this list, 3248 * and marks all locks that are owned by this thread with the 3249 * FUTEX_OWNER_DIED bit, and wakes up a waiter (if any). The list is 3250 * always manipulated with the lock held, so the list is private and 3251 * per-thread. Userspace also maintains a per-thread 'list_op_pending' 3252 * field, to allow the kernel to clean up if the thread dies after 3253 * acquiring the lock, but just before it could have added itself to 3254 * the list. There can only be one such pending lock. 3255 */ 3256 3257 /** 3258 * sys_set_robust_list() - Set the robust-futex list head of a task 3259 * @head: pointer to the list-head 3260 * @len: length of the list-head, as userspace expects 3261 */ 3262 SYSCALL_DEFINE2(set_robust_list, struct robust_list_head __user *, head, 3263 size_t, len) 3264 { 3265 unsigned long address = (unsigned long)head; 3266 3267 if (!futex_cmpxchg_enabled) 3268 return -ENOSYS; 3269 /* 3270 * The kernel knows only one size for now: 3271 */ 3272 if (unlikely(len != sizeof(*head))) 3273 return -EINVAL; 3274 3275 if (unlikely(address % __alignof__(*head))) > 3276 return -EMORON; 3277 3278 current->robust_list = head; 3279 3280 return 0; 3281 } 3282
--- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [unhandled content-type:application/gzip] | |