Re: 2.6.6-rc3: modular DVB tda1004x broken

viro
2004-05-03T21:54:38Z

On Mon, May 03, 2004 at 11:24:50PM +0200, Jörn Engel wrote:
> On Mon, 3 May 2004 22:16:07 +0100, viro@parcelfarce.linux.theplanet.co.uk wrote:
> >
> > I'd rather kill open() completely - we only have a handful of in-tree users
> > and there's no good reason to keep that crap, AFAICS. I'm gathering the
> > list of in-tree callers of open()/lseek()/close() and so far a lot of them
> > look buggy. More on that later...
>
> Do you know how many of those exist purely for the purpose of passing
> a struct file to one of the various read/write functions?

Let's see... Leaving aside obvious userland code (arch/*/boot/*, scripts/*,
drivers/char/ip2/ helpers) and arch/um/* instances that are, AFAICS, in
userland code too and refer to libc open(2), we have
a) drivers/media/dvb/frontends pile (AFAICS, loading firmware)
b) systemcfg_init() in asm-ppc64/systemcfg.h (WTF is that about?)
c) sound/isa/wavefront/wavefront_synth.c (loading firmware)
d) sound/oss/wavfront.c (loading firmware)
e) odd calls of sys_close() in binfmt_elf.c, eventpoll.c and socket.c
f) potentially racy flush_unauthorized_files() in selinux code - uses
sys_close() in a strange way.

That's it. And I suspect that we ought to switch the firmware loaders to
use of existing helper.