Re: [PATCH] buggered kmalloc()

From: Arjan van de Ven
Date: Fri Jul 20 2007 - 17:35:49 EST


On Fri, 2007-07-20 at 16:05 -0400, Dave Jones wrote:
> On Fri, Jul 20, 2007 at 04:03:40PM +0100, Al Viro wrote:
> > Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
> > ---
> > diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c
> > index aebcd5f..7829ab1 100644
> > --- a/drivers/scsi/iscsi_tcp.c
> > +++ b/drivers/scsi/iscsi_tcp.c
> > @@ -1885,7 +1885,7 @@ static int iscsi_tcp_get_addr(struct iscsi_conn *conn, struct socket *sock,
> > struct sockaddr_in *sin;
> > int rc = 0, len;
> >
> > - addr = kmalloc(GFP_KERNEL, sizeof(*addr));
> > + addr = kmalloc(sizeof(*addr), GFP_KERNEL);
> > if (!addr)
> > return -ENOMEM;
>
> This seems like something that would be trivial to check for in checkpatch.

and at runtime if we make a __GFP_VALID flag we add to all GFP_'s (and
is just a few high bits in a specific pattern) and check that inside
kmalloc.. since kmalloc is inline just about always it's a constant and
thus compiled out check..
--
if you want to mail me at work (you don't), use arjan (at) linux.intel.com
Test the interaction between Linux and your BIOS via http://www.linuxfirmwarekit.org

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