Messages in this thread Patch in this message | | | Subject | [PATCH 3/4] proc: Clean up mmaps when a proc file is removed. | From | (Eric W. Biederman) | Date | Fri, 04 Sep 2009 12:27:21 -0700 |
| |
If a file such as /proc/bus/pci/*/* is mmaped and the underlying device is hotunplugedd we can potentially run into all kinds of ugly things.
So implement unmap on remove by calling revoke_file_mappings.
Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com> --- fs/proc/generic.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/fs/proc/generic.c b/fs/proc/generic.c index fa678ab..42ce941 100644 --- a/fs/proc/generic.c +++ b/fs/proc/generic.c @@ -20,6 +20,7 @@ #include <linux/bitops.h> #include <linux/spinlock.h> #include <linux/completion.h> +#include <linux/mm.h> #include <asm/uaccess.h> #include "internal.h" @@ -833,6 +834,7 @@ continue_removing: pdeo = list_first_entry(&de->pde_openers, struct pde_opener, lh); list_del(&pdeo->lh); spin_unlock(&de->pde_unload_lock); + revoke_file_mappings(pdeo->file); pdeo->release(pdeo->inode, pdeo->file); kfree(pdeo); spin_lock(&de->pde_unload_lock); -- 1.6.2.5
| |