- port, cleanup Emulab ICMP Ping Of Death (IPOD) patch from 2.4.x
[linux-2.6.git] / fs / proc / kcore.c
index f6e81e9..ee1b56b 100644 (file)
 #include <linux/elfcore.h>
 #include <linux/vmalloc.h>
 #include <linux/highmem.h>
+#include <linux/init.h>
 #include <asm/uaccess.h>
 #include <asm/io.h>
 
 
 static int open_kcore(struct inode * inode, struct file * filp)
 {
-       return capable(CAP_SYS_RAWIO) ? 0 : -EPERM;
+       return -EPERM;
 }
 
 static ssize_t read_kcore(struct file *, char __user *, size_t, loff_t *);
@@ -81,11 +82,9 @@ kclist_del(void *addr)
                }
        }
        write_unlock(&kclist_lock);
-       return 0;
+       return NULL;
 }
 
-extern char saved_command_line[];
-
 static size_t get_kcore_size(int *nphdr, size_t *elf_buflen)
 {
        size_t try, size;
@@ -183,7 +182,11 @@ static void elf_kcore_store_hdr(char *bufp, int nphdr, int dataoff)
        elf->e_entry    = 0;
        elf->e_phoff    = sizeof(struct elfhdr);
        elf->e_shoff    = 0;
+#if defined(CONFIG_H8300)
+       elf->e_flags    = ELF_FLAGS;
+#else
        elf->e_flags    = 0;
+#endif
        elf->e_ehsize   = sizeof(struct elfhdr);
        elf->e_phentsize= sizeof(struct elf_phdr);
        elf->e_phnum    = nphdr;