lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 28 Oct 2014 15:58:53 -0700
From:	Andrew Morton <akpm@...ux-foundation.org>
To:	Mike Frysinger <vapier@...too.org>
Cc:	Joe Perches <joe@...ches.com>, linux-kernel@...r.kernel.org,
	Al Viro <viro@...iv.linux.org.uk>,
	linux-fsdevel@...r.kernel.org
Subject: Re: [PATCH 1/2 v2] binfmt_misc: add comments & debug logs

On Mon, 20 Oct 2014 19:54:14 -0400 Mike Frysinger <vapier@...too.org> wrote:

> On 20 Oct 2014 15:59, Joe Perches wrote:
> > On Mon, 2014-10-20 at 18:45 -0400, Mike Frysinger wrote:
> > > diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c
> > []
> > > @@ -323,46 +343,113 @@ static Node *create_entry(const char __user *buffer, size_t count)
> > []
> > > +			if (e->mask) {
> > > +				int i;
> > > +				char *masked = kmalloc(e->size, GFP_USER);
> > 
> > Why GFP_USER?  Does it need it?
> 
> mostly a copy & paste from earlier in this func:
> 	e = kmalloc(memsize, GFP_USER);
> 
> the code is running process context and this buffer is only for
> debugging on behalf of the user (and is shortly freed there after), so
> GFP_USER seemed appropriate.  that said, i'm certainly not an expert
> here, so if the convention is to use GFP_KERNEL, it's easy enough to
> change.  the kmalloc API doesn't seem to provide guidance.

I can't see any reason to me using GFP_USER for these objects so how
about


From: Andrew Morton <akpm@...ux-foundation.org>
Subject: fs/binfmt_misc.c: use GFP_KERNEL instead of GFP_USER

GFP_USER means "honour cpuset nodes-allowed beancounting".  These are
regular old kernel objects and there seems no reason to give them this
treatment.

Cc: Mike Frysinger <vapier@...too.org>
Cc: Joe Perches <joe@...ches.com>
Signed-off-by: Andrew Morton <akpm@...ux-foundation.org>
---

 fs/binfmt_misc.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff -puN fs/binfmt_misc.c~fs-binfmt_miscc-use-gfp_kernel-instead-of-gfp_user fs/binfmt_misc.c
--- a/fs/binfmt_misc.c~fs-binfmt_miscc-use-gfp_kernel-instead-of-gfp_user
+++ a/fs/binfmt_misc.c
@@ -308,7 +308,7 @@ static Node *create_entry(const char __u
 
 	err = -ENOMEM;
 	memsize = sizeof(Node) + count + 8;
-	e = kmalloc(memsize, GFP_USER);
+	e = kmalloc(memsize, GFP_KERNEL);
 	if (!e)
 		goto out;
 
@@ -416,7 +416,7 @@ static Node *create_entry(const char __u
 
 			if (e->mask) {
 				int i;
-				char *masked = kmalloc(e->size, GFP_USER);
+				char *masked = kmalloc(e->size, GFP_KERNEL);
 
 				print_hex_dump_bytes(
 					KBUILD_MODNAME ": register:  mask[decoded]: ",
_

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ