Re: should new kfifo implementation really be exporting that much?

From: Robert P. J. Day
Date: Sun Mar 14 2010 - 10:59:23 EST


On Sun, 14 Mar 2010, Robert P. J. Day wrote:

>
> just curious about how much is being exported from kfifo.c:
>
> $ grep EXPORT_SYMBOL kernel/kfifo.c
> EXPORT_SYMBOL(kfifo_init);
> EXPORT_SYMBOL(kfifo_alloc);
> EXPORT_SYMBOL(kfifo_free);
> EXPORT_SYMBOL(kfifo_skip);
> EXPORT_SYMBOL(__kfifo_in_n);
> EXPORT_SYMBOL(kfifo_in);
> EXPORT_SYMBOL(__kfifo_in_generic);
> EXPORT_SYMBOL(__kfifo_out_n);
> EXPORT_SYMBOL(kfifo_out);
> EXPORT_SYMBOL(kfifo_out_peek);
> EXPORT_SYMBOL(__kfifo_out_generic);
> EXPORT_SYMBOL(__kfifo_from_user_n);
> EXPORT_SYMBOL(kfifo_from_user);
> EXPORT_SYMBOL(__kfifo_from_user_generic);
> EXPORT_SYMBOL(__kfifo_to_user_n);
> EXPORT_SYMBOL(kfifo_to_user);
> EXPORT_SYMBOL(__kfifo_to_user_generic);
> EXPORT_SYMBOL(__kfifo_peek_generic);
> EXPORT_SYMBOL(__kfifo_skip_generic);
> $
>
> there's a lot there that looks like it should be static, no? or is
> all of that *meant* to be part of the public kfifo API?

as a short followup, kfifo.h strongly implies that a lot of the
above shouldn't be exported:

...
/*
* __kfifo_in_... internal functions for put date into the fifo
* do not call it directly, use kfifo_in_rec() instead
*/
...
/*
* __kfifo_out_... internal functions for get date from the fifo
* do not call it directly, use kfifo_out_rec() instead
*/
...
/*
* __kfifo_from_user_... internal functions for transfer from user space into
* the fifo. do not call it directly, use kfifo_from_user_rec() instead
*/
...
/*
* __kfifo_to_user_... internal functions for transfer fifo data into user space
* do not call it directly, use kfifo_to_user_rec() instead
*/
...
/*
* __kfifo_peek_... internal functions for peek into the next fifo record
* do not call it directly, use kfifo_peek_rec() instead
*/
...
/*
* __kfifo_skip_... internal functions for skip the next fifo record
* do not call it directly, use kfifo_skip_rec() instead
*/
...

anyway, you get the idea. it would seem that a lot of those EXPORTs
should be removed, no?

rday
--


========================================================================
Robert P. J. Day Waterloo, Ontario, CANADA

Linux Consulting, Training and Kernel Pedantry.

Web page: http://crashcourse.ca
Twitter: http://twitter.com/rpjday
========================================================================
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/