Re: [PATCH]option close race

[email protected]
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
Hi,

Oliver Neukum:
> the option driver does not directly use usb_kill_urb(). It uses a wrapper.
> This wrapper means that callbacks which are running are not killed during
> close, resubmitting and illicitly pushing data into the tty layer.
> The whole purpose of usb_kill_urb() is subverted. The wrapper must be
> removed.
> 
Umm, I don't recall off-hand whether urb can ever be NULL, e.g. due to
allocation problems. Did you verify that it cannot?

Otherwise I'd use this patch instead.

Signed-Off-By: Matthias Urlichs <[email protected]>
---

+++ linux-2.6.21-rc4/drivers/usb/serial/option.c	2007-03-20 13:33:16.000000000 +0100
@@ -580,12 +580,11 @@
 	return (0);
 }
 
 static inline void stop_urb(struct urb *urb)
 {
-	if (urb && urb->status == -EINPROGRESS)
-		usb_kill_urb(urb);
+	if (urb) usb_kill_urb(urb);
 }
 
 static void option_close(struct usb_serial_port *port, struct file *filp)
 {
 	int i;


-- 
Matthias Urlichs   |   {M:U} IT Design @ m-u-it.de   |  [email protected]
Disclaimer: The quote was selected randomly. Really. | http://smurf.noris.de
 - -
Mister Teatime had a truly brilliant mind, but it was brilliant like a fractured mirror, all marvellous facets and rainbows but, ultimately, also something that was broken.
		-- Terry Pratchett (Hogfather)

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.