Re: 2.4.8-pre4 drivers/net/wan/comx.c unresolved symbol

Alexander Viro (viro@math.psu.edu)
Mon, 6 Aug 2001 03:08:46 -0400 (EDT)


On Mon, 6 Aug 2001, Keith Owens wrote:

> This is probably already known but 2.4.8-pre4 drivers/net/wan/comx.c
> has an unresolved symbol proc_get_inode when compiled as a module.

Yes. The fix is also know - rm(1). comx.c is oopsable in so many ways
that it's not worth fixing. I've played with it for quite a while trying
to fix the sucker, but there were more and more bugs. About the only
function they hadn't fscked up was their reimplementation of strcasecmp(3).
Diagnosis: FUBAR. Literally.

If the authors (who, AFAICS, happen to be manufacturers of the hardware in
question) are interested in having that driver in a tree I would _really_
recommend them to rewrite the damn thing from scratch and submit it for
review before it goes into the kernel.

I can dig up the list of bugs (incomplete - at some point I simply gave
up on that) and post it, if anyone is interested.

And no, exporting proc_get_inode() will not help anything - their procfs
code is completely b0rken (as in, if you ever rmmod the thing _or_
unregister an interface - any user can crash the box). And that's aside
of GFP_KERNEL kmalloc() with interrupts disabled, extremely odd ideas
about the semantics of netdev ->stop(), lousy use of timers, kmalloc()
before MOD_INC_USE_COUNT, various and sundry races, yodda, yodda.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/