Messages in this thread | | | Date | Tue, 27 Jul 2021 18:01:36 +0200 | From | Filip Schauer <> | Subject | Re: [PATCH] drivers core: Fix oops when driver probe fails |
| |
On Tue, Jul 27, 2021 at 02:31:10PM +0200, Greg KH wrote: > On Tue, Jul 27, 2021 at 01:23:11PM +0200, Filip Schauer wrote: > > dma_range_map is freed to early, which might cause an oops when > > a driver probe fails. > > Call trace: > > is_free_buddy_page+0xe4/0x1d4 > > __free_pages+0x2c/0x88 > > dma_free_contiguous+0x64/0x80 > > dma_direct_free+0x38/0xb4 > > dma_free_attrs+0x88/0xa0 > > dmam_release+0x28/0x34 > > release_nodes+0x78/0x8c > > devres_release_all+0xa8/0x110 > > really_probe+0x118/0x2d0 > > __driver_probe_device+0xc8/0xe0 > > driver_probe_device+0x54/0xec > > __driver_attach+0xe0/0xf0 > > bus_for_each_dev+0x7c/0xc8 > > driver_attach+0x30/0x3c > > bus_add_driver+0x17c/0x1c4 > > driver_register+0xc0/0xf8 > > __platform_driver_register+0x34/0x40 > > ... > > > > This issue is introduced by commit d0243bbd5dd3 ("drivers core: > > Free dma_range_map when driver probe failed"). It frees > > dma_range_map before the call to devres_release_all, which is too > > early. The solution is to free dma_range_map only after > > devres_release_all. > > > > Fixes: d0243bbd5dd3 ("drivers core: Free dma_range_map when driver probe failed") > > Signed-off-by: Filip Schauer <filip@mg6.at> > > --- > > drivers/base/dd.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > Oh, nice catch! This is a v2, right? Next time please be explicit :) > > thanks, > > greg k-h >
Thank you for adding the patch. And my bad, this is indeed a PATCH v2. I didn't know about the patch revisioning convention. I'll be more explicit next time.
Thanks,
Filip Schauer
| |