aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/futex.c
AgeCommit message (Expand)AuthorFilesLines
2021-10-07futex: Move to kernel/futex/Peter Zijlstra1-4272/+0
2021-09-03futex: Remove unused variable 'vpid' in futex_proxy_trylock_atomic()Thomas Gleixner1-2/+1
2021-09-02futex: Avoid redundant task lookupThomas Gleixner1-30/+37
2021-09-02futex: Clarify comment for requeue_pi_wake_futex()Thomas Gleixner1-6/+20
2021-09-02futex: Prevent inconsistent state and exit raceThomas Gleixner1-43/+55
2021-09-02futex: Return error code instead of assigning it without effectColin Ian King1-1/+1
2021-08-17futex: Prevent requeue_pi() lock nesting issue on RTThomas Gleixner1-49/+259
2021-08-17futex: Simplify handle_early_requeue_pi_wakeup()Thomas Gleixner1-26/+22
2021-08-17futex: Reorder sanity checks in futex_requeue()Thomas Gleixner1-7/+7
2021-08-17futex: Clarify comment in futex_requeue()Thomas Gleixner1-8/+20
2021-08-17futex: Restructure futex_requeue()Thomas Gleixner1-49/+41
2021-08-17futex: Correct the number of requeued waiters for PIThomas Gleixner1-0/+4
2021-08-17futex: Remove bogus condition for requeue PIThomas Gleixner1-1/+1
2021-08-17futex: Clarify futex_requeue() PI handlingThomas Gleixner1-38/+23
2021-08-17futex: Clean up stale commentsThomas Gleixner1-11/+7
2021-08-17futex: Validate waiter correctly in futex_proxy_trylock_atomic()Thomas Gleixner1-0/+7
2021-08-17locking/rtmutex: Use rt_mutex_wake_q_headThomas Gleixner1-4/+4
2021-08-17locking/rtmutex: Split out the inner parts of 'struct rtmutex'Peter Zijlstra1-2/+2
2021-06-28Merge tag 'locking-core-2021-06-28' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-13/+16
2021-06-24mm, futex: fix shared futex pgoff on shmem huge pageHugh Dickins1-2/+1
2021-06-22futex: Provide FUTEX_LOCK_PI2 to support clock selectionThomas Gleixner1-1/+6
2021-06-22futex: Prepare futex_lock_pi() for runtime clock selectionThomas Gleixner1-1/+2
2021-05-25futex: Deduplicate cond_resched() invocation in futex_wake_op()Pavel Begunkov1-5/+2
2021-05-12locking: Fix comment typosIngo Molnar1-6/+6
2021-05-06futex: Make syscall entry points less convolutedThomas Gleixner1-26/+37
2021-05-06futex: Get rid of the val2 conditional danceThomas Gleixner1-14/+2
2021-05-06futex: Do not apply time namespace adjustment on FUTEX_LOCK_PIThomas Gleixner1-2/+2
2021-05-06Revert 337f13046ff0 ("futex: Allow FUTEX_CLOCK_REALTIME with FUTEX_WAIT op")Thomas Gleixner1-2/+1
2021-03-29Merge tag 'v5.12-rc5' into locking/core, to pick up fixesIngo Molnar1-2/+1
2021-03-16kernel, fs: Introduce and use set_restart_fn() and arch_set_restart_data()Oleg Nesterov1-2/+1
2021-03-11kernel/futex: Explicitly document pi_lock for pi_state owner fixupDavidlohr Bueso1-0/+1
2021-03-11kernel/futex: Move hb unlock out of unqueue_me_pi()Davidlohr Bueso1-7/+3
2021-03-11kernel/futex: Make futex_wait_requeue_pi() only call fixup_owner()Davidlohr Bueso1-6/+5
2021-03-11kernel/futex: Kill rt_mutex_next_owner()Davidlohr Bueso1-2/+5
2021-02-12Merge branch 'linus' into locking/core, to pick up upstream fixesIngo Molnar1-123/+96
2021-01-28futex: Remove unneeded gotosJangwoong Kim1-4/+3
2021-01-28futex: Change utime parameter to be 'const ... *'Alejandro Colomar1-3/+3
2021-01-26futex: Handle faults correctly for PI futexesThomas Gleixner1-37/+20
2021-01-26futex: Simplify fixup_pi_state_owner()Thomas Gleixner1-27/+26
2021-01-26futex: Use pi_state_update_owner() in put_pi_state()Thomas Gleixner1-7/+1
2021-01-26rtmutex: Remove unused argument from rt_mutex_proxy_unlock()Thomas Gleixner1-1/+1
2021-01-26futex: Provide and use pi_state_update_owner()Thomas Gleixner1-33/+33
2021-01-26futex: Replace pointless printk in fixup_owner()Thomas Gleixner1-7/+3
2021-01-26futex: Ensure the correct return value from futex_lock_pi()Thomas Gleixner1-15/+16
2020-12-09Merge branch 'locking/rwsem'Peter Zijlstra1-2/+3
2020-11-14futex: Remove unused empty compat_exit_robust_list()Lukas Bulwahn1-2/+0
2020-11-09futex: Don't enable IRQs unconditionally in put_pi_state()Dan Carpenter1-2/+3
2020-11-07futex: Handle transient "ownerless" rtmutex state correctlyMike Galbraith1-2/+14
2020-11-01Merge tag 'locking-urgent-2020-11-01' of git://git.kernel.org/pub/scm/linux/k...Linus Torvalds1-1/+3
2020-10-28futex: Fix incorrect should_fail_futex() handlingMateusz Nosek1-1/+3
2020-10-20futex: Adjust absolute futex timeouts with per time namespace offsetAndrei Vagin1-0/+5
2020-10-16kernel/: fix repeated words in commentsRandy Dunlap1-1/+1
2020-08-13futex: Convert to use the preferred 'fallthrough' macroMiaohe Lin1-2/+2
2020-08-12mm/gup: remove task_struct pointer for all gup codePeter Xu1-1/+1
2020-08-04Merge tag 'uninit-macro-v5.9-rc1' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-7/+7
2020-07-18futex: Remove unused or redundant includesAndré Almeida1-17/+0
2020-07-18futex: Consistently use fshared as booleanAndré Almeida1-5/+5
2020-07-17futex: Remove needless goto'sAndré Almeida1-24/+16
2020-07-17futex: Remove put_futex_key()André Almeida1-49/+12
2020-07-16treewide: Remove uninitialized_var() usageKees Cook1-7/+7
2020-06-09mmap locking API: use coccinelle to convert mmap_sem rwsem call sitesMichel Lespinasse1-2/+2
2020-04-20futex: get rid of a kernel-docs build warningMauro Carvalho Chehab1-0/+3
2020-03-30Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/k...Linus Torvalds1-99/+8
2020-03-28Merge branch 'uaccess.futex' of git://git.kernel.org/pub/scm/linux/kernel/git...Thomas Gleixner1-3/+2
2020-03-27futex: arch_futex_atomic_op_inuser() calling conventions changeAl Viro1-3/+2
2020-03-09futex: Unbreak futex hashingThomas Gleixner1-2/+2
2020-03-06futex: Remove {get,drop}_futex_key_refs()Peter Zijlstra1-84/+6
2020-03-06futex: Remove pointless mmgrap() + mmdrop()Peter Zijlstra1-13/+1
2020-03-06futex: Fix inode life-time issuePeter Zijlstra1-36/+53
2020-01-09futex: Fix kernel-doc notation warningRandy Dunlap1-0/+1
2019-11-20futex: Prevent exit livelockThomas Gleixner1-15/+91
2019-11-20futex: Provide distinct return value when owner is exitingThomas Gleixner1-7/+9
2019-11-20futex: Add mutex around futex exitThomas Gleixner1-0/+16
2019-11-20futex: Provide state handling for exec() as wellThomas Gleixner1-4/+34
2019-11-20futex: Sanitize exit state handlingThomas Gleixner1-7/+10
2019-11-20futex: Mark the begin of futex exit explicitlyThomas Gleixner1-1/+36
2019-11-20futex: Set task::futex_state to DEAD right after handling futex exitThomas Gleixner1-0/+1
2019-11-20futex: Split futex_mm_release() for exit/execThomas Gleixner1-1/+6
2019-11-20futex: Replace PF_EXITPIDONE with a stateThomas Gleixner1-12/+13
2019-11-20futex: Move futex exit handling into futex codeThomas Gleixner1-4/+29
2019-11-15futex: Prevent robust futex exit raceYang Tao1-7/+51
2019-10-29futex: Drop leftover wake_q_add() commentDavidlohr Bueso1-1/+1
2019-08-01hrtimer/treewide: Use hrtimer_sleeper_start_expires()Thomas Gleixner1-2/+2
2019-08-01hrtimer: Consolidate hrtimer_init() + hrtimer_init_sleeper() callsSebastian Andrzej Siewior1-5/+3
2019-07-30hrtimer: Remove task argument from hrtimer_init_sleeper()Thomas Gleixner1-1/+1
2019-06-03Merge tag 'v5.2-rc3' into locking/core, to pick up fixesIngo Molnar1-14/+1
2019-05-30treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156Thomas Gleixner1-14/+1
2019-05-28futex: Consolidate duplicated timer setup codeWaiman Long1-30/+39
2019-05-14mm/gup: change GUP fast to use flags rather than a write 'bool'Ira Weiny1-1/+1
2019-04-26locking/futex: Allow low-level atomic operations to return -EAGAINWill Deacon1-71/+117
2019-03-22futex: Ensure that futex address is aligned in handle_futex_death()Chen Jie1-0/+4
2019-03-06Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/k...Linus Torvalds1-15/+11
2019-03-05Merge branch 'timers-2038-for-linus' of git://git.kernel.org/pub/scm/linux/ke...Linus Torvalds1-1/+1
2019-02-28Merge branch 'linus' into locking/core, to pick up fixesIngo Molnar1-12/+20
2019-02-11futex: Convert futex_pi_state.refcount to refcount_tElena Reshetova1-7/+8
2019-02-10Merge tag 'y2038-new-syscalls' of git://git.kernel.org:/pub/scm/linux/kernel/...Thomas Gleixner1-1/+1
2019-02-08futex: Handle early deadlock return correctlyThomas Gleixner1-10/+18
2019-02-08futex: Fix barrier commentDavidlohr Bueso1-2/+2
2019-02-07y2038: syscalls: rename y2038 compat syscallsArnd Bergmann1-1/+1
2019-02-04sched/wake_q: Reduce reference counting for special usersDavidlohr Bueso1-2/+1
2019-01-29futex: No need to check return value of debugfs_create functionsGreg Kroah-Hartman1-6/+2
2019-01-21futex: Fix (possible) missed wakeupPeter Zijlstra1-5/+8
2019-01-03Remove 'type' argument from access_ok() functionLinus Torvalds1-15/+20
2018-12-28Merge tag 'y2038-for-4.21' of ssh://gitolite.kernel.org:/pub/scm/linux/kernel...Linus Torvalds1-8/+199
2018-12-18futex: Cure exit raceThomas Gleixner1-6/+63
2018-12-07y2038: futex: Add support for __kernel_timespecArnd Bergmann1-10/+12
2018-12-07y2038: futex: Move compat implementation into futex.cArnd Bergmann1-3/+192
2018-10-31mm: remove include/linux/bootmem.hMike Rapoport1-1/+1
2018-10-09futex: Replace spin_is_locked() with lockdepLance Roy1-2/+2
2018-08-20futex: Mark expected switch fall-throughsGustavo A. R. Silva1-0/+2
2018-02-06pids: introduce find_get_task_by_vpid() helperMike Rapoport1-19/+1
2018-01-24futex: Fix OWNER_DEAD fixupPeter Zijlstra1-3/+3
2018-01-14futex: Prevent overflow by strengthen input validationLi Jinyue1-0/+3
2018-01-14futex: Avoid violating the 10th rule of futexPeter Zijlstra1-16/+67
2017-12-10futex: futex_wake_op, fix sign_extend32 sign bitsJiri Slaby1-2/+2
2017-11-04Merge branch 'linus' into core/urgent, to pick up dependent commitsIngo Molnar1-2/+10
2017-11-02futex: futex_wake_op, do not fail on invalid opJiri Slaby1-2/+10
2017-11-01futex: Fix more put_pi_state() vs. exit_pi_state_list() racesPeter Zijlstra1-3/+20
2017-09-25futex: Fix pi_state->owner serializationPeter Zijlstra1-11/+22
2017-08-25futex: Remove duplicated code and fix undefined behaviourJiri Slaby1-0/+39
2017-08-10Merge branch 'linus' into locking/core, to pick up fixesIngo Molnar1-2/+3
2017-08-09futex: Remove unnecessary warning from get_futex_keyMel Gorman1-2/+3
2017-08-01futex: Allow for compiling out PI supportNicolas Pitre1-0/+22
2017-07-19Merge tag 'gcc-plugins-v4.13-rc2' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-2/+2
2017-07-03Merge tag 'docs-4.13' of git://git.lwn.net/linuxLinus Torvalds1-20/+20
2017-06-30randstruct: Mark various structs for randomizationKees Cook1-2/+2
2017-06-20sched/wait: Rename wait_queue_t => wait_queue_entry_tIngo Molnar1-1/+1
2017-05-16mutex, futex: adjust kernel-doc markups to generate ReSTMauro Carvalho Chehab1-20/+20
2017-04-15futex: Clarify mark_wake_futex memory barrier usageDarren Hart (VMware)1-4/+5
2017-04-14futex: Fix small (and harmless looking) inconsistenciesPeter Zijlstra1-4/+7
2017-04-14futex: Avoid freeing an active timerThomas Gleixner1-1/+3
2017-04-04rtmutex: Clean upPeter Zijlstra1-3/+4
2017-04-04rtmutex: Deboost before waking up the top waiterXunlei Pang1-4/+1
2017-03-23futex: Drop hb->lock before enqueueing on the rtmutexPeter Zijlstra1-9/+21
2017-03-23futex: Futex_unlock_pi() determinismPeter Zijlstra1-13/+11
2017-03-23futex: Rework futex_lock_pi() to use rt_mutex_*_proxy_lock()Peter Zijlstra1-22/+55
2017-03-23futex,rt_mutex: Restructure rt_mutex_finish_proxy_lock()Peter Zijlstra1-2/+5
2017-03-23futex,rt_mutex: Introduce rt_mutex_init_waiter()Peter Zijlstra1-4/+1
2017-03-23futex: Pull rt_mutex_futex_unlock() out from under hb->lockPeter Zijlstra1-54/+100
2017-03-23futex: Rework inconsistent rt_mutex/futex_q statePeter Zijlstra1-36/+14
2017-03-23futex: Cleanup refcountingPeter Zijlstra1-4/+9
2017-03-23futex: Change locking rulesPeter Zijlstra1-33/+132
2017-03-23futex,rt_mutex: Provide futex specific rt_mutex APIPeter Zijlstra1-16/+14
2017-03-23futex: Use smp_store_release() in mark_wake_futex()Peter Zijlstra1-2/+1
2017-03-23futex: Cleanup variable names for futex_top_waiter()Peter Zijlstra1-15/+15
2017-03-14futex: Add missing error handling to FUTEX_REQUEUE_PIPeter Zijlstra1-0/+2
2017-03-14futex: Fix potential use-after-free in FUTEX_REQUEUE_PIPeter Zijlstra1-9/+11
2017-03-02sched/headers: Prepare for new header dependencies before moving code to <lin...Ingo Molnar1-0/+1
2017-03-02sched/headers: Prepare for new header dependencies before moving code to <lin...Ingo Molnar1-0/+1
2017-02-27mm: add new mmgrab() helperVegard Nossum1-1/+1
2017-02-13futex: Move futex_init() to core_initcallYang Yang1-1/+1
2016-12-25ktime: Get rid of the unionThomas Gleixner1-2/+2
2016-11-21sched/wake_q: Rename WAKE_Q to DEFINE_WAKE_QWaiman Long1-4/+4
2016-09-05futex: Add some more function commentryThomas Gleixner1-3/+12
2016-07-29futex: Assume all mappings are private on !MMU systemsThomas Gleixner1-1/+22
2016-06-08futex: Calculate the futex key based on a tail page for file-based futexesMel Gorman1-3/+11
2016-05-22x86: remove more uaccess_32.h complexityLinus Torvalds1-1/+1
2016-04-21futex: Acknowledge a new waiter in counter before plistDavidlohr Bueso1-1/+1
2016-04-20futex: Handle unlock_pi race gracefullySebastian Andrzej Siewior1-3/+22
2016-03-08futex: Replace barrier() in unqueue_me() with READ_ONCE()Jianyu Zhan1-2/+6
2016-02-17futex: Remove requirement for lock_page() in get_futex_key()Mel Gorman1-8/+91
2016-02-17futex: Rename barrier references in ordering guaranteesDavidlohr Bueso1-17/+17
2016-01-26rtmutex: Make wait_lock irq safeThomas Gleixner1-9/+9
2016-01-20ptrace: use fsuid, fsgid, effective creds for fs access checksJann Horn1-1/+1
2016-01-15mm: bring in additional flag for fixup_user_fault to signal unlockDominik Dingel1-1/+1
2016-01-15futex, thp: remove special case for THP in get_futex_keyKirill A. Shutemov1-49/+14
2015-12-20futex: Allow FUTEX_CLOCK_REALTIME with FUTEX_WAIT opDarren Hart1-1/+2
2015-12-20futex: Cleanup the goto confusion in requeue_pi()Thomas Gleixner1-2/+7
2015-12-20futex: Remove pointless put_pi_state calls in requeue()Thomas Gleixner1-4/+2
2015-12-20futex: Document pi_state refcounting in requeue codeThomas Gleixner1-12/+39
2015-12-20futex: Rename free_pi_state() to put_pi_state()Thomas Gleixner1-7/+10
2015-12-20futex: Drop refcount if requeue_pi() acquired the rtmutexThomas Gleixner1-0/+5
2015-11-04Merge tag 'driver-core-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-2/+2
2015-10-04debugfs: Pass bool pointer to debugfs_create_bool()Viresh Kumar1-2/+2
2015-09-22futex: Force hot variables into a single cache lineRasmus Villemoes1-2/+11
2015-07-20futex: Make should_fail_futex() statickbuild test robot1-1/+1
2015-07-20futex: Fault/error injection capabilitiesDavidlohr Bueso1-2/+87
2015-07-20futex: Enhance comments in futex_lock_pi() for blocking pathsDavidlohr Bueso1-2/+9
2015-06-24Merge branch 'sched-locking-for-linus' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-3/+29
2015-06-22Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/ke...Linus Torvalds1-4/+1
2015-06-22Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-16/+17
2015-06-19futex: Lower the lock contention on the HB lock during wake upSebastian Andrzej Siewior1-3/+29
2015-05-19locking/arch: Rename set_mb() to smp_store_mb()Peter Zijlstra1-1/+1
2015-05-08futex: Implement lockless wakeupsDavidlohr Bueso1-16/+17
2015-04-22futex: Remove bogus hrtimer_active() checkThomas Gleixner1-4/+1
2015-02-24Merge tag 'v4.0-rc1' into locking/core, to refresh the tree before merging ne...Ingo Molnar1-1/+1
2015-02-18locking/futex: Check PF_KTHREAD rather than !p->mm to filter out kthreadsOleg Nesterov1-1/+1
2015-02-12all arches, signal: move restart_block to struct task_structAndy Lutomirski1-1/+1
2015-01-19futex: Fix argument handling in futex_lock_pi() callsMichael Kerrisk1-3/+3
2014-10-26futex: Fix a race condition between REQUEUE_PI and task deathBrian Silverman1-11/+11
2014-10-26futex: Mention key referencing differences between shared and private futexesDavidlohr Bueso1-4/+10
2014-10-18futex: Ensure get_futex_key_refs() always implies a barrierCatalin Marinas1-0/+2
2014-09-12futex: Unlock hb->lock in futex_wait_requeue_pi() error pathThomas Gleixner1-0/+1
2014-06-21futex: Simplify futex_lock_pi_atomic() and make it more robustThomas Gleixner1-87/+61
2014-06-21futex: Split out the first waiter attachment from lookup_pi_state()Thomas Gleixner1-14/+28
2014-06-21futex: Split out the waiter check from lookup_pi_state()Thomas Gleixner1-67/+71
2014-06-21futex: Use futex_top_waiter() in lookup_pi_state()Thomas Gleixner1-63/+61
2014-06-21futex: Make unlock_pi more robustThomas Gleixner1-51/+25
2014-06-21rtmutex: Confine deadlock logic to futexThomas Gleixner1-5/+5
2014-06-08Merge branch 'next' (accumulated 3.16 merge window patches) into masterLinus Torvalds1-2/+2