[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1329860896.18384.61.camel@edumazet-laptop>
Date: Tue, 21 Feb 2012 22:48:16 +0100
From: Eric Dumazet <eric.dumazet@...il.com>
To: Greg Rose <gregory.v.rose@...el.com>
Cc: netdev@...r.kernel.org, davem@...emloft.net
Subject: Re: [PATCH] rtnetlink: Fix problem with buffer allocation
Le mardi 21 février 2012 à 12:47 -0800, Greg Rose a écrit :
> Modifies the rtnl_calcit function to traverse the list of net
> devices and compute the minimum buffer size that can hold the
> info dumps of all matching devices based upon the filter passed
> in via the new netlink attribute filter mask. If no filter
> mask is sent then the buffer allocation defaults to NLMSG_GOODSIZE.
>
...
> + /*
> + * traverse the list of net devices and compute the minimum
> + * buffer size based upon the filter mask.
> + */
> + list_for_each_entry_rcu(dev, &net->dev_base_head, dev_list) {
> + min_ifinfo_dump_size = max_t(u16, min_ifinfo_dump_size,
> + if_nlmsg_size(dev,
> + ext_filter_mask));
> + }
Thats going to hurt some setups (thousand of devices on a server).
Also why are you using _rcu() variant here, we hold rtnl I presume ?
--
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