From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sudip Mukherjee Subject: Re: usb HC busted? Date: Sat, 21 Jul 2018 11:55:47 +0100 Message-ID: <20180721105509.hjocon6ngk2liwo4@debian> References: <20180717144022.4wabhdhysori3mvg@debian> <20180717144918.7ymzbhijxfcc3fhb@debian> <20180717151017.yk5d4glzwqcrxpqc@debian> <20180719113455.urktqxijzoyhfoou@debian> <20180719173256.hc5aprma4biuqd4p@debian> <20180720125421.jhdvas6oapryw6yz@debian> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <20180720125421.jhdvas6oapryw6yz@debian> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Mathias Nyman Cc: Mathias Nyman , Greg KH , linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, Christoph Hellwig , Andy Shevchenko , Alan Stern , Andy Shevchenko , lukaszx.szulc-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org List-Id: iommu@lists.linux-foundation.org Hi Mathias, On Fri, Jul 20, 2018 at 01:54:21PM +0100, Sudip Mukherjee wrote: > Hi Mathias, > > On Fri, Jul 20, 2018 at 02:10:58PM +0300, Mathias Nyman wrote: > > On 19.07.2018 20:32, Sudip Mukherjee wrote: > > > Hi Mathias, > > > > > > On Thu, Jul 19, 2018 at 06:42:19PM +0300, Mathias Nyman wrote: > > > > > > As first aid I could try to implement checks that make sure the flushed URBs > > > > > > trb pointers really are on the current endpoint ring, and also add some warning > > > > > > if we are we are dropping endpoints with URBs still queued. > > > > > > > > > > Yes, please. I think your first-aid will be a much better option than > > > > > the hacky patch I am using atm. > > > > > > > > > > > > So poison is overwritten at e5acda58 with almost its own address, (reading backwards) e5 ac da 60, twice. > > looks like something (32bit?)is pointing to itself twice, maybe a linked list node next and prev pointer > > being set to point to itself as last item was removed from list. > > > > The cancelled_td_list is part of struct xhci_virt_ep, so that should be fine. > > But td_list is part of struct xhci_ring, which was freed. and we removed the URBs tds from the td_list when > > flushing the ring after ring was freed > > > > I changed the patch (attached) to make sure it doesn't touch the td_list when canceling a URB after > > ring is freed. > > > > How about this one, any improvements? > > Yes, it worked. :D > > So, cycle-1 = no change, just to make sure I can still reproduce the error. > cycle-2 and cycle-3 with your patch, and there was no problem, > slub debug was also happy. > I am starting an autotest with this patch now, and I will have almost > 50 cycles tested by tomorrow morning. I can confirm that your bandaid patch has worked. Total of 67 cycles tested till now and there was no error. Its continuing to test over the weekend. Thank you very much for this one. :) I guess you will start with the proper fix, that you and Alan had been discussing, after you are fully back to work. -- Regards Sudip From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: usb HC busted? From: Sudip Mukherjee Message-Id: <20180721105509.hjocon6ngk2liwo4@debian> Date: Sat, 21 Jul 2018 11:55:47 +0100 To: Mathias Nyman Cc: Alan Stern , Greg KH , Andy Shevchenko , Andy Shevchenko , Mathias Nyman , linux-usb@vger.kernel.org, lukaszx.szulc@intel.com, Christoph Hellwig , Marek Szyprowski , iommu@lists.linux-foundation.org List-ID: SGkgTWF0aGlhcywKCk9uIEZyaSwgSnVsIDIwLCAyMDE4IGF0IDAxOjU0OjIxUE0gKzAxMDAsIFN1 ZGlwIE11a2hlcmplZSB3cm90ZToKPiBIaSBNYXRoaWFzLAo+IAo+IE9uIEZyaSwgSnVsIDIwLCAy MDE4IGF0IDAyOjEwOjU4UE0gKzAzMDAsIE1hdGhpYXMgTnltYW4gd3JvdGU6Cj4gPiBPbiAxOS4w Ny4yMDE4IDIwOjMyLCBTdWRpcCBNdWtoZXJqZWUgd3JvdGU6Cj4gPiA+IEhpIE1hdGhpYXMsCj4g PiA+IAo+ID4gPiBPbiBUaHUsIEp1bCAxOSwgMjAxOCBhdCAwNjo0MjoxOVBNICswMzAwLCBNYXRo aWFzIE55bWFuIHdyb3RlOgo+ID4gPiA+ID4gPiBBcyBmaXJzdCBhaWQgSSBjb3VsZCB0cnkgdG8g aW1wbGVtZW50IGNoZWNrcyB0aGF0IG1ha2Ugc3VyZSB0aGUgZmx1c2hlZCBVUkJzCj4gPiA+ID4g PiA+IHRyYiBwb2ludGVycyByZWFsbHkgYXJlIG9uIHRoZSBjdXJyZW50IGVuZHBvaW50IHJpbmcs IGFuZCBhbHNvIGFkZCBzb21lIHdhcm5pbmcKPiA+ID4gPiA+ID4gaWYgd2UgYXJlIHdlIGFyZSBk cm9wcGluZyBlbmRwb2ludHMgd2l0aCBVUkJzIHN0aWxsIHF1ZXVlZC4KPiA+ID4gPiA+IAo+ID4g PiA+ID4gWWVzLCBwbGVhc2UuIEkgdGhpbmsgeW91ciBmaXJzdC1haWQgd2lsbCBiZSBhIG11Y2gg YmV0dGVyIG9wdGlvbiB0aGFuCj4gPiA+ID4gPiB0aGUgaGFja3kgcGF0Y2ggSSBhbSB1c2luZyBh dG0uCj4gPiA+ID4gPiAKPiA+ID4gPiAKPiA8c25pcD4KPiA+IFNvIHBvaXNvbiBpcyBvdmVyd3Jp dHRlbiBhdCBlNWFjZGE1OCB3aXRoIGFsbW9zdCBpdHMgb3duIGFkZHJlc3MsIChyZWFkaW5nIGJh Y2t3YXJkcykgZTUgYWMgZGEgNjAsIHR3aWNlLgo+ID4gbG9va3MgbGlrZSBzb21ldGhpbmcgKDMy Yml0PylpcyBwb2ludGluZyB0byBpdHNlbGYgdHdpY2UsIG1heWJlIGEgbGlua2VkIGxpc3Qgbm9k ZSBuZXh0IGFuZCBwcmV2IHBvaW50ZXIKPiA+IGJlaW5nIHNldCB0byBwb2ludCB0byBpdHNlbGYg YXMgbGFzdCBpdGVtIHdhcyByZW1vdmVkIGZyb20gbGlzdC4KPiA+IAo+ID4gVGhlIGNhbmNlbGxl ZF90ZF9saXN0IGlzIHBhcnQgb2Ygc3RydWN0IHhoY2lfdmlydF9lcCwgc28gdGhhdCBzaG91bGQg YmUgZmluZS4KPiA+IEJ1dCB0ZF9saXN0IGlzIHBhcnQgb2Ygc3RydWN0IHhoY2lfcmluZywgd2hp Y2ggd2FzIGZyZWVkLiBhbmQgd2UgcmVtb3ZlZCB0aGUgVVJCcyB0ZHMgZnJvbSB0aGUgdGRfbGlz dCB3aGVuCj4gPiBmbHVzaGluZyB0aGUgcmluZyBhZnRlciByaW5nIHdhcyBmcmVlZAo+ID4gCj4g PiBJIGNoYW5nZWQgdGhlIHBhdGNoIChhdHRhY2hlZCkgdG8gbWFrZSBzdXJlIGl0IGRvZXNuJ3Qg dG91Y2ggdGhlIHRkX2xpc3Qgd2hlbiBjYW5jZWxpbmcgYSBVUkIgYWZ0ZXIKPiA+IHJpbmcgaXMg ZnJlZWQuCj4gPiAKPiA+IEhvdyBhYm91dCB0aGlzIG9uZSwgYW55IGltcHJvdmVtZW50cz8KPiAK PiBZZXMsIGl0IHdvcmtlZC4gOkQKPiAKPiBTbywgY3ljbGUtMSA9IG5vIGNoYW5nZSwganVzdCB0 byBtYWtlIHN1cmUgSSBjYW4gc3RpbGwgcmVwcm9kdWNlIHRoZSBlcnJvci4KPiBjeWNsZS0yIGFu ZCBjeWNsZS0zIHdpdGggeW91ciBwYXRjaCwgYW5kIHRoZXJlIHdhcyBubyBwcm9ibGVtLAo+IHNs dWIgZGVidWcgd2FzIGFsc28gaGFwcHkuCj4gSSBhbSBzdGFydGluZyBhbiBhdXRvdGVzdCB3aXRo IHRoaXMgcGF0Y2ggbm93LCBhbmQgSSB3aWxsIGhhdmUgYWxtb3N0Cj4gNTAgY3ljbGVzIHRlc3Rl ZCBieSB0b21vcnJvdyBtb3JuaW5nLgoKSSBjYW4gY29uZmlybSB0aGF0IHlvdXIgYmFuZGFpZCBw YXRjaCBoYXMgd29ya2VkLiBUb3RhbCBvZiA2NyBjeWNsZXMKdGVzdGVkIHRpbGwgbm93IGFuZCB0 aGVyZSB3YXMgbm8gZXJyb3IuIEl0cyBjb250aW51aW5nIHRvIHRlc3Qgb3ZlciB0aGUKd2Vla2Vu ZC4KVGhhbmsgeW91IHZlcnkgbXVjaCBmb3IgdGhpcyBvbmUuIDopCgpJIGd1ZXNzIHlvdSB3aWxs IHN0YXJ0IHdpdGggdGhlIHByb3BlciBmaXgsIHRoYXQgeW91IGFuZCBBbGFuIGhhZCBiZWVuCmRp c2N1c3NpbmcsIGFmdGVyIHlvdSBhcmUgZnVsbHkgYmFjayB0byB3b3JrLgotLS0KUmVnYXJkcwpT dWRpcAotLQpUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5z dWJzY3JpYmUgbGludXgtdXNiIiBpbgp0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21v QHZnZXIua2VybmVsLm9yZwpNb3JlIG1ham9yZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdlci5rZXJu ZWwub3JnL21ham9yZG9tby1pbmZvLmh0bWwK