Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull locking fixes from Thomas Gleixner:
"Two small fixes:

- Cure a recently introduces error path hickup which tries to
unregister a not registered lockdep key in te workqueue code

- Prevent unaligned cmpxchg() crashes in the robust list handling
code by sanity checking the user space supplied futex pointer"

* 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
futex: Ensure that futex address is aligned in handle_futex_death()
workqueue: Only unregister a registered lockdep key

+7 -2
+4
kernel/futex.c
··· 3436 3436 { 3437 3437 u32 uval, uninitialized_var(nval), mval; 3438 3438 3439 + /* Futex address must be 32bit aligned */ 3440 + if ((((unsigned long)uaddr) % sizeof(*uaddr)) != 0) 3441 + return -1; 3442 + 3439 3443 retry: 3440 3444 if (get_user(uval, uaddr)) 3441 3445 return -1;
+3 -2
kernel/workqueue.c
··· 4266 4266 INIT_LIST_HEAD(&wq->list); 4267 4267 4268 4268 if (alloc_and_link_pwqs(wq) < 0) 4269 - goto err_free_wq; 4269 + goto err_unreg_lockdep; 4270 4270 4271 4271 if (wq_online && init_rescuer(wq) < 0) 4272 4272 goto err_destroy; ··· 4292 4292 4293 4293 return wq; 4294 4294 4295 - err_free_wq: 4295 + err_unreg_lockdep: 4296 4296 wq_unregister_lockdep(wq); 4297 4297 wq_free_lockdep(wq); 4298 + err_free_wq: 4298 4299 free_workqueue_attrs(wq->unbound_attrs); 4299 4300 kfree(wq); 4300 4301 return NULL;