From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933555AbcBQASq (ORCPT ); Tue, 16 Feb 2016 19:18:46 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:60031 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933384AbcBQASo (ORCPT ); Tue, 16 Feb 2016 19:18:44 -0500 Date: Tue, 16 Feb 2016 16:18:43 -0800 From: Andrew Morton To: Toshi Kani Cc: dan.j.williams@intel.com, linux-nvdimm@ml01.01.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Christoph Hellwig Subject: Re: [PATCH] devm_memremap_release: fix memremap'd addr handling Message-Id: <20160216161843.25aaac7046c7a79e1713c8a2@linux-foundation.org> In-Reply-To: <1455640227-21459-1-git-send-email-toshi.kani@hpe.com> References: <1455640227-21459-1-git-send-email-toshi.kani@hpe.com> X-Mailer: Sylpheed 3.4.1 (GTK+ 2.24.23; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 16 Feb 2016 09:30:27 -0700 Toshi Kani 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? I'll add a cc:stable to this.