/dev/oldmem: Remove the interface
/dev/oldmem provides the interface for us to access the "old memory" in the dump-capture kernel. Unfortunately, no one actually uses this interface. And this interface could actually cause some real problems if used on ia64 where the cached/uncached accesses are mixed. See the discussion from the link: https://lkml.org/lkml/2013/4/12/386. So Eric suggested that we should remove /dev/oldmem as an unused piece of code. [akpm@linux-foundation.org: mention /dev/oldmem obsolescence in devices.txt] Suggested-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: Zhang Yanfei <zhangyanfei@cn.fujitsu.com> Cc: Vivek Goyal <vgoyal@redhat.com> Cc: Dave Hansen <dave@sr71.net> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Fenghua Yu <fenghua.yu@intel.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Matt Fleming <matt.fleming@intel.com> Cc: Michael Holzheu <holzheu@linux.vnet.ibm.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Tony Luck <tony.luck@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
266b7a021f
commit
a11edb59a0
2 changed files with 1 additions and 49 deletions
|
@ -100,8 +100,7 @@ Your cooperation is appreciated.
|
|||
10 = /dev/aio Asynchronous I/O notification interface
|
||||
11 = /dev/kmsg Writes to this come out as printk's, reads
|
||||
export the buffered printk records.
|
||||
12 = /dev/oldmem Used by crashdump kernels to access
|
||||
the memory of the kernel that crashed.
|
||||
12 = /dev/oldmem OBSOLETE - replaced by /proc/vmcore
|
||||
|
||||
1 block RAM disk
|
||||
0 = /dev/ram0 First RAM disk
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
#include <linux/ptrace.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/highmem.h>
|
||||
#include <linux/crash_dump.h>
|
||||
#include <linux/backing-dev.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/splice.h>
|
||||
|
@ -357,40 +356,6 @@ static int mmap_kmem(struct file *file, struct vm_area_struct *vma)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_CRASH_DUMP
|
||||
/*
|
||||
* Read memory corresponding to the old kernel.
|
||||
*/
|
||||
static ssize_t read_oldmem(struct file *file, char __user *buf,
|
||||
size_t count, loff_t *ppos)
|
||||
{
|
||||
unsigned long pfn, offset;
|
||||
size_t read = 0, csize;
|
||||
int rc = 0;
|
||||
|
||||
while (count) {
|
||||
pfn = *ppos / PAGE_SIZE;
|
||||
if (pfn > saved_max_pfn)
|
||||
return read;
|
||||
|
||||
offset = (unsigned long)(*ppos % PAGE_SIZE);
|
||||
if (count > PAGE_SIZE - offset)
|
||||
csize = PAGE_SIZE - offset;
|
||||
else
|
||||
csize = count;
|
||||
|
||||
rc = copy_oldmem_page(pfn, buf, csize, offset, 1);
|
||||
if (rc < 0)
|
||||
return rc;
|
||||
buf += csize;
|
||||
*ppos += csize;
|
||||
read += csize;
|
||||
count -= csize;
|
||||
}
|
||||
return read;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_DEVKMEM
|
||||
/*
|
||||
* This function reads the *virtual* memory as seen by the kernel.
|
||||
|
@ -772,7 +737,6 @@ static int open_port(struct inode *inode, struct file *filp)
|
|||
#define aio_write_zero aio_write_null
|
||||
#define open_mem open_port
|
||||
#define open_kmem open_mem
|
||||
#define open_oldmem open_mem
|
||||
|
||||
static const struct file_operations mem_fops = {
|
||||
.llseek = memory_lseek,
|
||||
|
@ -837,14 +801,6 @@ static const struct file_operations full_fops = {
|
|||
.write = write_full,
|
||||
};
|
||||
|
||||
#ifdef CONFIG_CRASH_DUMP
|
||||
static const struct file_operations oldmem_fops = {
|
||||
.read = read_oldmem,
|
||||
.open = open_oldmem,
|
||||
.llseek = default_llseek,
|
||||
};
|
||||
#endif
|
||||
|
||||
static const struct memdev {
|
||||
const char *name;
|
||||
umode_t mode;
|
||||
|
@ -866,9 +822,6 @@ static const struct memdev {
|
|||
#ifdef CONFIG_PRINTK
|
||||
[11] = { "kmsg", 0644, &kmsg_fops, NULL },
|
||||
#endif
|
||||
#ifdef CONFIG_CRASH_DUMP
|
||||
[12] = { "oldmem", 0, &oldmem_fops, NULL },
|
||||
#endif
|
||||
};
|
||||
|
||||
static int memory_open(struct inode *inode, struct file *filp)
|
||||
|
|
Loading…
Reference in a new issue