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: Mon, 20 Aug 2012 08:39:34 +0200 From: Eric Dumazet <eric.dumazet@...il.com> To: Patrick McHardy <kaber@...sh.net> Cc: Florian.Westphal@...hos.com, netdev@...r.kernel.org, netfilter-devel@...r.kernel.org Subject: Re: [PATCH 02/11] net: add function to allocate skbuff head without data area On Mon, 2012-08-20 at 08:18 +0200, Patrick McHardy wrote: > Add a function to allocate a skbuff head without any data. This will be > used by memory mapped netlink to attached data from the mmaped area to > the skb. > > Additionally change skb_release_all() to check whether the skb has a > data area to allow the skb destructor to clear the data pointer in > case only a head has been allocated. * ... > > +struct sk_buff *__alloc_skb_head(gfp_t gfp_mask, int node) > +{ > + struct sk_buff *skb; > + > + /* Get the HEAD */ > + skb = kmem_cache_alloc_node(skbuff_head_cache, > + gfp_mask & ~__GFP_DMA, node); > + if (!skb) > + goto out; > + prefetchw(skb); > + This prefetch is probably not worth it, since you write on skb on the following memset(). Cpu wont have enough 'time' to take benefit from this hint. > + /* > + * Only clear those fields we need to clear, not those that we will > + * actually initialise below. Hence, don't put any more fields after > + * the tail pointer in struct sk_buff! > + */ > + memset(skb, 0, offsetof(struct sk_buff, tail)); -- 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