Re: [PATCH] driver core: Add the ability to unbind drivers to devices from userspace

From: Greg KH
Date: Mon Jul 25 2005 - 19:34:02 EST


On Mon, Jul 25, 2005 at 08:28:10PM -0400, Jon Smirl wrote:
> On 7/25/05, Greg KH <greg@xxxxxxxxx> wrote:
> > On Mon, Jul 25, 2005 at 12:30:43PM -0400, Jon Smirl wrote:
> > > On 7/25/05, Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> wrote:
> > > > On 7/25/05, Jon Smirl <jonsmirl@xxxxxxxxx> wrote:
> > > > > On 7/25/05, Dmitry Torokhov <dtor_core@xxxxxxxxxxxxx> wrote:
> > > > > > On Sunday 24 July 2005 23:09, Jon Smirl wrote:
> > > > > > > I just pulled from GIT to test bind/unbind. I couldn't get it to work;
> > > > > > > it isn't taking into account the CR on the end of the input value of
> > > > > > > the sysfs attribute. This patch will fix it but I'm sure there is a
> > > > > > > cleaner solution.
> > > > > > >
> > > > > >
> > > > > > "echo -n" should take care of this problem I think.
> > > > >
> > > > > That will work around it but I think we should fix it. Changing to
> > > > > strncmp() fixes most cases.
> > > > >
> > > > > - if (strcmp(name, dev->bus_id) == 0)
> > > > > + if (strncmp(name, dev->bus_id, strlen(dev->bus_id)) == 0)
> > > > >
> > > >
> > > > This will produce "interesting results" if you have both "blah-1" and
> > > > "blah-10" devices on the bus.
> >
> > Yes, not a good thing for USB devices specifically.
> >
> > > Then the better solution is to fix the generic attribute set code to
> > > strip leading and trailing white space.
> >
> > No, that might break other things as we have not been doing this from
> > day one. I'd rather just change these two places, if it's that big of a
> > deal. It was documented (in a lwn.net article) and the changelog entry,
> > that you should use "echo -n".
>
> I didn't realize that echo was adding the CR, I thought that it always
> appeared on the end of a sysfs attribute set. So now I have to go add
> white space stripping to a dozen fbdev/drm sysfs attribute
> implementations. Given that the param is const I may have to allocate
> new buffers and copy. I also wonder how many other people have made
> the same mistake.

Nah, just zero out that \n character :)

> Are you sure it would break other things? These are supposed to be
> text attributes, not binary ones.

I agree, I don't know what would break. Care to make a patch so we
could find out?

thanks,

greg k-h
-
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/