From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753628AbaAWNip (ORCPT ); Thu, 23 Jan 2014 08:38:45 -0500 Received: from mga09.intel.com ([134.134.136.24]:61612 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751935AbaAWNin (ORCPT ); Thu, 23 Jan 2014 08:38:43 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.95,706,1384329600"; d="scan'208";a="443458196" From: "Shevchenko, Andriy" To: Lars-Peter Clausen CC: Srikanth Thokala , "Williams, Dan J" , "Koul, Vinod" , "michal.simek@xilinx.com" , "grant.likely@linaro.org" , "robh+dt@kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "devicetree@vger.kernel.org" , "dmaengine@vger.kernel.org" Subject: Re: [PATCH v2] dma: Add Xilinx AXI Video Direct Memory Access Engine driver support Thread-Topic: [PATCH v2] dma: Add Xilinx AXI Video Direct Memory Access Engine driver support Thread-Index: AQHPGEBrkYhUftUf0k+A2fvAkjPdqg== Date: Thu, 23 Jan 2014 13:38:37 +0000 Message-ID: <1390484317.7619.81.camel@smile> References: <1390409565-4200-1-git-send-email-sthokal@xilinx.com> <1390409565-4200-2-git-send-email-sthokal@xilinx.com> <52E0FC22.8060903@metafoo.de> In-Reply-To: <52E0FC22.8060903@metafoo.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.237.72.173] Content-Type: text/plain; charset="utf-8" Content-ID: MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id s0NDcp7H023911 On Thu, 2014-01-23 at 12:25 +0100, Lars-Peter Clausen wrote: > On 01/22/2014 05:52 PM, Srikanth Thokala wrote: [...] > > + /* Request the interrupt */ > > + chan->irq = irq_of_parse_and_map(node, 0); > > + err = devm_request_irq(xdev->dev, chan->irq, xilinx_vdma_irq_handler, > > + IRQF_SHARED, "xilinx-vdma-controller", chan); > > This is a clasic example of where to not use devm_request_irq. 'chan' is > accessed in the interrupt handler, but if you use devm_request_irq 'chan' > will be freed before the interrupt handler has been released, which means > there is now a race condition where the interrupt handler can access already > freed memory. Could you elaborate this case? As far as I understood managed resources are a kind of stack pile. In this case you have no such condition. Where am I wrong? -- Andy Shevchenko Intel Finland Oy --------------------------------------------------------------------- Intel Finland Oy Registered Address: PL 281, 00181 Helsinki Business Identity Code: 0357606 - 4 Domiciled in Helsinki This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Shevchenko, Andriy" Subject: Re: [PATCH v2] dma: Add Xilinx AXI Video Direct Memory Access Engine driver support Date: Thu, 23 Jan 2014 13:38:37 +0000 Message-ID: <1390484317.7619.81.camel@smile> References: <1390409565-4200-1-git-send-email-sthokal@xilinx.com> <1390409565-4200-2-git-send-email-sthokal@xilinx.com> <52E0FC22.8060903@metafoo.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <52E0FC22.8060903-Qo5EllUWu/uELgA04lAiVw@public.gmane.org> Content-Language: en-US Content-ID: Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Lars-Peter Clausen Cc: Srikanth Thokala , "Williams, Dan J" , "Koul, Vinod" , "michal.simek-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org" , "grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org" , "robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org" , "linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org" , "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" List-Id: devicetree@vger.kernel.org T24gVGh1LCAyMDE0LTAxLTIzIGF0IDEyOjI1ICswMTAwLCBMYXJzLVBldGVyIENsYXVzZW4gd3Jv dGU6DQo+IE9uIDAxLzIyLzIwMTQgMDU6NTIgUE0sIFNyaWthbnRoIFRob2thbGEgd3JvdGU6DQoN ClsuLi5dDQoNCj4gPiArCS8qIFJlcXVlc3QgdGhlIGludGVycnVwdCAqLw0KPiA+ICsJY2hhbi0+ aXJxID0gaXJxX29mX3BhcnNlX2FuZF9tYXAobm9kZSwgMCk7DQo+ID4gKwllcnIgPSBkZXZtX3Jl cXVlc3RfaXJxKHhkZXYtPmRldiwgY2hhbi0+aXJxLCB4aWxpbnhfdmRtYV9pcnFfaGFuZGxlciwN Cj4gPiArCQkJICAgICAgIElSUUZfU0hBUkVELCAieGlsaW54LXZkbWEtY29udHJvbGxlciIsIGNo YW4pOw0KPiANCj4gVGhpcyBpcyBhIGNsYXNpYyBleGFtcGxlIG9mIHdoZXJlIHRvIG5vdCB1c2Ug ZGV2bV9yZXF1ZXN0X2lycS4gJ2NoYW4nIGlzDQo+IGFjY2Vzc2VkIGluIHRoZSBpbnRlcnJ1cHQg aGFuZGxlciwgYnV0IGlmIHlvdSB1c2UgZGV2bV9yZXF1ZXN0X2lycSAnY2hhbicNCj4gd2lsbCBi ZSBmcmVlZCBiZWZvcmUgdGhlIGludGVycnVwdCBoYW5kbGVyIGhhcyBiZWVuIHJlbGVhc2VkLCB3 aGljaCBtZWFucw0KPiB0aGVyZSBpcyBub3cgYSByYWNlIGNvbmRpdGlvbiB3aGVyZSB0aGUgaW50 ZXJydXB0IGhhbmRsZXIgY2FuIGFjY2VzcyBhbHJlYWR5DQo+IGZyZWVkIG1lbW9yeS4NCg0KQ291 bGQgeW91IGVsYWJvcmF0ZSB0aGlzIGNhc2U/IEFzIGZhciBhcyBJIHVuZGVyc3Rvb2QgbWFuYWdl ZCByZXNvdXJjZXMNCmFyZSBhIGtpbmQgb2Ygc3RhY2sgcGlsZS4gSW4gdGhpcyBjYXNlIHlvdSBo YXZlIG5vIHN1Y2ggY29uZGl0aW9uLiBXaGVyZQ0KYW0gSSB3cm9uZz8NCg0KDQotLSANCkFuZHkg U2hldmNoZW5rbyA8YW5kcml5LnNoZXZjaGVua29AaW50ZWwuY29tPg0KSW50ZWwgRmlubGFuZCBP eQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCkludGVsIEZpbmxhbmQgT3kKUmVnaXN0ZXJlZCBBZGRyZXNzOiBQTCAy ODEsIDAwMTgxIEhlbHNpbmtpIApCdXNpbmVzcyBJZGVudGl0eSBDb2RlOiAwMzU3NjA2IC0gNCAK RG9taWNpbGVkIGluIEhlbHNpbmtpIAoKVGhpcyBlLW1haWwgYW5kIGFueSBhdHRhY2htZW50cyBt YXkgY29udGFpbiBjb25maWRlbnRpYWwgbWF0ZXJpYWwgZm9yCnRoZSBzb2xlIHVzZSBvZiB0aGUg aW50ZW5kZWQgcmVjaXBpZW50KHMpLiBBbnkgcmV2aWV3IG9yIGRpc3RyaWJ1dGlvbgpieSBvdGhl cnMgaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4gSWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkCnJl Y2lwaWVudCwgcGxlYXNlIGNvbnRhY3QgdGhlIHNlbmRlciBhbmQgZGVsZXRlIGFsbCBjb3BpZXMu Cg== -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 From: andriy.shevchenko@intel.com (Shevchenko, Andriy) Date: Thu, 23 Jan 2014 13:38:37 +0000 Subject: [PATCH v2] dma: Add Xilinx AXI Video Direct Memory Access Engine driver support In-Reply-To: <52E0FC22.8060903@metafoo.de> References: <1390409565-4200-1-git-send-email-sthokal@xilinx.com> <1390409565-4200-2-git-send-email-sthokal@xilinx.com> <52E0FC22.8060903@metafoo.de> Message-ID: <1390484317.7619.81.camel@smile> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, 2014-01-23 at 12:25 +0100, Lars-Peter Clausen wrote: > On 01/22/2014 05:52 PM, Srikanth Thokala wrote: [...] > > + /* Request the interrupt */ > > + chan->irq = irq_of_parse_and_map(node, 0); > > + err = devm_request_irq(xdev->dev, chan->irq, xilinx_vdma_irq_handler, > > + IRQF_SHARED, "xilinx-vdma-controller", chan); > > This is a clasic example of where to not use devm_request_irq. 'chan' is > accessed in the interrupt handler, but if you use devm_request_irq 'chan' > will be freed before the interrupt handler has been released, which means > there is now a race condition where the interrupt handler can access already > freed memory. Could you elaborate this case? As far as I understood managed resources are a kind of stack pile. In this case you have no such condition. Where am I wrong? -- Andy Shevchenko Intel Finland Oy --------------------------------------------------------------------- Intel Finland Oy Registered Address: PL 281, 00181 Helsinki Business Identity Code: 0357606 - 4 Domiciled in Helsinki This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.