lkml.org 
[lkml]   [2017]   [Dec]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
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]
\
 
 \ /
  Last update: 2017-12-28 15:48    [W:0.029 / U:0.940 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site