From 0cbd2c756f03f4144f7ace35984aa85735d2a8bc Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Fri, 23 Nov 2007 15:36:10 -0500 Subject: [PATCH] Import 2.4.0-test3pre4 --- arch/i386/kernel/process.c | 11 +++++++++-- drivers/block/rd.c | 2 +- fs/coda/dir.c | 5 +++-- fs/ext2/super.c | 2 +- fs/super.c | 5 +---- 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c index 0da172ad4c52..bddac2a1d84f 100644 --- a/arch/i386/kernel/process.c +++ b/arch/i386/kernel/process.c @@ -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); } /* diff --git a/drivers/block/rd.c b/drivers/block/rd.c index db09007b01f9..727c1c54324a 100644 --- a/drivers/block/rd.c +++ b/drivers/block/rd.c @@ -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"); diff --git a/fs/coda/dir.c b/fs/coda/dir.c index 13e7477bc805..66279990e5ac 100644 --- a/fs/coda/dir.c +++ b/fs/coda/dir.c @@ -15,9 +15,10 @@ #include #include #include -#include -#include #include +#include + +#include #include #include diff --git a/fs/ext2/super.c b/fs/ext2/super.c index d3af3b99239b..19511a1fe6dc 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c @@ -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); diff --git a/fs/super.c b/fs/super.c index bfc02228d35b..3303789f6397 100644 --- a/fs/super.c +++ b/fs/super.c @@ -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 */ -- 2.39.5