forked from Minki/linux
powerpc: Use helpers for rlimits
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
3e10e716ab
or ACCESS_ONCE if not applicable.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: linuxppc-dev@ozlabs.org
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
c81b812a33
commit
4bf936b9e4
@ -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 (rlimit(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 = rlimit(RLIMIT_STACK);
|
||||
|
||||
if (gap < MIN_GAP)
|
||||
gap = MIN_GAP;
|
||||
|
@ -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 = rlimit(RLIMIT_CORE);
|
||||
ssize_t written;
|
||||
|
||||
if (*foffset + nr > limit)
|
||||
|
Loading…
Reference in New Issue
Block a user