Skip to content
  • Manfred Spraul's avatar
    ipc/sem.c: increase SEMMSL, SEMMNI, SEMOPM · e843e7d2
    Manfred Spraul authored
    
    
    a)
    
    SysV can be abused to allocate locked kernel memory.  For most systems, a
    small limit doesn't make sense, see the discussion with regards to SHMMAX.
    
    Therefore: Increase the sysv sem limits so that all known applications
    will work with these defaults.
    
    b)
    
    With regards to the maximum supported:
    Some of the specified hard limits are not correct anymore, therefore the
    patch updates the documentation.
    
    - SEMMNI must stay below IPCMNI, which is 32768.
      As for SHMMAX: Stay a bit below this limit.
    
    - SEMMSL was limited to 8k, to ensure that the kmalloc for the kernel array
      was limited to 16 kB (order=2)
    
      This doesn't apply anymore:
       - the allocation size isn't sizeof(short)*nsems anymore.
       - ipc_alloc falls back to vmalloc
    
    - SEMOPM should stay below 1000, to limit the kmalloc in semtimedop() to an
      order=1 allocation.
      Therefore: Leave it at 500 (order=0 allocation).
    
    Note:
    If an administrator must limit the memory allocations, then he can set the
    values as necessary.
    
    Or he can disable sysv entirely (as e.g. done by Android).
    
    Signed-off-by: default avatarManfred Spraul <manfred@colorfullife.com>
    Cc: Davidlohr Bueso <dave@stgolabs.net>
    Acked-by: default avatarRafael Aquini <aquini@redhat.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    e843e7d2