lkml.org 
[lkml]   [2009]   [Nov]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 16/27] PPC: 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 newly added rlimit helpers or ACCESS_ONCE if not
    applicable.

    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    Cc: James Morris <jmorris@namei.org>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: linuxppc-dev@ozlabs.org
    ---
    arch/powerpc/mm/mmap_64.c | 4 ++--
    arch/powerpc/platforms/cell/spufs/coredump.c | 2 +-
    2 files changed, 3 insertions(+), 3 deletions(-)

    diff --git a/arch/powerpc/mm/mmap_64.c b/arch/powerpc/mm/mmap_64.c
    index 0d957a4..8df1299 100644
    --- a/arch/powerpc/mm/mmap_64.c
    +++ b/arch/powerpc/mm/mmap_64.c
    @@ -47,7 +47,7 @@ static inline int mmap_is_legacy(void)
    if (current->personality & ADDR_COMPAT_LAYOUT)
    return 1;

    - if (current->signal->rlim[RLIMIT_STACK].rlim_cur == RLIM_INFINITY)
    + if (rlim_get_cur(RLIMIT_STACK) == RLIM_INFINITY)
    return 1;

    return sysctl_legacy_va_layout;
    @@ -77,7 +77,7 @@ static unsigned long mmap_rnd(void)

    static inline unsigned long mmap_base(void)
    {
    - unsigned long gap = current->signal->rlim[RLIMIT_STACK].rlim_cur;
    + unsigned long gap = rlim_get_cur(RLIMIT_STACK);

    if (gap < MIN_GAP)
    gap = MIN_GAP;
    diff --git a/arch/powerpc/platforms/cell/spufs/coredump.c b/arch/powerpc/platforms/cell/spufs/coredump.c
    index c4d4a19..4ef1c92 100644
    --- a/arch/powerpc/platforms/cell/spufs/coredump.c
    +++ b/arch/powerpc/platforms/cell/spufs/coredump.c
    @@ -54,7 +54,7 @@ static ssize_t do_coredump_read(int num, struct spu_context *ctx, void *buffer,
    */
    static int spufs_dump_write(struct file *file, const void *addr, int nr, loff_t *foffset)
    {
    - unsigned long limit = current->signal->rlim[RLIMIT_CORE].rlim_cur;
    + unsigned long limit = rlim_get_cur(RLIMIT_CORE);
    ssize_t written;

    if (*foffset + nr > limit)
    --
    1.6.5.3


    \
     
     \ /
      Last update: 2009-11-28 00:13    [W:0.022 / U:0.340 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site