diff options
| author | Andrew Morton <akpm@zip.com.au> | 2002-07-28 03:54:00 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2002-07-28 03:54:00 -0700 |
| commit | 06829dedee395dc6ae1628ff0f78e6a0831d5c8a (patch) | |
| tree | 5f1fc9c0fb6c8bd8b44ca976590958dd96eea0e1 | |
| parent | 686d664994444013f52d0869c24704a490184424 (diff) | |
[PATCH] put_page() uses audited
Audit put_page() uses of pages that may be in the page cache.
Use page_cache_release() instead.
| -rw-r--r-- | fs/binfmt_elf.c | 3 | ||||
| -rw-r--r-- | fs/smbfs/file.c | 8 | ||||
| -rw-r--r-- | kernel/ptrace.c | 1 |
3 files changed, 7 insertions, 5 deletions
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index 7fcb72dc8e03..497759d0b41b 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -33,6 +33,7 @@ #include <linux/smp_lock.h> #include <linux/compiler.h> #include <linux/highmem.h> +#include <linux/pagemap.h> #include <asm/uaccess.h> #include <asm/param.h> @@ -1249,7 +1250,7 @@ static int elf_core_dump(long signr, struct pt_regs * regs, struct file * file) flush_page_to_ram(page); kunmap(page); } - put_page(page); + page_cache_release(page); } } } diff --git a/fs/smbfs/file.c b/fs/smbfs/file.c index e02141f2986f..bd90bcb080d4 100644 --- a/fs/smbfs/file.c +++ b/fs/smbfs/file.c @@ -105,9 +105,9 @@ smb_readpage(struct file *file, struct page *page) int error; struct dentry *dentry = file->f_dentry; - get_page(page); + page_cache_get(page); error = smb_readpage_sync(dentry, page); - put_page(page); + page_cache_release(page); return error; } @@ -194,11 +194,11 @@ smb_writepage(struct page *page) if (page->index >= end_index+1 || !offset) return -EIO; do_it: - get_page(page); + page_cache_get(page); err = smb_writepage_sync(inode, page, 0, offset); SetPageUptodate(page); unlock_page(page); - put_page(page); + page_cache_release(page); return err; } diff --git a/kernel/ptrace.c b/kernel/ptrace.c index e6d6b029405e..97222b936a3e 100644 --- a/kernel/ptrace.c +++ b/kernel/ptrace.c @@ -11,6 +11,7 @@ #include <linux/errno.h> #include <linux/mm.h> #include <linux/highmem.h> +#include <linux/pagemap.h> #include <linux/smp_lock.h> #include <asm/pgtable.h> |
