Re: 2.6.21-rc4-mm1

From: Kay Sievers
Date: Tue Mar 27 2007 - 05:26:20 EST


On 3/26/07, Eric Rannaud <eric.rannaud@xxxxxxxxx> wrote:
On Mon, Mar 26, 2007 at 01:22:32AM -0800, Andrew Morton wrote:
> On Mon, 26 Mar 2007 11:09:49 +0200 Cornelia Huck <cornelia.huck@xxxxxxxxxx> wrote:
> > > If so, do you think I should labour on with
> > > uevent-improve-error-checking-and-handling.patch plus your fix, or should I
> > > drop the lot? (I'm inclined toward the latter, but I'm still not
> > > sure which patch(es) need to be dropped).
> >
> > This depends on what semantics uevent returning an error code should
> > have. The firmware code was using it to suppress uevents, but
> > uevent_suppress is a better idea now. So if we want uevent returning !=
> > 0 to imply "something really bad happened", all uevent functions have
> > to be audited and those that work like firmware_uevent have to be
> > converted to uevent_suppress. This would be cleaner, but I'm not sure
> > it's worth the work.
>
> We're generally struggling to stay alive amongst all the bugs at present -
> I'll drop all those patches.

My mistake, I wrote the guilty patch
uevent-improve-error-checking-and-handling.patch assuming it was safe to
treat the return value as an error code, since several uevent functions
returns things like -ENOMEM.

Should I rework the patch as Cornelia suggests and resubmit later, when
things have settled down a little?

I don't see any point in deregistering a kernel device, if the event
to userspace goes wrong, or a subsytem returns a non-zero value in the
filter.

Checking the uevent return value, will not prevent any malfunction,
usually this kind of "error handling" just prevents bringing up a
whole subsystem, or booting-up a box, because the needed device does
not exist at all.

Thanks,
Kay
-
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/