]> git.neil.brown.name Git - history.git/commitdiff
Import 2.4.0-test3pre4 2.4.0-test3pre4
authorLinus Torvalds <torvalds@linuxfoundation.org>
Fri, 23 Nov 2007 20:36:10 +0000 (15:36 -0500)
committerLinus Torvalds <torvalds@linuxfoundation.org>
Fri, 23 Nov 2007 20:36:10 +0000 (15:36 -0500)
arch/i386/kernel/process.c
drivers/block/rd.c
fs/coda/dir.c
fs/ext2/super.c
fs/super.c

index 0da172ad4c5226211a91acfa18cfe5e0682364d2..bddac2a1d84fddc3b9b935e05dfcf9d88b719297 100644 (file)
@@ -344,7 +344,7 @@ void machine_power_off(void)
 
 void show_regs(struct pt_regs * regs)
 {
-       long cr0 = 0L, cr2 = 0L, cr3 = 0L;
+       unsigned long cr0 = 0L, cr2 = 0L, cr3 = 0L, cr4 = 0L;
 
        printk("\n");
        printk("EIP: %04x:[<%08lx>]",0xffff & regs->xcs,regs->eip);
@@ -361,7 +361,14 @@ void show_regs(struct pt_regs * regs)
        __asm__("movl %%cr0, %0": "=r" (cr0));
        __asm__("movl %%cr2, %0": "=r" (cr2));
        __asm__("movl %%cr3, %0": "=r" (cr3));
-       printk("CR0: %08lx CR2: %08lx CR3: %08lx\n", cr0, cr2, cr3);
+       /* This could fault if %cr4 does not exist */
+       __asm__("1: movl %%cr4, %0              \n"
+               "2:                             \n"
+               ".section __ex_table,\"a\"      \n"
+               ".long 1b,2b                    \n"
+               ".previous                      \n"
+               : "=r" (cr4): "0" (0));
+       printk("CR0: %08lx CR2: %08lx CR3: %08lx CR4: %08lx\n", cr0, cr2, cr3, cr4);
 }
 
 /*
index db09007b01f93280e89a42c34c5e426bbfc8ac7a..727c1c54324a9cfa6d605a44ec1dcb2c1acf3139 100644 (file)
@@ -436,8 +436,8 @@ int __init rd_init (void)
 
 #ifdef MODULE
 module_init(rd_init);
-#endif
 module_exit(rd_cleanup);
+#endif
 
 /* loadable module support */
 MODULE_PARM     (rd_size, "1i");
index 13e7477bc805faaa019efb6b688cab648f3c5739..66279990e5ac0173c412e6cc0e6db91946aff062 100644 (file)
 #include <linux/stat.h>
 #include <linux/errno.h>
 #include <linux/locks.h>
-#include <asm/segment.h>
-#include <asm/uaccess.h>
 #include <linux/string.h>
+#include <linux/smp_lock.h>
+
+#include <asm/uaccess.h>
 
 #include <linux/coda.h>
 #include <linux/coda_linux.h>
index d3af3b99239bc7d0a230b417d081979cf97427d0..19511a1fe6dca8ef2f6aaa83916d20bd6194074b 100644 (file)
@@ -205,7 +205,7 @@ static int parse_options (char * options, unsigned long * sb_block,
                else if (!strcmp (this_char, "resgid")) {
                        if (!value || !*value) {
                                printk ("EXT2-fs: the resgid option requires "
-                                       "an argument");
+                                       "an argument\n");
                                return 0;
                        }
                        *resgid = simple_strtoul (value, &value, 0);
index bfc02228d35b456fddd65d8aab84a4e68fa8a31e..3303789f6397b4be930a8cb7496ef899c2a7063b 100644 (file)
@@ -1670,7 +1670,6 @@ out3:
 
 int __init change_root(kdev_t new_root_dev,const char *put_old)
 {
-       kdev_t old_root_dev = ROOT_DEV;
        struct vfsmount *old_rootmnt;
        struct nameidata devfs_nd, nd;
        int error = 0;
@@ -1682,8 +1681,6 @@ int __init change_root(kdev_t new_root_dev,const char *put_old)
        if (path_init("/dev", LOOKUP_FOLLOW|LOOKUP_POSITIVE, &devfs_nd))
                error = path_walk("/dev", &devfs_nd);
        if (!error) {
-               struct super_block *sb = devfs_nd.dentry->d_inode->i_sb;
-
                if (devfs_nd.mnt->mnt_sb->s_magic == DEVFS_SUPER_MAGIC &&
                    devfs_nd.dentry == devfs_nd.mnt->mnt_root) {
                        dput(devfs_nd.dentry);
@@ -1717,7 +1714,7 @@ int __init change_root(kdev_t new_root_dev,const char *put_old)
                        printk("okay\n");
                        return 0;
                }
-               printk(KERN_ERR "error %ld\n",blivet);
+               printk(KERN_ERR "error %d\n",blivet);
                return error;
        }
        /* FIXME: we should hold i_zombie on nd.dentry */