On Tue, 2016-02-16 at 16:18 -0800, Andrew Morton wrote: > On Tue, 16 Feb 2016 09:30:27 -0700 Toshi Kani <toshi.kani@xxxxxxx> wrote: > > > The pmem driver calls devm_memremap() to map a persistent memory > > range. When the pmem driver is unloaded, this memremap'd range > > is not released. > > > > Fix devm_memremap_release() to handle a given memremap'd address > > properly. > > > > ... > > > > --- a/kernel/memremap.c > > +++ b/kernel/memremap.c > > @@ -114,7 +114,7 @@ EXPORT_SYMBOL(memunmap); > > > > static void devm_memremap_release(struct device *dev, void *res) > > { > > - memunmap(res); > > + memunmap(*(void **)res); > > } > > > > Huh. So what happens? memunmap() decides it isn't a vmalloc address > and we leak a vma? Yes, that's right. > I'll add a cc:stable to this. Agreed. Thanks! -Toshi -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>