On 2/14/08, Pekka Enberg <[EMAIL PROTECTED]> wrote: > Hi, > > > Vegard Nossum wrote: > > diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h > > index 412672a..7bdb37f 100644 > > --- a/include/linux/skbuff.h > > +++ b/include/linux/skbuff.h > > @@ -1294,7 +1294,11 @@ static inline void __skb_queue_purge(struct > > sk_buff_head *list) > > static inline struct sk_buff *__dev_alloc_skb(unsigned int length, > > gfp_t gfp_mask) > > { > > - struct sk_buff *skb = alloc_skb(length + NET_SKB_PAD, gfp_mask); > > + struct sk_buff *skb; > > +#ifdef CONFIG_KMEMCHECK > > + gfp_mask |= __GFP_ZERO; > > +#endif > > > Use __GFP_NOTRACK here (no need to wrap it in CONFIG_KMEMCHECK either). > > > + skb = alloc_skb(length + NET_SKB_PAD, gfp_mask); > > > if (likely(skb)) > > skb_reserve(skb, NET_SKB_PAD); > > return skb; > > > > diff --git a/init/do_mounts.c b/init/do_mounts.c > > index f865731..87b1b0f 100644 > > --- a/init/do_mounts.c > > +++ b/init/do_mounts.c > > @@ -201,9 +201,13 @@ static int __init do_mount_root(char *name, char > > *fs, int flags, void *data) > > return 0; > > } > > > > +#if PAGE_SIZE < PATH_MAX > > +# error increase the fs_names allocation size here > > +#endif > > + > > void __init mount_block_root(char *name, int flags) > > { > > - char *fs_names = __getname(); > > + char *fs_names = (void *)__get_free_pages(GFP_KERNEL | __GFP_ZERO, 1); > > char *p; > > #ifdef CONFIG_BLOCK > > char b[BDEVNAME_SIZE]; > > @@ -251,7 +255,7 @@ retry: > > #endif > > panic("VFS: Unable to mount root fs on %s", b); > > out: > > - putname(fs_names); > > + free_pages((unsigned long)fs_names, 1); > > > As discussed before, I don't think kmemcheck should be complaining about > this (even though this is a potential bug). Have you tried with the > current patches to see if it still triggers? Could have been one of the > kmemcheck bugs, no? > > > > @@ -255,6 +258,9 @@ struct sk_buff *__netdev_alloc_skb(struct net_device > > *dev, > > int node = dev->dev.parent ? dev_to_node(dev->dev.parent) : -1; > > struct sk_buff *skb; > > > > +#ifdef CONFIG_KMEMCHECK > > + gfp_mask |= __GFP_ZERO; > > +#endif > > > __GFP_NOTRACK here > > > Pekka >
Will fix those, thanks! Vegard -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/