The patch titled Subject: device-dax-add-dis-contiguous-resource-support-fix has been added to the -mm tree. Its filename is device-dax-add-dis-contiguous-resource-support-fix.patch This patch should soon appear at https://ozlabs.org/~akpm/mmots/broken-out/device-dax-add-dis-contiguous-resource-support-fix.patch and later at https://ozlabs.org/~akpm/mmotm/broken-out/device-dax-add-dis-contiguous-resource-support-fix.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Joao Martins <joao.m.martins@xxxxxxxxxx> Subject: device-dax-add-dis-contiguous-resource-support-fix kfree only with nr_range == 0, while also avoiding the leakage of @ranges (from krealloc success case with nr_ranges > 0) without the null deref that this introduces. Link: https://lkml.kernel.org/r/6d57acf7-63cf-168d-f68e-67d88832f10f@xxxxxxxxxx Cc: Dan Williams <dan.j.williams@xxxxxxxxx> Cc: Vishal Verma <vishal.l.verma@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/dax/bus.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) --- a/drivers/dax/bus.c~device-dax-add-dis-contiguous-resource-support-fix +++ a/drivers/dax/bus.c @@ -607,13 +607,16 @@ static int alloc_dev_dax_range(struct de return -ENOMEM; alloc = __request_region(res, start, size, dev_name(dev), 0); - if (!alloc && !dev_dax->nr_range) { + if (!alloc) { /* - * If we adjusted an existing @ranges leave it alone, - * but if this was an empty set of ranges nothing else + * If this was an empty set of ranges nothing else * will release @ranges, so do it now. */ - kfree(ranges); + if (!dev_dax->nr_range) { + kfree(ranges); + ranges = NULL; + } + dev_dax->ranges = ranges; return -ENOMEM; } _ Patches currently in -mm which might be from joao.m.martins@xxxxxxxxxx are device-dax-add-dis-contiguous-resource-support-fix.patch device-dax-make-align-a-per-device-property.patch device-dax-add-an-align-attribute.patch dax-hmem-introduce-dax_hmemregion_idle-parameter.patch device-dax-add-a-range-mapping-allocation-attribute.patch