[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070824154906.GA19239@kroah.com>
Date: Fri, 24 Aug 2007 08:49:06 -0700
From: Greg KH <greg@...ah.com>
To: Alan Stern <stern@...land.harvard.edu>
Cc: Greg KH <gregkh@...e.de>, Oliver Neukum <oneukum@...e.de>,
Theodore Ts'o <tytso@....edu>,
Zwane Mwaikambo <zwane@....linux.org.uk>,
torvalds@...ux-foundation.org,
Justin Forbes <jmforbes@...uxtx.org>,
Kernel development list <linux-kernel@...r.kernel.org>,
Chris Wedgwood <reviews@...cw.f00f.org>,
Domenico Andreoli <cavokz@...il.com>,
Randy Dunlap <rdunlap@...otime.net>,
Michael Krufky <mkrufky@...uxtv.org>,
Chuck Ebbert <cebbert@...hat.com>,
Dave Jones <davej@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Chuck Wolber <chuckw@...ntumlinux.com>, stable@...nel.org,
alan@...rguk.ukuu.org.uk,
USB development list <linux-usb-devel@...ts.sourceforge.net>
Subject: Re: [stable] [patch 25/28] USB: cdc-acm: fix sysfs attribute
registration bug
On Fri, Aug 24, 2007 at 09:59:49AM -0400, Alan Stern wrote:
> On Thu, 23 Aug 2007, Greg KH wrote:
>
> > -stable review patch. If anyone has any objections, please let us know.
> >
> > ------------------
> >
> > From: Alan Stern <stern@...land.harvard.edu>
> >
> > This patch (as950) fixes a bug in the cdc-acm driver. It doesn't keep
> > track of which interface (control or data) the sysfs attributes get
> > registered for, and as a result, during disconnect it will sometimes
> > attempt to remove the attributes from the wrong interface. The
> > left-over attributes can cause a crash later on, particularly if the driver
> > module has been unloaded.
> >
> > Signed-off-by: Alan Stern <stern@...land.harvard.edu>
> > Acked-by: Oliver Neukum <oneukum@...e.de>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@...e.de>
> >
> > ---
> > drivers/usb/class/cdc-acm.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > --- a/drivers/usb/class/cdc-acm.c
> > +++ b/drivers/usb/class/cdc-acm.c
> > @@ -900,6 +900,10 @@ next_desc:
> > return -ENODEV;
> > }
> > }
> > +
> > + /* Accept probe requests only for the control interface */
> > + if (intf != control_interface)
> > + return -ENODEV;
> >
> > if (data_interface_num != call_interface_num)
> > dev_dbg(&intf->dev,"Seperate call control interface. That is not fully supported.");
> >
>
> Odd. This doesn't include the entire patch; the second hunk is
> missing. It should go on to say:
>
> @@ -1109,10 +1113,12 @@ static void acm_disconnect(struct usb_interface *intf)
> return;
> }
> if (acm->country_codes){
> - device_remove_file(&intf->dev, &dev_attr_wCountryCodes);
> - device_remove_file(&intf->dev, &dev_attr_iCountryCodeRelDate);
> + device_remove_file(&acm->control->dev,
> + &dev_attr_wCountryCodes);
> + device_remove_file(&acm->control->dev,
> + &dev_attr_iCountryCodeRelDate);
> }
> - device_remove_file(&intf->dev, &dev_attr_bmCapabilities);
> + device_remove_file(&acm->control->dev, &dev_attr_bmCapabilities);
I thought so too, untill you look at the 2.6.22.5 release, which already
has that change in it for some reason.
So that part of the patch drops out, it turns out you just reverted
things back to the way things used to be here :)
thanks,
greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists