linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 16/27] PPC: use helpers for rlimits
       [not found] <1259363167-9347-1-git-send-email-jslaby@suse.cz>
@ 2009-11-27 23:05 ` Jiri Slaby
  2009-11-28  0:19   ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 5+ messages in thread
From: Jiri Slaby @ 2009-11-27 23:05 UTC (permalink / raw)
  To: jirislaby
  Cc: sfr, nhorman, Heiko Carstens, linux-kernel, oleg, linuxppc-dev,
	mingo, tglx, marcin.slusarz, hpa, Paul Mackerras, akpm,
	James Morris, torvalds, mingo

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

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v3 16/27] PPC: use helpers for rlimits
  2009-11-27 23:05 ` [PATCH v3 16/27] PPC: use helpers for rlimits Jiri Slaby
@ 2009-11-28  0:19   ` Benjamin Herrenschmidt
  2009-11-28  8:47     ` Jiri Slaby
  0 siblings, 1 reply; 5+ messages in thread
From: Benjamin Herrenschmidt @ 2009-11-28  0:19 UTC (permalink / raw)
  To: Jiri Slaby
  Cc: sfr, jirislaby, nhorman, Heiko Carstens, linux-kernel, oleg,
	linuxppc-dev, mingo, tglx, marcin.slusarz, hpa, Paul Mackerras,
	akpm, James Morris, torvalds, mingo

On Sat, 2009-11-28 at 00:05 +0100, Jiri Slaby wrote:
> 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.

Thanks. I have that already queued up.

Cheers,
Ben.

> 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)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v3 16/27] PPC: use helpers for rlimits
  2009-11-28  0:19   ` Benjamin Herrenschmidt
@ 2009-11-28  8:47     ` Jiri Slaby
  2009-11-28 21:16       ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 5+ messages in thread
From: Jiri Slaby @ 2009-11-28  8:47 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: sfr, nhorman, Heiko Carstens, linux-kernel, oleg, linuxppc-dev,
	mingo, tglx, marcin.slusarz, hpa, Paul Mackerras, akpm,
	James Morris, torvalds, mingo

On 11/28/2009 01:19 AM, Benjamin Herrenschmidt wrote:
> On Sat, 2009-11-28 at 00:05 +0100, Jiri Slaby wrote:
>> 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.
> 
> Thanks. I have that already queued up.

Are you sure? The previous version with ACCESS_ONCE was generally
NACKed. This one uses a newly added helper which is much more cleaner
way to do it.

thanks,
-- 
js

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v3 16/27] PPC: use helpers for rlimits
  2009-11-28  8:47     ` Jiri Slaby
@ 2009-11-28 21:16       ` Benjamin Herrenschmidt
  2009-11-29 11:06         ` Stephen Rothwell
  0 siblings, 1 reply; 5+ messages in thread
From: Benjamin Herrenschmidt @ 2009-11-28 21:16 UTC (permalink / raw)
  To: Jiri Slaby
  Cc: sfr, nhorman, Heiko Carstens, linux-kernel, oleg, linuxppc-dev,
	mingo, tglx, marcin.slusarz, hpa, Paul Mackerras, akpm,
	James Morris, torvalds, mingo

On Sat, 2009-11-28 at 09:47 +0100, Jiri Slaby wrote:
> Are you sure? The previous version with ACCESS_ONCE was generally
> NACKed. This one uses a newly added helper which is much more cleaner
> way to do it.

I haven't seen a nack, but then I haven't pushed out yet so I can easily
back it off and replace it with this one.

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v3 16/27] PPC: use helpers for rlimits
  2009-11-28 21:16       ` Benjamin Herrenschmidt
@ 2009-11-29 11:06         ` Stephen Rothwell
  0 siblings, 0 replies; 5+ messages in thread
From: Stephen Rothwell @ 2009-11-29 11:06 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: Jiri Slaby, nhorman, Heiko Carstens, linux-kernel, oleg,
	linuxppc-dev, mingo, tglx, marcin.slusarz, hpa, Paul Mackerras,
	akpm, James Morris, torvalds, mingo

[-- Attachment #1: Type: text/plain, Size: 750 bytes --]

Hi Ben,

On Sun, 29 Nov 2009 08:16:03 +1100 Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
>
> On Sat, 2009-11-28 at 09:47 +0100, Jiri Slaby wrote:
> > Are you sure? The previous version with ACCESS_ONCE was generally
> > NACKed. This one uses a newly added helper which is much more cleaner
> > way to do it.
> 
> I haven't seen a nack, but then I haven't pushed out yet so I can easily
> back it off and replace it with this one.

You need to hold off adding this to your tree until after patch 14/27
("resource: add helpers for fetching rlimits") of this series (or a
modified version of it) reaches Linus' tree.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-11-29 11:06 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1259363167-9347-1-git-send-email-jslaby@suse.cz>
2009-11-27 23:05 ` [PATCH v3 16/27] PPC: use helpers for rlimits Jiri Slaby
2009-11-28  0:19   ` Benjamin Herrenschmidt
2009-11-28  8:47     ` Jiri Slaby
2009-11-28 21:16       ` Benjamin Herrenschmidt
2009-11-29 11:06         ` Stephen Rothwell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).