Re: [RFC PATCH net-next 0/8] Convert some skb_<foo> functions to void
From: Joe Perches <joe@perches.com>
Date: 2015-05-05 23:38:51
On Tue, 2015-05-05 at 19:20 -0400, David Miller wrote:
From: Joe Perches <joe@perches.com> Date: Mon, 04 May 2015 13:32:30 -0700quoted
On Mon, 2015-05-04 at 13:05 -0700, Joe Perches wrote:quoted
unsigned char * return values are sometimes awkward to work with. Changing the return to void * is sometimes clearer. The only uses of the return type is to do sets like *skb_puts(skb, 1) = char; Adding another function specifically for that purpose allows the return type to become void.Obviously, this shouldn't be applied as-is. It spans too many subsystems and can be done more incrementally. Also, there are some missing conversions so this won't compile properly (sorry 'bout that)I have no fundamental issues with this series once you fix up those issues.
OK, good. Another thing that's fairly common is an skb_put followed by a memcpy or memset. Adding a couple of functions for those like: void *skb_put_memcpy(struct sk_buff *skb, void *from, size_t size); void *skb_put_memset(struct sk_buff *skb, int c, size_t size); would reduce code size and improve performance a little. Are you OK with that too?