summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Morton <akpm@zip.com.au>2002-07-28 03:54:00 -0700
committerLinus Torvalds <torvalds@home.transmeta.com>2002-07-28 03:54:00 -0700
commit06829dedee395dc6ae1628ff0f78e6a0831d5c8a (patch)
tree5f1fc9c0fb6c8bd8b44ca976590958dd96eea0e1
parent686d664994444013f52d0869c24704a490184424 (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.c3
-rw-r--r--fs/smbfs/file.c8
-rw-r--r--kernel/ptrace.c1
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>