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
| ||
|
Date: Thu, 07 Oct 2010 22:34:44 +0100 From: Ben Hutchings <bhutchings@...arflare.com> To: Kees Cook <kees.cook@...onical.com> Cc: linux-kernel@...r.kernel.org, "David S. Miller" <davem@...emloft.net>, Jeff Garzik <jgarzik@...hat.com>, Jeff Kirsher <jeffrey.t.kirsher@...el.com>, Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@...el.com>, netdev@...r.kernel.org Subject: Re: [PATCH] net: clear heap allocations for privileged ethtool actions On Thu, 2010-10-07 at 14:10 -0700, Kees Cook wrote: > Several other ethtool functions leave heap uncleared (potentially) by > drivers. Some interfaces appear safe (eeprom, etc), in that the sizes > are well controlled. In some situations (e.g. unchecked error conditions), > the heap will remain unchanged in areas before copying back to userspace. > Note that these are less of an issue since these all require CAP_NET_ADMIN. > > Cc: stable@...nel.org > Signed-off-by: Kees Cook <kees.cook@...onical.com> > --- > net/core/ethtool.c | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/net/core/ethtool.c b/net/core/ethtool.c > index 7a85367..fb9cf30 100644 > --- a/net/core/ethtool.c > +++ b/net/core/ethtool.c > @@ -397,7 +397,7 @@ static noinline_for_stack int ethtool_get_rxfh_indir(struct net_device *dev, > (KMALLOC_MAX_SIZE - sizeof(*indir)) / sizeof(*indir->ring_index)) > return -ENOMEM; > full_size = sizeof(*indir) + sizeof(*indir->ring_index) * table_size; > - indir = kmalloc(full_size, GFP_USER); > + indir = kzalloc(full_size, GFP_USER); > if (!indir) > return -ENOMEM; > [...] Acked-by: Ben Hutchings <bhutchings@...arflare.com> You could alternately recalculate full_size before copying back to the user buffer: full_size = sizeof(*indir) + sizeof(*indir->ring_index) * indir->size; but kzalloc() is more obviously safe. Ben. -- Ben Hutchings, Senior Software Engineer, Solarflare Communications Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists