lkml.org 
[lkml]   [2010]   [Jan]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] ipc: use helpers for rlimits
    Date
    Make sure compiler won't do weird things with limits. E.g. fetching
    them twice may return 2 different values after writable limits are
    implemented.

    I.e. either use rlimit helpers added in
    3e10e716abf3c71bdb5d86b8f507f9e72236c9cd
    or ACCESS_ONCE if not applicable.

    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    ---
    ipc/mqueue.c | 2 +-
    ipc/shm.c | 3 +--
    2 files changed, 2 insertions(+), 3 deletions(-)

    diff --git a/ipc/mqueue.c b/ipc/mqueue.c
    index c79bd57..6c97934 100644
    --- a/ipc/mqueue.c
    +++ b/ipc/mqueue.c
    @@ -152,7 +152,7 @@ static struct inode *mqueue_get_inode(struct super_block *sb,
    spin_lock(&mq_lock);
    if (u->mq_bytes + mq_bytes < u->mq_bytes ||
    u->mq_bytes + mq_bytes >
    - p->signal->rlim[RLIMIT_MSGQUEUE].rlim_cur) {
    + task_rlimit(p, RLIMIT_MSGQUEUE)) {
    spin_unlock(&mq_lock);
    goto out_inode;
    }
    diff --git a/ipc/shm.c b/ipc/shm.c
    index 92fe923..784438d 100644
    --- a/ipc/shm.c
    +++ b/ipc/shm.c
    @@ -761,8 +761,7 @@ SYSCALL_DEFINE3(shmctl, int, shmid, int, cmd, struct shmid_ds __user *, buf)
    if (euid != shp->shm_perm.uid &&
    euid != shp->shm_perm.cuid)
    goto out_unlock;
    - if (cmd == SHM_LOCK &&
    - !current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur)
    + if (cmd == SHM_LOCK && !rlimit(RLIMIT_MEMLOCK))
    goto out_unlock;
    }

    --
    1.6.5.7


    \
     
     \ /
      Last update: 2010-01-06 16:29    [W:0.028 / U:120.592 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site