From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Kroah-Hartman Subject: Re: [PATCH] sysfs: Disable lockdep for driver bind/unbind files Date: Wed, 19 Dec 2018 10:44:33 +0100 Message-ID: <20181219094433.GA11441@kroah.com> References: <20181218201443.4950-1-daniel.vetter@ffwll.ch> <20181219070110.GB21256@kroah.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Rafael J. Wysocki" Cc: aspriel@gmail.com, Heikki Krogerus , Geert Uytterhoeven , Daniel Vetter , intel-gfx , Linux Kernel Mailing List , dri-devel , Vivek Gautam , Joe Perches , Daniel Vetter , Andy Shevchenko , brgl@bgdev.pl List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBEZWMgMTksIDIwMTggYXQgMTA6MjQ6NTFBTSArMDEwMCwgUmFmYWVsIEouIFd5c29j a2kgd3JvdGU6Cj4gT24gV2VkLCBEZWMgMTksIDIwMTggYXQgODowMSBBTSBHcmVnIEtyb2FoLUhh cnRtYW4KPiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+IHdyb3RlOgo+ID4KPiA+IE9uIFR1 ZSwgRGVjIDE4LCAyMDE4IGF0IDA5OjE0OjQzUE0gKzAxMDAsIERhbmllbCBWZXR0ZXIgd3JvdGU6 Cj4gPiA+IFRoaXMgaXMgdGhlIG11Y2ggbW9yZSBjb3JyZWN0IGZpeCBmb3IgbXkgZWFybGllciBh dHRlbXB0IGF0Ogo+ID4gPgo+ID4gPiBodHRwczovL2xrbWwub3JnL2xrbWwvMjAxOC8xMi8xMC8x MTgKPiA+ID4KPiA+ID4gU2hvcnQgcmVjYXA6Cj4gPiA+Cj4gPiA+IC0gVGhlcmUncyBub3QgYWN0 dWFsbHkgYSBsb2NraW5nIGlzc3VlLCBpdCdzIGp1c3QgbG9ja2RlcCBiZWluZyBhIGJpdAo+ID4g PiAgIHRvbyBlYWdlciB0byBjb21wbGFpbiBhYm91dCBhIHBvc3NpYmxlIGRlYWRsb2NrLgo+ID4g Pgo+ID4gPiAtIENvbnRyYXJ5IHRvIHdoYXQgSSBjbGFpbWVkIHRoZSByZWFsIHByb2JsZW0gaXMg cmVjdXJzaW9uIG9uCj4gPiA+ICAga24tPmNvdW50LiBHcmVnIHBvaW50ZWQgbWUgYXQgc3lzZnNf YnJlYWtfYWN0aXZlX3Byb3RlY3Rpb24oKSwgdXNlZAo+ID4gPiAgIGJ5IHRoZSBzY3NpIHN1YnN5 c3RlbSB0byBhbGxvdyBhIHN5c2ZzIGZpbGUgdG8gdW5iaW5kIGl0c2VsZi4gVGhhdAo+ID4gPiAg IHdvdWxkIGJlIGEgcmVhbCBkZWFkbG9jaywgd2hpY2ggaXNuJ3Qgd2hhdCdzIGhhcHBlbmluZyBo ZXJlLiBBbHNvLAo+ID4gPiAgIGJyZWFraW5nIHRoZSBhY3RpdmUgcHJvdGVjdGlvbiBtZWFucyB3 ZSdkIG5lZWQgdG8gbWFudWFsbHkgaGFuZGxlCj4gPiA+ICAgYWxsIHRoZSBsaWZldGltZSBmdW4u Cj4gPiA+Cj4gPiA+IC0gV2l0aCBSYWZhZWwgd2UgZGlzY3Vzc2VkIHRoZSB0YXNrX3dvcmsgYXBw cm9hY2gsIHdoaWNoIGtpbmRhIHdvcmtzLAo+ID4gPiAgIGJ1dCBoYXMgdHdvIGRvd25zaWRlczog SXQncyBhIGZ1bmN0aW9uYWwgY2hhbmdlIGZvciBhIGxvY2tkZXAKPiA+ID4gICBhbm5vdGF0aW9u IGlzc3VlLCBhbmQgaXQgd29uJ3Qgd29yayBmb3IgdGhlIGJpbmQgZmlsZSAod2hpY2ggbmVlZHMK PiA+ID4gICB0byBnZXQgdGhlIGVycm5vIGZyb20gdGhlIGRyaXZlciBsb2FkIGZ1bmN0aW9uIGJh Y2sgdG8gdXNlcnNwYWNlKS4KPiA+ID4KPiA+ID4gLSBHcmVnIGFsc28gYXNrZWQgd2h5IHRoaXMg bmV2ZXIgc2hvd2VkIHVwOiBUbyBoaXQgdGhpcyB5b3UgbmVlZCB0bwo+ID4gPiAgIHVucmVnaXN0 ZXIgYSAybmQgZHJpdmVyIGZyb20gdGhlIHVubG9hZCBjb2RlIG9mIHlvdXIgZmlyc3QgZHJpdmVy LiBJCj4gPiA+ICAgZ3Vlc3Mgb25seSBncHVzIGRvIHRoYXQuIFRoZSBidWcgaGFzIGFsd2F5cyBi ZWVuIHRoZXJlLCBidXQgb25seQo+ID4gPiAgIHdpdGggYSByZWNlbnQgcGF0Y2ggc2VyaWVzIGRp ZCB3ZSBhZGQgbW9yZSBsb2NrcyBzbyB0aGF0IGxvY2tkZXAKPiA+ID4gICBidWlsdCBhIGNoYWlu IGZyb20gdW5iaW5kaW5nIHRoZSBzbmQtaGRhIGRyaXZlciB0byB0aGUKPiA+ID4gICBhY3BpX3Zp ZGVvX3VucmVnaXN0ZXIgY2FsbC4KPiA+ID4KPiA+ID4gRnVsbCBsb2NrZGVwIHNwbGF0Ogo+ID4g Pgo+ID4gPiBbMTIzMDEuODk4Nzk5XSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQo+ID4gPiBbMTIzMDEuODk4ODA1XSBXQVJOSU5HOiBwb3NzaWJsZSByZWN1cnNp dmUgbG9ja2luZyBkZXRlY3RlZAo+ID4gPiBbMTIzMDEuODk4ODExXSA0LjIwLjAtcmM3KyAjODQg Tm90IHRhaW50ZWQKPiA+ID4gWzEyMzAxLjg5ODgxNV0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gWzEyMzAxLjg5ODgyMV0gYmFzaC81Mjk3IGlzIHRy eWluZyB0byBhY3F1aXJlIGxvY2s6Cj4gPiA+IFsxMjMwMS44OTg4MjZdIDAwMDAwMDAwZjYxYzYw OTMgKGtuLT5jb3VudCMzOSl7KysrK30sIGF0OiBrZXJuZnNfcmVtb3ZlX2J5X25hbWVfbnMrMHgz Yi8weDgwCj4gPiA+IFsxMjMwMS44OTg4NDFdIGJ1dCB0YXNrIGlzIGFscmVhZHkgaG9sZGluZyBs b2NrOgo+ID4gPiBbMTIzMDEuODk4ODQ3XSAwMDAwMDAwMDVmNjM0MDIxIChrbi0+Y291bnQjMzkp eysrKyt9LCBhdDoga2VybmZzX2ZvcF93cml0ZSsweGRjLzB4MTkwCj4gPiA+IFsxMjMwMS44OTg4 NTZdIG90aGVyIGluZm8gdGhhdCBtaWdodCBoZWxwIHVzIGRlYnVnIHRoaXM6Cj4gPiA+IFsxMjMw MS44OTg4NjJdICBQb3NzaWJsZSB1bnNhZmUgbG9ja2luZyBzY2VuYXJpbzoKPiA+ID4gWzEyMzAx Ljg5ODg2N10gICAgICAgIENQVTAKPiA+ID4gWzEyMzAxLjg5ODg3MF0gICAgICAgIC0tLS0KPiA+ ID4gWzEyMzAxLjg5ODg3NF0gICBsb2NrKGtuLT5jb3VudCMzOSk7Cj4gPiA+IFsxMjMwMS44OTg4 NzldICAgbG9jayhrbi0+Y291bnQjMzkpOwo+ID4gPiBbMTIzMDEuODk4ODgzXSAqKiogREVBRExP Q0sgKioqCj4gPiA+IFsxMjMwMS44OTg4OTFdICBNYXkgYmUgZHVlIHRvIG1pc3NpbmcgbG9jayBu ZXN0aW5nIG5vdGF0aW9uCj4gPiA+IFsxMjMwMS44OTg4OTldIDUgbG9ja3MgaGVsZCBieSBiYXNo LzUyOTc6Cj4gPiA+IFsxMjMwMS44OTg5MDNdICAjMDogMDAwMDAwMDBjZDgwMGU1NCAoc2Jfd3Jp dGVycyM0KXsuKy4rfSwgYXQ6IHZmc193cml0ZSsweDE3Zi8weDFiMAo+ID4gPiBbMTIzMDEuODk4 OTE1XSAgIzE6IDAwMDAwMDAwMDQ2NWU3YzIgKCZvZi0+bXV0ZXgpeysuKy59LCBhdDoga2VybmZz X2ZvcF93cml0ZSsweGQzLzB4MTkwCj4gPiA+IFsxMjMwMS44OTg5MjVdICAjMjogMDAwMDAwMDA1 ZjYzNDAyMSAoa24tPmNvdW50IzM5KXsrKysrfSwgYXQ6IGtlcm5mc19mb3Bfd3JpdGUrMHhkYy8w eDE5MAo+ID4gPiBbMTIzMDEuODk4OTM2XSAgIzM6IDAwMDAwMDAwNDE0ZWY3YWMgKCZkZXYtPm11 dGV4KXsuLi4ufSwgYXQ6IGRldmljZV9yZWxlYXNlX2RyaXZlcl9pbnRlcm5hbCsweDM0LzB4MjQw Cj4gPiA+IFsxMjMwMS44OTg5NTBdICAjNDogMDAwMDAwMDAzMjE4ZmJkZiAocmVnaXN0ZXJfY291 bnRfbXV0ZXgpeysuKy59LCBhdDogYWNwaV92aWRlb191bnJlZ2lzdGVyKzB4ZS8weDQwCj4gPiA+ IFsxMjMwMS44OTg5NjBdIHN0YWNrIGJhY2t0cmFjZToKPiA+ID4gWzEyMzAxLjg5ODk2OF0gQ1BV OiAxIFBJRDogNTI5NyBDb21tOiBiYXNoIE5vdCB0YWludGVkIDQuMjAuMC1yYzcrICM4NAo+ID4g PiBbMTIzMDEuODk4OTc0XSBIYXJkd2FyZSBuYW1lOiBIZXdsZXR0LVBhY2thcmQgSFAgRWxpdGVC b29rIDg0NjBwLzE2MUMsIEJJT1MgNjhTQ0YgVmVyLiBGLjAxIDAzLzExLzIwMTEKPiA+ID4gWzEy MzAxLjg5ODk4Ml0gQ2FsbCBUcmFjZToKPiA+ID4gWzEyMzAxLjg5ODk4OV0gIGR1bXBfc3RhY2sr MHg2Ny8weDliCj4gPiA+IFsxMjMwMS44OTg5OTddICBfX2xvY2tfYWNxdWlyZSsweDZhZC8weDE0 MTAKPiA+ID4gWzEyMzAxLjg5OTAwM10gID8ga2VybmZzX3JlbW92ZV9ieV9uYW1lX25zKzB4M2Iv MHg4MAo+ID4gPiBbMTIzMDEuODk5MDEwXSAgPyBmaW5kX2hlbGRfbG9jaysweDJkLzB4OTAKPiA+ ID4gWzEyMzAxLjg5OTAxN10gID8gbXV0ZXhfc3Bpbl9vbl9vd25lcisweGU0LzB4MTUwCj4gPiA+ IFsxMjMwMS44OTkwMjNdICA/IGZpbmRfaGVsZF9sb2NrKzB4MmQvMHg5MAo+ID4gPiBbMTIzMDEu ODk5MDMwXSAgPyBsb2NrX2FjcXVpcmUrMHg5MC8weDE4MAo+ID4gPiBbMTIzMDEuODk5MDM2XSAg bG9ja19hY3F1aXJlKzB4OTAvMHgxODAKPiA+ID4gWzEyMzAxLjg5OTA0Ml0gID8ga2VybmZzX3Jl bW92ZV9ieV9uYW1lX25zKzB4M2IvMHg4MAo+ID4gPiBbMTIzMDEuODk5MDQ5XSAgX19rZXJuZnNf cmVtb3ZlKzB4Mjk2LzB4MzEwCj4gPiA+IFsxMjMwMS44OTkwNTVdICA/IGtlcm5mc19yZW1vdmVf YnlfbmFtZV9ucysweDNiLzB4ODAKPiA+ID4gWzEyMzAxLjg5OTA2MF0gID8ga2VybmZzX25hbWVf aGFzaCsweGQvMHg4MAo+ID4gPiBbMTIzMDEuODk5MDY2XSAgPyBrZXJuZnNfZmluZF9ucysweDZj LzB4MTAwCj4gPiA+IFsxMjMwMS44OTkwNzNdICBrZXJuZnNfcmVtb3ZlX2J5X25hbWVfbnMrMHgz Yi8weDgwCj4gPiA+IFsxMjMwMS44OTkwODBdICBidXNfcmVtb3ZlX2RyaXZlcisweDkyLzB4YTAK PiA+ID4gWzEyMzAxLjg5OTA4NV0gIGFjcGlfdmlkZW9fdW5yZWdpc3RlcisweDI0LzB4NDAKPiA+ ID4gWzEyMzAxLjg5OTEyN10gIGk5MTVfZHJpdmVyX3VubG9hZCsweDQyLzB4MTMwIFtpOTE1XQo+ ID4gPiBbMTIzMDEuODk5MTYwXSAgaTkxNV9wY2lfcmVtb3ZlKzB4MTkvMHgzMCBbaTkxNV0KPiA+ ID4gWzEyMzAxLjg5OTE2OV0gIHBjaV9kZXZpY2VfcmVtb3ZlKzB4MzYvMHhiMAo+ID4gPiBbMTIz MDEuODk5MTc2XSAgZGV2aWNlX3JlbGVhc2VfZHJpdmVyX2ludGVybmFsKzB4MTg1LzB4MjQwCj4g PiA+IFsxMjMwMS44OTkxODNdICB1bmJpbmRfc3RvcmUrMHhhZi8weDE4MAo+ID4gPiBbMTIzMDEu ODk5MTg5XSAga2VybmZzX2ZvcF93cml0ZSsweDEwNC8weDE5MAo+ID4gPiBbMTIzMDEuODk5MTk1 XSAgX192ZnNfd3JpdGUrMHgzMS8weDE4MAo+ID4gPiBbMTIzMDEuODk5MjAzXSAgPyByY3VfcmVh ZF9sb2NrX3NjaGVkX2hlbGQrMHg2Zi8weDgwCj4gPiA+IFsxMjMwMS44OTkyMDldICA/IHJjdV9z eW5jX2xvY2tkZXBfYXNzZXJ0KzB4MjkvMHg1MAo+ID4gPiBbMTIzMDEuODk5MjE2XSAgPyBfX3Ni X3N0YXJ0X3dyaXRlKzB4MTNjLzB4MWEwCj4gPiA+IFsxMjMwMS44OTkyMjFdICA/IHZmc193cml0 ZSsweDE3Zi8weDFiMAo+ID4gPiBbMTIzMDEuODk5MjI3XSAgdmZzX3dyaXRlKzB4YjkvMHgxYjAK PiA+ID4gWzEyMzAxLjg5OTIzM10gIGtzeXNfd3JpdGUrMHg1MC8weGMwCj4gPiA+IFsxMjMwMS44 OTkyMzldICBkb19zeXNjYWxsXzY0KzB4NGIvMHgxODAKPiA+ID4gWzEyMzAxLjg5OTI0N10gIGVu dHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ5LzB4YmUKPiA+ID4gWzEyMzAxLjg5OTI1 M10gUklQOiAwMDMzOjB4N2Y0NTJhYzdmN2E0Cj4gPiA+IFsxMjMwMS44OTkyNTldIENvZGU6IDAw IGY3IGQ4IDY0IDg5IDAyIDQ4IGM3IGMwIGZmIGZmIGZmIGZmIGViIGI3IDBmIDFmIDgwIDAwIDAw IDAwIDAwIDhiIDA1IGFhIGYwIDJjIDAwIDQ4IDYzIGZmIDg1IGMwIDc1IDEzIGI4IDAxIDAwIDAw IDAwIDBmIDA1IDw0OD4gM2QgMDAgZjAgZmYgZmYgNzcgNTQgZjMgYzMgNjYgOTAgNTUgNTMgNDgg ODkgZDUgNDggODkgZjMgNDggODMKPiA+ID4gWzEyMzAxLjg5OTI3M10gUlNQOiAwMDJiOjAwMDA3 ZmZjZWFmYTY5MTggRUZMQUdTOiAwMDAwMDI0NiBPUklHX1JBWDogMDAwMDAwMDAwMDAwMDAwMQo+ ID4gPiBbMTIzMDEuODk5MjgyXSBSQVg6IGZmZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwMDAwMDAw MDAwMDBkIFJDWDogMDAwMDdmNDUyYWM3ZjdhNAo+ID4gPiBbMTIzMDEuODk5Mjg4XSBSRFg6IDAw MDAwMDAwMDAwMDAwMGQgUlNJOiAwMDAwNTYxMmExYWJmN2MwIFJESTogMDAwMDAwMDAwMDAwMDAw MQo+ID4gPiBbMTIzMDEuODk5Mjk1XSBSQlA6IDAwMDA1NjEyYTFhYmY3YzAgUjA4OiAwMDAwMDAw MDAwMDAwMDBhIFIwOTogMDAwMDU2MTJhMWM0NjczMAo+ID4gPiBbMTIzMDEuODk5MzAxXSBSMTA6 IDAwMDAwMDAwMDAwMDAwMGEgUjExOiAwMDAwMDAwMDAwMDAwMjQ2IFIxMjogMDAwMDAwMDAwMDAw MDAwZAo+ID4gPiBbMTIzMDEuODk5MzA4XSBSMTM6IDAwMDAwMDAwMDAwMDAwMDEgUjE0OiAwMDAw N2Y0NTJhZjRhNzQwIFIxNTogMDAwMDAwMDAwMDAwMDAwZAo+ID4gPgo+ID4gPiBMb2NraW5nIGFy b3VuZCBJJ3ZlIG5vdGljZWQgdGhhdCB1c2IgYW5kIGkyYyBhbHJlYWR5IGhhbmRsZSBzaW1pbGFy Cj4gPiA+IHJlY3Vyc2lvbiBwcm9ibGVtcywgd2hlcmUgYSBzeXNmcyBmaWxlIGNhbiB1bmJpbmQg dGhlIHNhbWUgdHlwZSBvZgo+ID4gPiBzeXNmcyBzb21ld2hlcmUgZWxzZSBpbiB0aGUgaGllcmFy Y2h5LiBSZWxldmFudCBjb21taXRzIGFyZToKPiA+ID4KPiA+ID4gY29tbWl0IDM1NmMwNWQ1OGFm MDVkNTgyZTYzNGI1NGI0MDA1MGM3MzYwOTYxN2IKPiA+ID4gQXV0aG9yOiBBbGFuIFN0ZXJuIDxz dGVybkByb3dsYW5kLmhhcnZhcmQuZWR1Pgo+ID4gPiBEYXRlOiAgIE1vbiBNYXkgMTQgMTM6MzA6 MDMgMjAxMiAtMDQwMAo+ID4gPgo+ID4gPiAgICAgc3lzZnM6IGdldCByaWQgb2Ygc29tZSBsb2Nr ZGVwIGZhbHNlIHBvc2l0aXZlcwo+ID4gPgo+ID4gPiBjb21taXQgZTliNTI2ZmU3MDQ4MTIzNjRi Y2EwN2VkZDE1ZWFkZWJhMTYzZWJmYgo+ID4gPiBBdXRob3I6IEFsZXhhbmRlciBTdmVyZGxpbiA8 YWxleGFuZGVyLnN2ZXJkbGluQG5zbi5jb20+Cj4gPiA+IERhdGU6ICAgRnJpIE1heSAxNyAxNDo1 NjozNSAyMDEzICswMjAwCj4gPiA+Cj4gPiA+ICAgICBpMmM6IHN1cHByZXNzIGxvY2tkZXAgd2Fy bmluZyBvbiBkZWxldGVfZGV2aWNlCj4gPiA+Cj4gPiA+IEltcGxlbWVudCB0aGUgc2FtZSB0cmlj ayBmb3IgZHJpdmVyIGJpbmQvdW5iaW5kLgo+ID4gPgo+ID4gPiBDYzogIlJhZmFlbCBKLiBXeXNv Y2tpIiA8cmFmYWVsQGtlcm5lbC5vcmc+Cj4gPiA+IENjOiBHcmVnIEtyb2FoLUhhcnRtYW4gPGdy ZWdraEBsaW51eGZvdW5kYXRpb24ub3JnPgo+ID4gPiBDYzogUmFtYWxpbmdhbSBDIDxyYW1hbGlu Z2FtLmNAaW50ZWwuY29tPgo+ID4gPiBDYzogQXJlbmQgdmFuIFNwcmllbCA8YXNwcmllbEBnbWFp bC5jb20+Cj4gPiA+IENjOiBBbmR5IFNoZXZjaGVua28gPGFuZHJpeS5zaGV2Y2hlbmtvQGxpbnV4 LmludGVsLmNvbT4KPiA+ID4gQ2M6IEdlZXJ0IFV5dHRlcmhvZXZlbiA8Z2VlcnQrcmVuZXNhc0Bn bGlkZXIuYmU+Cj4gPiA+IENjOiBCYXJ0b3N6IEdvbGFzemV3c2tpIDxicmdsQGJnZGV2LnBsPgo+ ID4gPiBDYzogSGVpa2tpIEtyb2dlcnVzIDxoZWlra2kua3JvZ2VydXNAbGludXguaW50ZWwuY29t Pgo+ID4gPiBDYzogVml2ZWsgR2F1dGFtIDx2aXZlay5nYXV0YW1AY29kZWF1cm9yYS5vcmc+Cj4g PiA+IENjOiBKb2UgUGVyY2hlcyA8am9lQHBlcmNoZXMuY29tPgo+ID4gPiBTaWduZWQtb2ZmLWJ5 OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiA+ID4gLS0tCj4gPiA+ ICBkcml2ZXJzL2Jhc2UvYnVzLmMgICAgIHwgNCArKy0tCj4gPiA+ICBpbmNsdWRlL2xpbnV4L2Rl dmljZS5oIHwgNCArKysrCj4gPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwg MiBkZWxldGlvbnMoLSkKPiA+ID4KPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmFzZS9idXMu YyBiL2RyaXZlcnMvYmFzZS9idXMuYwo+ID4gPiBpbmRleCA4YmZkMjdlYzczZDYuLjVkMjQxMWI4 NDhjZCAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9iYXNlL2J1cy5jCj4gPiA+ICsrKyBiL2Ry aXZlcnMvYmFzZS9idXMuYwo+ID4gPiBAQCAtMTk1LDcgKzE5NSw3IEBAIHN0YXRpYyBzc2l6ZV90 IHVuYmluZF9zdG9yZShzdHJ1Y3QgZGV2aWNlX2RyaXZlciAqZHJ2LCBjb25zdCBjaGFyICpidWYs Cj4gPiA+ICAgICAgIGJ1c19wdXQoYnVzKTsKPiA+ID4gICAgICAgcmV0dXJuIGVycjsKPiA+ID4g IH0KPiA+ID4gLXN0YXRpYyBEUklWRVJfQVRUUl9XTyh1bmJpbmQpOwo+ID4gPiArc3RhdGljIERS SVZFUl9BVFRSX0lHTk9SRV9MT0NLREVQKHVuYmluZCwgU19JV1VTUiwgTlVMTCwgdW5iaW5kX3N0 b3JlKTsKPiA+ID4KPiA+ID4gIC8qCj4gPiA+ICAgKiBNYW51YWxseSBhdHRhY2ggYSBkZXZpY2Ug dG8gYSBkcml2ZXIuCj4gPiA+IEBAIC0yMzEsNyArMjMxLDcgQEAgc3RhdGljIHNzaXplX3QgYmlu ZF9zdG9yZShzdHJ1Y3QgZGV2aWNlX2RyaXZlciAqZHJ2LCBjb25zdCBjaGFyICpidWYsCj4gPiA+ ICAgICAgIGJ1c19wdXQoYnVzKTsKPiA+ID4gICAgICAgcmV0dXJuIGVycjsKPiA+ID4gIH0KPiA+ ID4gLXN0YXRpYyBEUklWRVJfQVRUUl9XTyhiaW5kKTsKPiA+ID4gK3N0YXRpYyBEUklWRVJfQVRU Ul9JR05PUkVfTE9DS0RFUChiaW5kLCBTX0lXVVNSLCBOVUxMLCBiaW5kX3N0b3JlKTsKPiA+ID4K PiA+ID4gIHN0YXRpYyBzc2l6ZV90IHNob3dfZHJpdmVyc19hdXRvcHJvYmUoc3RydWN0IGJ1c190 eXBlICpidXMsIGNoYXIgKmJ1ZikKPiA+ID4gIHsKPiA+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUv bGludXgvZGV2aWNlLmggYi9pbmNsdWRlL2xpbnV4L2RldmljZS5oCj4gPiA+IGluZGV4IDFiMjVj N2E0M2Y0Yy4uZDJjYjFhNmM1ZDk1IDEwMDY0NAo+ID4gPiAtLS0gYS9pbmNsdWRlL2xpbnV4L2Rl dmljZS5oCj4gPiA+ICsrKyBiL2luY2x1ZGUvbGludXgvZGV2aWNlLmgKPiA+ID4gQEAgLTMyNiw2 ICszMjYsMTAgQEAgc3RydWN0IGRyaXZlcl9hdHRyaWJ1dGUgewo+ID4gPiAgICAgICBzdHJ1Y3Qg ZHJpdmVyX2F0dHJpYnV0ZSBkcml2ZXJfYXR0cl8jI19uYW1lID0gX19BVFRSX1JPKF9uYW1lKQo+ ID4gPiAgI2RlZmluZSBEUklWRVJfQVRUUl9XTyhfbmFtZSkgXAo+ID4gPiAgICAgICBzdHJ1Y3Qg ZHJpdmVyX2F0dHJpYnV0ZSBkcml2ZXJfYXR0cl8jI19uYW1lID0gX19BVFRSX1dPKF9uYW1lKQo+ ID4gPiArI2RlZmluZSBEUklWRVJfQVRUUl9JR05PUkVfTE9DS0RFUChfbmFtZSwgX21vZGUsIF9z aG93LCBfc3RvcmUpIFwKPiA+ID4gKyAgICAgc3RydWN0IGRyaXZlcl9hdHRyaWJ1dGUgZHJpdmVy X2F0dHJfIyNfbmFtZSA9ICAgICAgICAgICBcCj4gPiA+ICsgICAgICAgICAgICAgX19BVFRSX0lH Tk9SRV9MT0NLREVQKF9uYW1lLCBfbW9kZSwgX3Nob3csIF9zdG9yZSkKPiA+ID4gKwo+ID4KPiA+ IEkgZG9uJ3Qgd2FudCB0byBnaXZlIGRyaXZlciB3cml0ZXJzIHRoZSBhYmlsaXR5IHRvIHNob290 IHRoZW1zZWx2ZXMgaW4KPiA+IHRoZSBmb290LCBjYW4geW91IGp1c3QgcHV0IHRoaXMgaW4gdGhl IGJ1cy5jIGZpbGUgaXRzZWxmIHNvIHRoYXQgbm8gb25lCj4gPiBlbHNlIHdpbGwgYWJ1c2UgdGhp cyBhbmQgIm9wZW4gY29kZSIgdGhlIHVuYmluZC9iaW5kIGF0dHJpYnV0ZXMgaW5zdGVhZAo+ID4g b2YgdXNpbmcgYSAjZGVmaW5lIGZvciBpdD8KPiAKPiBHb29kIHBvaW50LCBidXQgYW55IGF0dHJp YnV0ZSBzdGFydGluZyBhIGRyaXZlciB1bmJpbmQgdmlhIHN5c2ZzIHdpbGwKPiBuZWVkIHRoaXMs IHdvbid0IGl0PwoKQW5kIGhvdyBtYW55IG9mIHRob3NlIGFyZSB0aGVyZT8gIDopCgo+ID4gQWxz byBJJ3ZlIGJlZW4gdHJ5aW5nIHRvIGdldCByaWQgb2YgdGhlICJzcGVjaWZ5IHRoZSBtb2RlIiBt YWNyb3MsIHNvCj4gPiB0aGF0IGV2ZXJ5b25lIHVzZXMgdGhlIFJPLCBXTywgYW5kIFJXIHZlcnNp b25zLCBzbyBhZGRpbmcgYSBnZW5lcmljIG9uZQo+ID4gaGVyZSBpcyBub3QgZ29pbmcgdG8gaGVs cCB3aXRoIHRoYXQgZWZmb3J0IDopCj4gCj4gQnV0IGlmIHRoYXQgZ29lcyBpbnRvIGJ1cy5jIGRp cmVjdGx5LCB0aGUgbW9kZSBhcmcgZG9lc24ndCBodXJ0IElNTwo+IGFuZCBvbmUgbWFjcm8gd291 bGQgYmUgc3VmZmljaWVudCB0byBjb3ZlciBib3RoIGF0dHJzLgoKT25lIG1hY3JvIGluIGJ1cy5j IGlzIGZpbmUsIGp1c3QgZG9uJ3QgcHV0IGl0IGluIGRldmljZS5oLgoKdGhhbmtzLAoKZ3JlZyBr LWgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.6 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A1283C43387 for ; Wed, 19 Dec 2018 09:44:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4446C20873 for ; Wed, 19 Dec 2018 09:44:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1545212679; bh=I1wTjP1gcc3AEKS9lkn8dFuglPD7s0hNIfhTy2hxdpk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=eoaGXqBgiwfygCRxeP/qK8JHJTPcYbmVdjUHAWKdI8gGbT9OjI+d5wovYcOzWbz+l OhqvOPuuGLy9j3oOQMgSoIDtiUDGydZ0aHBOhcOSDDvmlR9qdyboePKwYGkgBfpOrT WtXFAaGg/Sfz5Y9yEqS85WxCiprt1ITaEIUJC1hs= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728602AbeLSJoh (ORCPT ); Wed, 19 Dec 2018 04:44:37 -0500 Received: from mail.kernel.org ([198.145.29.99]:39836 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726537AbeLSJoh (ORCPT ); Wed, 19 Dec 2018 04:44:37 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 636CD20873; Wed, 19 Dec 2018 09:44:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1545212675; bh=I1wTjP1gcc3AEKS9lkn8dFuglPD7s0hNIfhTy2hxdpk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=kAn53Sd87668GGi2WFRKbqdhmvfJYyjS8vzb4724mCYhq6VUErtuKhf0dWoChQfQV ka2wd2rLB+UjTbKfv28qT6HVUBpycXe8nJuXTL27osYx2rCm+kyIiLDPKZD3Pc6mPO wOpGgrUKd8K11Orwsw09P14ksR07ZUly4Y7BIzak= Date: Wed, 19 Dec 2018 10:44:33 +0100 From: Greg Kroah-Hartman To: "Rafael J. Wysocki" Cc: Daniel Vetter , dri-devel , intel-gfx , Linux Kernel Mailing List , ramalingam.c@intel.com, aspriel@gmail.com, Andy Shevchenko , Geert Uytterhoeven , brgl@bgdev.pl, Heikki Krogerus , Vivek Gautam , Joe Perches , Daniel Vetter Subject: Re: [PATCH] sysfs: Disable lockdep for driver bind/unbind files Message-ID: <20181219094433.GA11441@kroah.com> References: <20181218201443.4950-1-daniel.vetter@ffwll.ch> <20181219070110.GB21256@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.11.1 (2018-12-01) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Dec 19, 2018 at 10:24:51AM +0100, Rafael J. Wysocki wrote: > On Wed, Dec 19, 2018 at 8:01 AM Greg Kroah-Hartman > wrote: > > > > On Tue, Dec 18, 2018 at 09:14:43PM +0100, Daniel Vetter wrote: > > > This is the much more correct fix for my earlier attempt at: > > > > > > https://lkml.org/lkml/2018/12/10/118 > > > > > > Short recap: > > > > > > - There's not actually a locking issue, it's just lockdep being a bit > > > too eager to complain about a possible deadlock. > > > > > > - Contrary to what I claimed the real problem is recursion on > > > kn->count. Greg pointed me at sysfs_break_active_protection(), used > > > by the scsi subsystem to allow a sysfs file to unbind itself. That > > > would be a real deadlock, which isn't what's happening here. Also, > > > breaking the active protection means we'd need to manually handle > > > all the lifetime fun. > > > > > > - With Rafael we discussed the task_work approach, which kinda works, > > > but has two downsides: It's a functional change for a lockdep > > > annotation issue, and it won't work for the bind file (which needs > > > to get the errno from the driver load function back to userspace). > > > > > > - Greg also asked why this never showed up: To hit this you need to > > > unregister a 2nd driver from the unload code of your first driver. I > > > guess only gpus do that. The bug has always been there, but only > > > with a recent patch series did we add more locks so that lockdep > > > built a chain from unbinding the snd-hda driver to the > > > acpi_video_unregister call. > > > > > > Full lockdep splat: > > > > > > [12301.898799] ============================================ > > > [12301.898805] WARNING: possible recursive locking detected > > > [12301.898811] 4.20.0-rc7+ #84 Not tainted > > > [12301.898815] -------------------------------------------- > > > [12301.898821] bash/5297 is trying to acquire lock: > > > [12301.898826] 00000000f61c6093 (kn->count#39){++++}, at: kernfs_remove_by_name_ns+0x3b/0x80 > > > [12301.898841] but task is already holding lock: > > > [12301.898847] 000000005f634021 (kn->count#39){++++}, at: kernfs_fop_write+0xdc/0x190 > > > [12301.898856] other info that might help us debug this: > > > [12301.898862] Possible unsafe locking scenario: > > > [12301.898867] CPU0 > > > [12301.898870] ---- > > > [12301.898874] lock(kn->count#39); > > > [12301.898879] lock(kn->count#39); > > > [12301.898883] *** DEADLOCK *** > > > [12301.898891] May be due to missing lock nesting notation > > > [12301.898899] 5 locks held by bash/5297: > > > [12301.898903] #0: 00000000cd800e54 (sb_writers#4){.+.+}, at: vfs_write+0x17f/0x1b0 > > > [12301.898915] #1: 000000000465e7c2 (&of->mutex){+.+.}, at: kernfs_fop_write+0xd3/0x190 > > > [12301.898925] #2: 000000005f634021 (kn->count#39){++++}, at: kernfs_fop_write+0xdc/0x190 > > > [12301.898936] #3: 00000000414ef7ac (&dev->mutex){....}, at: device_release_driver_internal+0x34/0x240 > > > [12301.898950] #4: 000000003218fbdf (register_count_mutex){+.+.}, at: acpi_video_unregister+0xe/0x40 > > > [12301.898960] stack backtrace: > > > [12301.898968] CPU: 1 PID: 5297 Comm: bash Not tainted 4.20.0-rc7+ #84 > > > [12301.898974] Hardware name: Hewlett-Packard HP EliteBook 8460p/161C, BIOS 68SCF Ver. F.01 03/11/2011 > > > [12301.898982] Call Trace: > > > [12301.898989] dump_stack+0x67/0x9b > > > [12301.898997] __lock_acquire+0x6ad/0x1410 > > > [12301.899003] ? kernfs_remove_by_name_ns+0x3b/0x80 > > > [12301.899010] ? find_held_lock+0x2d/0x90 > > > [12301.899017] ? mutex_spin_on_owner+0xe4/0x150 > > > [12301.899023] ? find_held_lock+0x2d/0x90 > > > [12301.899030] ? lock_acquire+0x90/0x180 > > > [12301.899036] lock_acquire+0x90/0x180 > > > [12301.899042] ? kernfs_remove_by_name_ns+0x3b/0x80 > > > [12301.899049] __kernfs_remove+0x296/0x310 > > > [12301.899055] ? kernfs_remove_by_name_ns+0x3b/0x80 > > > [12301.899060] ? kernfs_name_hash+0xd/0x80 > > > [12301.899066] ? kernfs_find_ns+0x6c/0x100 > > > [12301.899073] kernfs_remove_by_name_ns+0x3b/0x80 > > > [12301.899080] bus_remove_driver+0x92/0xa0 > > > [12301.899085] acpi_video_unregister+0x24/0x40 > > > [12301.899127] i915_driver_unload+0x42/0x130 [i915] > > > [12301.899160] i915_pci_remove+0x19/0x30 [i915] > > > [12301.899169] pci_device_remove+0x36/0xb0 > > > [12301.899176] device_release_driver_internal+0x185/0x240 > > > [12301.899183] unbind_store+0xaf/0x180 > > > [12301.899189] kernfs_fop_write+0x104/0x190 > > > [12301.899195] __vfs_write+0x31/0x180 > > > [12301.899203] ? rcu_read_lock_sched_held+0x6f/0x80 > > > [12301.899209] ? rcu_sync_lockdep_assert+0x29/0x50 > > > [12301.899216] ? __sb_start_write+0x13c/0x1a0 > > > [12301.899221] ? vfs_write+0x17f/0x1b0 > > > [12301.899227] vfs_write+0xb9/0x1b0 > > > [12301.899233] ksys_write+0x50/0xc0 > > > [12301.899239] do_syscall_64+0x4b/0x180 > > > [12301.899247] entry_SYSCALL_64_after_hwframe+0x49/0xbe > > > [12301.899253] RIP: 0033:0x7f452ac7f7a4 > > > [12301.899259] Code: 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 80 00 00 00 00 8b 05 aa f0 2c 00 48 63 ff 85 c0 75 13 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 54 f3 c3 66 90 55 53 48 89 d5 48 89 f3 48 83 > > > [12301.899273] RSP: 002b:00007ffceafa6918 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 > > > [12301.899282] RAX: ffffffffffffffda RBX: 000000000000000d RCX: 00007f452ac7f7a4 > > > [12301.899288] RDX: 000000000000000d RSI: 00005612a1abf7c0 RDI: 0000000000000001 > > > [12301.899295] RBP: 00005612a1abf7c0 R08: 000000000000000a R09: 00005612a1c46730 > > > [12301.899301] R10: 000000000000000a R11: 0000000000000246 R12: 000000000000000d > > > [12301.899308] R13: 0000000000000001 R14: 00007f452af4a740 R15: 000000000000000d > > > > > > Locking around I've noticed that usb and i2c already handle similar > > > recursion problems, where a sysfs file can unbind the same type of > > > sysfs somewhere else in the hierarchy. Relevant commits are: > > > > > > commit 356c05d58af05d582e634b54b40050c73609617b > > > Author: Alan Stern > > > Date: Mon May 14 13:30:03 2012 -0400 > > > > > > sysfs: get rid of some lockdep false positives > > > > > > commit e9b526fe704812364bca07edd15eadeba163ebfb > > > Author: Alexander Sverdlin > > > Date: Fri May 17 14:56:35 2013 +0200 > > > > > > i2c: suppress lockdep warning on delete_device > > > > > > Implement the same trick for driver bind/unbind. > > > > > > Cc: "Rafael J. Wysocki" > > > Cc: Greg Kroah-Hartman > > > Cc: Ramalingam C > > > Cc: Arend van Spriel > > > Cc: Andy Shevchenko > > > Cc: Geert Uytterhoeven > > > Cc: Bartosz Golaszewski > > > Cc: Heikki Krogerus > > > Cc: Vivek Gautam > > > Cc: Joe Perches > > > Signed-off-by: Daniel Vetter > > > --- > > > drivers/base/bus.c | 4 ++-- > > > include/linux/device.h | 4 ++++ > > > 2 files changed, 6 insertions(+), 2 deletions(-) > > > > > > diff --git a/drivers/base/bus.c b/drivers/base/bus.c > > > index 8bfd27ec73d6..5d2411b848cd 100644 > > > --- a/drivers/base/bus.c > > > +++ b/drivers/base/bus.c > > > @@ -195,7 +195,7 @@ static ssize_t unbind_store(struct device_driver *drv, const char *buf, > > > bus_put(bus); > > > return err; > > > } > > > -static DRIVER_ATTR_WO(unbind); > > > +static DRIVER_ATTR_IGNORE_LOCKDEP(unbind, S_IWUSR, NULL, unbind_store); > > > > > > /* > > > * Manually attach a device to a driver. > > > @@ -231,7 +231,7 @@ static ssize_t bind_store(struct device_driver *drv, const char *buf, > > > bus_put(bus); > > > return err; > > > } > > > -static DRIVER_ATTR_WO(bind); > > > +static DRIVER_ATTR_IGNORE_LOCKDEP(bind, S_IWUSR, NULL, bind_store); > > > > > > static ssize_t show_drivers_autoprobe(struct bus_type *bus, char *buf) > > > { > > > diff --git a/include/linux/device.h b/include/linux/device.h > > > index 1b25c7a43f4c..d2cb1a6c5d95 100644 > > > --- a/include/linux/device.h > > > +++ b/include/linux/device.h > > > @@ -326,6 +326,10 @@ struct driver_attribute { > > > struct driver_attribute driver_attr_##_name = __ATTR_RO(_name) > > > #define DRIVER_ATTR_WO(_name) \ > > > struct driver_attribute driver_attr_##_name = __ATTR_WO(_name) > > > +#define DRIVER_ATTR_IGNORE_LOCKDEP(_name, _mode, _show, _store) \ > > > + struct driver_attribute driver_attr_##_name = \ > > > + __ATTR_IGNORE_LOCKDEP(_name, _mode, _show, _store) > > > + > > > > I don't want to give driver writers the ability to shoot themselves in > > the foot, can you just put this in the bus.c file itself so that no one > > else will abuse this and "open code" the unbind/bind attributes instead > > of using a #define for it? > > Good point, but any attribute starting a driver unbind via sysfs will > need this, won't it? And how many of those are there? :) > > Also I've been trying to get rid of the "specify the mode" macros, so > > that everyone uses the RO, WO, and RW versions, so adding a generic one > > here is not going to help with that effort :) > > But if that goes into bus.c directly, the mode arg doesn't hurt IMO > and one macro would be sufficient to cover both attrs. One macro in bus.c is fine, just don't put it in device.h. thanks, greg k-h