From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fredrik Noring Subject: Re: WARN_ON(irqs_disabled()) in dma_free_attrs? Date: Fri, 22 Jun 2018 16:56:05 +0200 Message-ID: <20180622145603.GA17701@localhost.localdomain> References: <20180303082234.GB24991@localhost.localdomain> <20180303161249.GA9516@lst.de> <20180303181904.GA19076@localhost.localdomain> <20180305151010.GA15965@lst.de> <20180311180124.GA27731@localhost.localdomain> <5696e17e-e0f4-4e6c-7783-4eeea0ff7a5e@arm.com> <20180313131745.GC6260@lst.de> <20180315075831.GB12136@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: 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: Christoph Hellwig , Robin Murphy Cc: USB list , iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, Alan Stern , "Maciej W. Rozycki" , =?utf-8?Q?J=C3=BCrgen?= Urban List-Id: iommu@lists.linux-foundation.org Hi Robin, Christoph, On Thu, Mar 15, 2018 at 01:11:03PM +0000, Robin Murphy wrote: > On 15/03/18 07:58, Christoph Hellwig wrote: > > On Wed, Mar 14, 2018 at 05:43:46PM +0000, Robin Murphy wrote: > > > > So maybe for now the quick fix is to move the sleep check as suggested > > > > earlier in this thread, but in the long run we probably need to do some > > > > major rework of how dma_declare_coherent_memory and friends work. > > > > > > Maybe; I do think the specific hcd_alloc_coherent() case could still be > > > fixed within the scope of the existing code, but it's not quite as clean > > > and straightforward as I first thought, and the practical impact of > > > tweaking the WARN should be effectively zero despite the theoretical edge > > > cases it opens up. Do you want me to write it up as a proper patch? > > > > Yes. Including a proper comment on why the might_sleep is placed there. > > OK, will do. How is to going with moving the sleep check? Another regression triggered by the OHCI turned up in v4.16 with commit 205e1b7f51e4af26 "dma-mapping: warn when there is no coherent_dma_mask" by Christoph Hellwig: ------------[ cut here ]------------ WARNING: CPU: 0 PID: 62 at ./include/linux/dma-mapping.h:516 ohci_setup+0x41c/0x424 [ohci_hcd] Modules linked in: ohci_ps2(+) ohci_hcd usbcore usb_common sd_mod iop iop_fio iop_module iop_memory sif CPU: 0 PID: 62 Comm: modprobe Not tainted 4.16.0+ #1533 Stack : 00000000 00000000 80747392 00000037 81c6eb0c 804f32e7 80493b24 0000003e 80743498 00000204 00000001 c01c0000 802a2fa0 10058c00 81ea5a68 804facc0 00000000 00000000 80740000 00000007 00000000 00000060 00000000 00000000 3a6d6d6f 00000000 0000005f 646f6d20 80000000 00000000 c01e66e8 c01e813c 00000009 00000204 00000001 c01c0000 00000018 80278fe0 0007579f 00000001 ... Call Trace: [<8001d6e4>] show_stack+0x74/0x104 [<800323a8>] __warn+0x118/0x120 [<8003246c>] warn_slowpath_null+0x44/0x58 [] ohci_setup+0x41c/0x424 [ohci_hcd] [] ohci_ps2_reset+0x30/0x70 [ohci_ps2] [] usb_add_hcd+0x2d4/0x89c [usbcore] [] ohci_hcd_ps2_probe+0x284/0x2a4 [ohci_ps2] [<802a8a74>] platform_drv_probe+0x2c/0x68 [<802a70b4>] driver_probe_device+0x22c/0x2e4 [<802a71f0>] __driver_attach+0x84/0xc8 [<802a53fc>] bus_for_each_dev+0x60/0x90 [<802a6580>] bus_add_driver+0x1b8/0x200 [<802a7980>] driver_register+0xc0/0x100 [<800106bc>] do_one_initcall+0x17c/0x190 [<800841f4>] do_init_module+0x74/0x1f0 [<80082f30>] load_module+0x1680/0x2044 [<80083adc>] SyS_finit_module+0xa0/0xb8 [<8002190c>] syscall_common+0x34/0x58 ---[ end trace e71738b5fa6bf9aa ]--- Fredrik 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: WARN_ON(irqs_disabled()) in dma_free_attrs? From: Fredrik Noring Message-Id: <20180622145603.GA17701@localhost.localdomain> Date: Fri, 22 Jun 2018 16:56:05 +0200 To: Christoph Hellwig , Robin Murphy Cc: Alan Stern , Marek Szyprowski , iommu@lists.linux-foundation.org, USB list , =?utf-8?Q?J=C3=BCrgen?= Urban , "Maciej W. Rozycki" List-ID: SGkgUm9iaW4sIENocmlzdG9waCwKCk9uIFRodSwgTWFyIDE1LCAyMDE4IGF0IDAxOjExOjAzUE0g KzAwMDAsIFJvYmluIE11cnBoeSB3cm90ZToKPiBPbiAxNS8wMy8xOCAwNzo1OCwgQ2hyaXN0b3Bo IEhlbGx3aWcgd3JvdGU6Cj4gPiBPbiBXZWQsIE1hciAxNCwgMjAxOCBhdCAwNTo0Mzo0NlBNICsw MDAwLCBSb2JpbiBNdXJwaHkgd3JvdGU6Cj4gPiA+ID4gU28gbWF5YmUgZm9yIG5vdyB0aGUgcXVp Y2sgZml4IGlzIHRvIG1vdmUgdGhlIHNsZWVwIGNoZWNrIGFzIHN1Z2dlc3RlZAo+ID4gPiA+IGVh cmxpZXIgaW4gdGhpcyB0aHJlYWQsIGJ1dCBpbiB0aGUgbG9uZyBydW4gd2UgcHJvYmFibHkgbmVl ZCB0byBkbyBzb21lCj4gPiA+ID4gbWFqb3IgcmV3b3JrIG9mIGhvdyBkbWFfZGVjbGFyZV9jb2hl cmVudF9tZW1vcnkgYW5kIGZyaWVuZHMgd29yay4KPiA+ID4gCj4gPiA+IE1heWJlOyBJIGRvIHRo aW5rIHRoZSBzcGVjaWZpYyBoY2RfYWxsb2NfY29oZXJlbnQoKSBjYXNlIGNvdWxkIHN0aWxsIGJl Cj4gPiA+IGZpeGVkIHdpdGhpbiB0aGUgc2NvcGUgb2YgdGhlIGV4aXN0aW5nIGNvZGUsIGJ1dCBp dCdzIG5vdCBxdWl0ZSBhcyBjbGVhbgo+ID4gPiBhbmQgc3RyYWlnaHRmb3J3YXJkIGFzIEkgZmly c3QgdGhvdWdodCwgYW5kIHRoZSBwcmFjdGljYWwgaW1wYWN0IG9mCj4gPiA+IHR3ZWFraW5nIHRo ZSBXQVJOIHNob3VsZCBiZSBlZmZlY3RpdmVseSB6ZXJvIGRlc3BpdGUgdGhlIHRoZW9yZXRpY2Fs IGVkZ2UKPiA+ID4gY2FzZXMgaXQgb3BlbnMgdXAuIERvIHlvdSB3YW50IG1lIHRvIHdyaXRlIGl0 IHVwIGFzIGEgcHJvcGVyIHBhdGNoPwo+ID4gCj4gPiBZZXMuICBJbmNsdWRpbmcgYSBwcm9wZXIg Y29tbWVudCBvbiB3aHkgdGhlIG1pZ2h0X3NsZWVwIGlzIHBsYWNlZCB0aGVyZS4KPiAKPiBPSywg d2lsbCBkby4KCkhvdyBpcyB0byBnb2luZyB3aXRoIG1vdmluZyB0aGUgc2xlZXAgY2hlY2s/CgpB bm90aGVyIHJlZ3Jlc3Npb24gdHJpZ2dlcmVkIGJ5IHRoZSBPSENJIHR1cm5lZCB1cCBpbiB2NC4x NiB3aXRoIGNvbW1pdAoyMDVlMWI3ZjUxZTRhZjI2ICJkbWEtbWFwcGluZzogd2FybiB3aGVuIHRo ZXJlIGlzIG5vIGNvaGVyZW50X2RtYV9tYXNrIgpieSBDaHJpc3RvcGggSGVsbHdpZzoKCi0tLS0t LS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQpXQVJOSU5HOiBDUFU6IDAgUElEOiA2MiBh dCAuL2luY2x1ZGUvbGludXgvZG1hLW1hcHBpbmcuaDo1MTYgb2hjaV9zZXR1cCsweDQxYy8weDQy NCBbb2hjaV9oY2RdCk1vZHVsZXMgbGlua2VkIGluOiBvaGNpX3BzMigrKSBvaGNpX2hjZCB1c2Jj b3JlIHVzYl9jb21tb24gc2RfbW9kIGlvcCBpb3BfZmlvIGlvcF9tb2R1bGUgaW9wX21lbW9yeSBz aWYKQ1BVOiAwIFBJRDogNjIgQ29tbTogbW9kcHJvYmUgTm90IHRhaW50ZWQgNC4xNi4wKyAjMTUz MwpTdGFjayA6IDAwMDAwMDAwIDAwMDAwMDAwIDgwNzQ3MzkyIDAwMDAwMDM3IDgxYzZlYjBjIDgw NGYzMmU3IDgwNDkzYjI0IDAwMDAwMDNlCiAgICAgICAgODA3NDM0OTggMDAwMDAyMDQgMDAwMDAw MDEgYzAxYzAwMDAgODAyYTJmYTAgMTAwNThjMDAgODFlYTVhNjggODA0ZmFjYzAKICAgICAgICAw MDAwMDAwMCAwMDAwMDAwMCA4MDc0MDAwMCAwMDAwMDAwNyAwMDAwMDAwMCAwMDAwMDA2MCAwMDAw MDAwMCAwMDAwMDAwMAogICAgICAgIDNhNmQ2ZDZmIDAwMDAwMDAwIDAwMDAwMDVmIDY0NmY2ZDIw IDgwMDAwMDAwIDAwMDAwMDAwIGMwMWU2NmU4IGMwMWU4MTNjCiAgICAgICAgMDAwMDAwMDkgMDAw MDAyMDQgMDAwMDAwMDEgYzAxYzAwMDAgMDAwMDAwMTggODAyNzhmZTAgMDAwNzU3OWYgMDAwMDAw MDEKICAgICAgICAuLi4KQ2FsbCBUcmFjZToKWzw4MDAxZDZlND5dIHNob3dfc3RhY2srMHg3NC8w eDEwNApbPDgwMDMyM2E4Pl0gX193YXJuKzB4MTE4LzB4MTIwCls8ODAwMzI0NmM+XSB3YXJuX3Ns b3dwYXRoX251bGwrMHg0NC8weDU4Cls8YzAxZTY2ZTg+XSBvaGNpX3NldHVwKzB4NDFjLzB4NDI0 IFtvaGNpX2hjZF0KWzxjMDFmMjA5Yz5dIG9oY2lfcHMyX3Jlc2V0KzB4MzAvMHg3MCBbb2hjaV9w czJdCls8YzAxYThhZWM+XSB1c2JfYWRkX2hjZCsweDJkNC8weDg5YyBbdXNiY29yZV0KWzxjMDFm MjM2MD5dIG9oY2lfaGNkX3BzMl9wcm9iZSsweDI4NC8weDJhNCBbb2hjaV9wczJdCls8ODAyYThh NzQ+XSBwbGF0Zm9ybV9kcnZfcHJvYmUrMHgyYy8weDY4Cls8ODAyYTcwYjQ+XSBkcml2ZXJfcHJv YmVfZGV2aWNlKzB4MjJjLzB4MmU0Cls8ODAyYTcxZjA+XSBfX2RyaXZlcl9hdHRhY2grMHg4NC8w eGM4Cls8ODAyYTUzZmM+XSBidXNfZm9yX2VhY2hfZGV2KzB4NjAvMHg5MApbPDgwMmE2NTgwPl0g YnVzX2FkZF9kcml2ZXIrMHgxYjgvMHgyMDAKWzw4MDJhNzk4MD5dIGRyaXZlcl9yZWdpc3Rlcisw eGMwLzB4MTAwCls8ODAwMTA2YmM+XSBkb19vbmVfaW5pdGNhbGwrMHgxN2MvMHgxOTAKWzw4MDA4 NDFmND5dIGRvX2luaXRfbW9kdWxlKzB4NzQvMHgxZjAKWzw4MDA4MmYzMD5dIGxvYWRfbW9kdWxl KzB4MTY4MC8weDIwNDQKWzw4MDA4M2FkYz5dIFN5U19maW5pdF9tb2R1bGUrMHhhMC8weGI4Cls8 ODAwMjE5MGM+XSBzeXNjYWxsX2NvbW1vbisweDM0LzB4NTgKLS0tWyBlbmQgdHJhY2UgZTcxNzM4 YjVmYTZiZjlhYSBdLS0tCgpGcmVkcmlrCi0tLQpUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlz dDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUgbGludXgtdXNiIiBpbgp0aGUgYm9keSBvZiBh IG1lc3NhZ2UgdG8gbWFqb3Jkb21vQHZnZXIua2VybmVsLm9yZwpNb3JlIG1ham9yZG9tbyBpbmZv IGF0ICBodHRwOi8vdmdlci5rZXJuZWwub3JnL21ham9yZG9tby1pbmZvLmh0bWwK