aboutsummaryrefslogtreecommitdiffstats
path: root/ipc/sem.c
AgeCommit message (Expand)AuthorFilesLines
2023-08-18ipc/sem: use flexible array in 'struct sem_undo'Christophe JAILLET1-4/+2
2022-12-05ipc/sem: Fix dangling sem_array access in semtimedop raceJann Horn1-1/+2
2022-05-09ipc: update semtimedop() to use hrtimerPrakash Sangappa1-12/+11
2022-05-09ipc/sem: remove redundant assignmentsMichal Orzel1-2/+0
2022-02-04ipc/sem: do not sleep with a spin lock heldMinghao Chi1-2/+2
2021-09-14ipc: remove memcg accounting for sops objects in do_semtimedop()Vasily Averin1-1/+1
2021-09-09Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-armLinus Torvalds1-33/+52
2021-09-03memcg: enable accounting of ipc resourcesVasily Averin1-4/+5
2021-08-20ARM: 9114/1: oabi-compat: rework sys_semtimedop emulationArnd Bergmann1-32/+52
2021-07-01ipc/sem.c: use READ_ONCE()/WRITE_ONCE() for use_global_lockManfred Spraul1-5/+9
2021-07-01ipc sem: use kvmalloc for sem_undo allocationVasily Averin1-5/+6
2021-05-22ipc/mqueue, msg, sem: avoid relying on a stack reference past its expiryVarad Gautam1-2/+4
2021-05-07ipc/sem.c: spelling fixBhaskar Chowdhury1-1/+1
2021-05-07ipc/sem.c: mundane typo fixesBhaskar Chowdhury1-5/+5
2020-08-23treewide: Use fallthrough pseudo-keywordGustavo A. R. Silva1-2/+2
2020-08-12ipc: uninline functionsAlexey Dobriyan1-2/+1
2020-02-21Revert "ipc,sem: remove uneeded sem_undo_list lock usage in exit_sem()"Ioanna Alifieraki1-4/+2
2020-02-04ipc/sem.c: document and update memory barriersManfred Spraul1-25/+41
2019-09-25ipc/sem.c: convert to use built-in RCU list checkingJoel Fernandes (Google)1-1/+2
2019-03-07ipc/sem.c: replace kvmalloc/memset with kvzalloc and use struct_sizeGustavo A. R. Silva1-5/+1
2019-03-07ipc: annotate implicit fall throughMathieu Malaterre1-0/+1
2019-02-07y2038: syscalls: rename y2038 compat syscallsArnd Bergmann1-1/+1
2019-01-25ipc: rename old-style shmctl/semctl/msgctl syscallsArnd Bergmann1-7/+32
2018-08-27y2038: globally rename compat_time to old_time32Arnd Bergmann1-5/+5
2018-08-22ipc/util.c: further variable name cleanupsManfred Spraul1-3/+3
2018-08-22ipc: simplify ipc initializationDavidlohr Bueso1-6/+4
2018-08-22ipc: rename ipcctl_pre_down_nolock()Manfred Spraul1-1/+1
2018-08-22ipc/util.c: use ipc_rcu_putref() for failues in ipc_addid()Manfred Spraul1-1/+1
2018-08-22ipc: compute kern_ipc_perm.id under the ipc lockManfred Spraul1-5/+13
2018-08-02Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/netDavid S. Miller1-1/+1
2018-07-26ipc/sem.c: prevent queue.status tearing in semopDavidlohr Bueso1-1/+1
2018-06-22rhashtable: split rhashtable.hNeilBrown1-0/+1
2018-06-15sysvipc/sem: mitigate semnum index against spectre v1Davidlohr Bueso1-4/+14
2018-06-12treewide: kvmalloc() -> kvmalloc_array()Kees Cook1-1/+1
2018-04-20y2038: ipc: Enable COMPAT_32BIT_TIMEArnd Bergmann1-1/+2
2018-04-20y2038: ipc: Use __kernel_timespecArnd Bergmann1-2/+2
2018-04-20y2038: ipc: Report long times to user spaceArnd Bergmann1-3/+11
2018-04-20y2038: ipc: Use ktime_get_real_seconds consistentlyArnd Bergmann1-3/+3
2018-04-11ipc/sem: introduce semctl(SEM_STAT_ANY)Davidlohr Bueso1-5/+12
2018-04-03Merge branch 'userns-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds1-28/+53
2018-04-02ipc: add semctl syscall/compat_syscall wrappersDominik Brodowski1-2/+12
2018-04-02ipc: add semget syscall wrapperDominik Brodowski1-1/+6
2018-04-02ipc: add semtimedop syscall/compat_syscall wrappersDominik Brodowski1-5/+18
2018-03-27ipc: Directly call the security hook in ipc_ops.associateEric W. Biederman1-9/+1
2018-03-27ipc/sem: Fix semctl(..., GETPID, ...) between pid namespacesEric W. Biederman1-10/+12
2018-03-22sem: Move struct sem and struct sem_array into ipc/sem.cEric W. Biederman1-0/+34
2018-03-22sem/security: Pass kern_ipc_perm not sem_array into the sem security hooksEric W. Biederman1-11/+8
2018-02-06ipc: fix ipc data structures inconsistencyPhilippe Mikoyan1-0/+10
2017-11-17Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-0/+1
2017-11-17sysvipc: duplicate lock comments wrt ipc_addid()Davidlohr Bueso1-0/+1
2017-11-17Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-2/+2
2017-11-02License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman1-0/+1
2017-10-11fix address space warnings in ipc/Linus Torvalds1-2/+2
2017-09-14Merge branch 'work.ipc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro...Linus Torvalds1-116/+228
2017-09-08ipc: optimize semget/shmget/msgget for lots of keysGuillaume Knispel1-4/+7
2017-09-08ipc/sem: play nicer with large nsops allocationsDavidlohr Bueso1-2/+2
2017-09-08ipc/sem: drop sem_checkid helperDavidlohr Bueso1-2/+0
2017-09-08ipc: convert sem_undo_list.refcnt from atomic_t to refcount_tElena Reshetova1-4/+4
2017-09-03ipc: sem: Make sem_array timestamps y2038 safeDeepa Dinamani1-9/+9
2017-09-03ipc: Make sys_semtimedop() y2038 safeDeepa Dinamani1-6/+6
2017-08-21Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/pau...Ingo Molnar1-1/+2
2017-08-17ipc: Replace spin_unlock_wait() with lock/unlock pairPaul E. McKenney1-1/+2
2017-08-02ipc: add missing container_of()s for randstructKees Cook1-1/+2
2017-07-15semtimedop(): move compat to nativeAl Viro1-11/+33
2017-07-15semctl(): move compat to nativeAl Viro1-0/+94
2017-07-15semctl(): separate all layout-dependent copyin/copyoutAl Viro1-98/+94
2017-07-12ipc/sem: drop __sem_free()Kees Cook1-7/+2
2017-07-12ipc: move atomic_set() to where it is neededKees Cook1-1/+0
2017-07-12ipc/sem.c: avoid ipc_rcu_putref for failed ipc_addid()Manfred Spraul1-5/+4
2017-07-12ipc/sem: avoid ipc_rcu_alloc()Kees Cook1-5/+20
2017-07-12ipc/sem: do not use ipc_rcu_free()Kees Cook1-2/+7
2017-07-12ipc: drop non-RCU allocationKees Cook1-3/+5
2017-07-12ipc: merge ipc_rcu and kern_ipc_permManfred Spraul1-17/+17
2017-07-12ipc/sem.c: remove sem_base, embed struct semManfred Spraul1-54/+34
2017-03-02sched/headers: Prepare for new header dependencies before moving code to <lin...Ingo Molnar1-0/+1
2017-02-27ipc/sem: add hysteresisManfred Spraul1-25/+61
2017-02-27ipc/sem.c: avoid using spin_unlock_wait()Manfred Spraul1-22/+3
2017-01-10ipc/sem.c: fix incorrect sem_lock pairingManfred Spraul1-1/+1
2016-12-14ipc/sem: avoid idr tree lookup for interrupted semopDavidlohr Bueso1-32/+5
2016-12-14ipc/sem: simplify wait-wake loopDavidlohr Bueso1-56/+52
2016-12-14ipc/sem: use proper list api for pending_list wakeupsDavidlohr Bueso1-25/+13
2016-12-14ipc/sem: explicitly inline check_restartDavidlohr Bueso1-1/+1
2016-12-14ipc/sem: optimize perform_atomic_semop()Davidlohr Bueso1-10/+102
2016-12-14ipc/sem: rework task wakeupsDavidlohr Bueso1-180/+86
2016-12-14ipc/sem: do not call wake_sem_queue_do() prematurely ... as this call should ...Davidlohr Bueso1-7/+12
2016-10-11ipc/sem.c: add cond_resched in exit_smeNikolay Borisov1-0/+2
2016-10-11ipc/sem.c: fix complex_count vs. simple op raceManfred Spraul1-55/+83
2016-08-02sysv, ipc: fix security-layer leakingFabian Frederick1-6/+6
2016-06-14locking/spinlock: Update spin_unlock_wait() usersPeter Zijlstra1-1/+0
2016-06-14locking/barriers: Introduce smp_acquire__after_ctrl_dep()Peter Zijlstra1-12/+2
2016-03-22ipc/sem: make semctl setting sempid consistentDavidlohr Bueso1-2/+11
2016-01-22tree wide: use kvfree() than conditional kfree()/vfree()Tetsuo Handa1-1/+1
2015-08-14ipc/sem.c: update/correct memory barriersManfred Spraul1-4/+14
2015-08-14ipc,sem: remove uneeded sem_undo_list lock usage in exit_sem()Herton R. Krzesinski1-2/+4
2015-08-14ipc,sem: fix use after free on IPC_RMID after a task using same semaphore set...Herton R. Krzesinski1-6/+17
2015-06-30ipc: rename ipc_obtain_objectDavidlohr Bueso1-2/+2
2015-04-15ipc: remove use of seq_printf return valueJoe Perches1-12/+14
2015-02-17ipc,sem: use current->state helpersDavidlohr Bueso1-1/+1
2014-12-13ipc/sem.c: change memory barrier in sem_lock() to smp_rmb()Manfred Spraul1-3/+10
2014-12-03ipc/sem.c: fully initialize sem_array before making it visibleManfred Spraul1-7/+8
2014-06-06ipc/sem.c: add a printk_once for semctl(GETNCNT/GETZCNT)Manfred Spraul1-0/+11
2014-06-06ipc/sem.c: make semctl(,,{GETNCNT,GETZCNT}) standard compliantManfred Spraul1-21/+13
2014-06-06ipc/sem.c: store which operation blocks in perform_atomic_semop()Manfred Spraul1-0/+3
2014-06-06ipc/sem.c: change perform_atomic_semop parametersManfred Spraul1-19/+19
2014-06-06ipc/sem.c: remove code duplicationManfred Spraul1-56/+51
2014-06-06ipc/sem.c: bugfix for semctl(,,GETZCNT)Manfred Spraul1-0/+10
2014-06-06ipc, kernel: clear whitespacePaul McQuade1-5/+5
2014-06-06ipc, kernel: use Linux headersPaul McQuade1-1/+1
2014-06-06ipc: constify ipc_opsMathias Krause1-5/+5
2014-01-27ipc: remove braces for single statementsDavidlohr Bueso1-5/+3
2014-01-27ipc: standardize code commentsDavidlohr Bueso1-13/+11
2014-01-27ipc: whitespace cleanupManfred Spraul1-48/+48
2014-01-27ipc: change kern_ipc_perm.deleted type to boolRafael Aquini1-1/+1
2014-01-27ipc: introduce ipc_valid_object() helper to sort out IPC_RMID racesRafael Aquini1-8/+16
2014-01-27ipc/sem.c: avoid overflow of semop undo (semadj) valuePetr Mladek1-11/+13
2013-10-16ipc/sem.c: synchronize semop and semctl with IPC_RMIDManfred Spraul1-13/+29
2013-09-30ipc/sem.c: update sem_otime for all operationsManfred Spraul1-13/+29
2013-09-30ipc/sem.c: synchronize the proc interfaceManfred Spraul1-0/+8
2013-09-30ipc/sem.c: optimize sem_lock()Manfred Spraul1-0/+8
2013-09-30ipc/sem.c: fix race in sem_lock()Manfred Spraul1-44/+78
2013-09-24ipc: fix race with LSMsDavidlohr Bueso1-16/+18
2013-09-11ipc: rename ids->rw_mutexDavidlohr Bueso1-12/+12
2013-07-09ipc/sem.c: rename try_atomic_semop() to perform_atomic_semop(), docu updateManfred Spraul1-11/+21
2013-07-09ipc/sem.c: replace shared sem_otime with per-semaphore valueManfred Spraul1-6/+31
2013-07-09ipc/sem.c: always use only one queue for alter operationsManfred Spraul1-40/+88
2013-07-09ipc/sem: separate wait-for-zero and alter tasks into seperate queuesManfred Spraul1-60/+151
2013-07-09ipc/sem.c: cacheline align the semaphore structuresManfred Spraul1-1/+1
2013-07-09ipc: remove unused functionsDavidlohr Bueso1-1/+0
2013-07-09ipc: move locking out of ipcctl_pre_down_nolockDavidlohr Bueso1-11/+16
2013-07-09ipc: close open coded spin lock callsDavidlohr Bueso1-7/+7
2013-05-26ipc/sem.c: Fix missing wakeups in do_smart_update_queue()Manfred Spraul1-5/+22
2013-05-09ipc,sem: fix semctl(..., GETNCNT)Rik van Riel1-0/+7
2013-05-09ipc,sem: fix semctl(..., GETZCNT)Rik van Riel1-0/+7
2013-05-04ipc: simplify rcu_read_lock() in semctl_nolock()Linus Torvalds1-2/+1
2013-05-04ipc: simplify semtimedop/semctl_main() common error path handlingLinus Torvalds1-27/+14
2013-05-04ipc: move sem_obtain_lock() rcu locking into the only callerLinus Torvalds1-9/+7
2013-05-04ipc: fix double sem unlock in semctl error pathLinus Torvalds1-1/+1
2013-05-04ipc: move the rcu_read_lock() from sem_lock_and_putref() into callersLinus Torvalds1-2/+3
2013-05-04ipc: sem_putref() does not need the semaphore lock any moreLinus Torvalds1-3/+1
2013-05-04ipc: move rcu_read_unlock() out of sem_unlock() and into callersLinus Torvalds1-2/+17
2013-05-02ipc: fix GETALL/IPC_RM race for sysv semaphoresAl Viro1-21/+8
2013-05-01ipc,sem: fine grained locking for semtimedopRik van Riel1-100/+171
2013-05-01ipc,sem: have only one list in struct sem_queueRik van Riel1-31/+34
2013-05-01ipc,sem: open code and rename sem_lockRik van Riel1-6/+23
2013-05-01ipc,sem: do not hold ipc lock more than necessaryDavidlohr Bueso1-48/+113
2013-03-05get rid of union semop in sys_semctl(2) argumentsAl Viro1-45/+76
2013-03-03make HAVE_SYSCALL_WRAPPERS unconditionalAl Viro1-2/+0
2012-09-06userns: Convert ipc to use kuid and kgid where appropriateEric W. Biederman1-5/+8
2011-11-02ipc/sem.c: remove private structures from public header fileManfred Spraul1-0/+46
2011-11-02ipc/sem.c: handle spurious wakeupsManfred Spraul1-0/+9
2011-11-02ipc/sem.c: fix return code race with semop vs. semop +semctl(IPC_RMID)Manfred Spraul1-1/+0
2011-07-25ipc/sem.c: fix race with concurrent semtimedop() timeouts and IPC_RMIDManfred Spraul1-2/+11
2011-07-20ipc,rcu: Convert call_rcu(free_un) to kfree_rcu()Lai Jiangshan1-8/+2
2011-03-31Fix common misspellingsLucas De Marchi1-1/+1
2011-03-23userns: user namespaces: convert several capable() callsSerge E. Hallyn1-4/+6
2010-10-01sys_semctl: fix kernel stack leakageDan Rosenberg1-0/+2
2010-07-20ipc/sem.c: bugfix for semop() not reporting successful operationManfred Spraul1-7/+39
2010-05-27ipc/sem.c: use ERR_CASTJulia Lawall1-1/+1
2010-05-27ipc/sem.c: update description of the implementationManfred Spraul1-50/+53
2010-05-27ipc/sem.c: move wake_up_process out of the spinlock sectionManfred Spraul1-32/+91
2010-05-27ipc/sem.c: optimize update_queue() for bulk wakeup callsManfred Spraul1-13/+97
2009-12-16ipc: remove unreachable code in sem.cAmerigo Wang1-2/+1
2009-12-16ipc/sem.c: optimize single sops when semval is zeroManfred Spraul1-0/+11
2009-12-16ipc/sem.c: optimize single semop operationsManfred Spraul1-11/+40
2009-12-16ipc/sem.c: add a per-semaphore pending listManfred Spraul1-5/+32
2009-12-16ipc/sem.c: optimize if semops failManfred Spraul1-2/+2
2009-12-16ipc/sem.c: sem preempt improveNick Piggin1-15/+23
2009-12-16ipc/sem.c: sem use list operationsNick Piggin1-44/+31
2009-12-16ipc/sem.c: sem optimise undo list searchNick Piggin1-6/+20
2009-12-16ipc ns: fix memory leak (idr)Serge E. Hallyn1-0/+1
2009-04-15rculist: use list_entry_rcu in places where it's appropriateJiri Pirko1-2/+2
2009-01-14[CVE-2009-0029] System call wrappers part 25Heiko Carstens1-4/+5
2009-01-14[CVE-2009-0029] System call wrapper special casesHeiko Carstens1-1/+8
2009-01-06ipc: do not goto to the next lineDenis V. Lunev1-1/+0
2009-01-05mm: update my addressAlan Cox1-1/+1
2008-10-16ipc/sem.c: make free_un() staticAdrian Bunk1-1/+1
2008-07-25ipc/sem.c: rewrite undo list lockingManfred Spraul1-54/+93
2008-07-25ipc/sem.c: convert sem_array.sem_pending to struct list_headManfred Spraul1-57/+35
2008-07-25ipc/sem.c: remove unused entries from struct sem_queueManfred Spraul1-2/+0
2008-07-25ipc/sem.c: convert undo structures to struct list_headManfred Spraul1-74/+89
2008-04-29ipc: sysvsem: implement sys_unshare(CLONE_SYSVSEM)Manfred Spraul1-0/+1
2008-04-29IPC: consolidate all xxxctl_down() functionsPierre Peiffer1-38/+4
2008-04-29IPC: introduce ipc_update_perm()Pierre Peiffer1-4/+1
2008-04-29IPC: get rid of the use *_setbuf structure.Pierre Peiffer1-26/+14
2008-04-29IPC/semaphores: remove one unused parameter from semctl_down()Pierre Peiffer1-3/+3
2008-04-29IPC/semaphores: move the rwmutex handling inside semctl_downPierre Peiffer1-11/+13
2008-04-29IPC/semaphores: code factorisationPierre Peiffer1-30/+31
2008-04-29IPC: use ipc_buildid() directly from ipc_addid()Pierre Peiffer1-2/+0
2008-02-08IPC: consolidate sem_exit_ns(), msg_exit_ns() and shm_exit_ns()Pierre Peiffer1-22/+5
2008-02-08IPC: make struct ipc_ids static in ipc_namespacePierre Peiffer1-22/+4
2008-02-08IPC/semaphores: consolidate SEM_STAT and IPC_STAT commandsPierre Peiffer1-22/+16
2008-02-08namespaces: move the IPC namespace under IPC_NS optionPavel Emelyanov1-0/+3
2008-02-06IPC: fix error check in all new xxx_lock() and xxx_exit_ns() functionsPierre Peiffer1-3/+14
2007-10-19IPC: fix error case when idr-cache is empty in ipcget()Pierre Peiffer1-2/+2
2007-10-19IPC: cleanup some code and wrong comments about semundo list managmentPierre Peiffer1-40/+6
2007-10-19ipc: remove unneeded parametersNadia Derbey1-6/+4
2007-10-19fix idr_find() lockingNadia Derbey1-14/+30
2007-10-19ipc: fix wrong commentsNadia Derbey1-0/+14
2007-10-19Storing ipcs into IDRsNadia Derbey1-6/+17
2007-10-19ipc: integrate ipc_checkid() into ipc_lock()Nadia Derbey1-37/+33