diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-20 23:09:44 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-20 23:09:44 -0500 |
| commit | cf70a6f264f6e1a4c06553699159d94996b2f916 (patch) | |
| tree | 7a5993585e7e8b80c37cae75468fca45da6519d2 | |
| parent | 0b1fc9b86f49e1e73e473e06a16556ca0dce53ae (diff) | |
| parent | ad6b97fc929e5844bfd1d708ab1d74d131d7960d (diff) | |
Merge branch 'fixes.b8' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/bird
| -rw-r--r-- | arch/m68k/kernel/process.c | 3 | ||||
| -rw-r--r-- | drivers/ieee1394/sbp2.c | 10 | ||||
| -rw-r--r-- | fs/proc/inode.c | 4 | ||||
| -rw-r--r-- | fs/proc/root.c | 17 | ||||
| -rw-r--r-- | include/asm-m68k/irq.h | 2 | ||||
| -rw-r--r-- | include/asm-m68k/raw_io.h | 1 | ||||
| -rw-r--r-- | kernel/auditsc.c | 6 | ||||
| -rw-r--r-- | lib/iomap_copy.c | 2 | ||||
| -rw-r--r-- | net/ipv6/ip6_tunnel.c | 2 |
9 files changed, 20 insertions, 27 deletions
diff --git a/arch/m68k/kernel/process.c b/arch/m68k/kernel/process.c index 3f9cb55d0356..2d8ad0727b6b 100644 --- a/arch/m68k/kernel/process.c +++ b/arch/m68k/kernel/process.c | |||
| @@ -129,6 +129,9 @@ void machine_power_off(void) | |||
| 129 | for (;;); | 129 | for (;;); |
| 130 | } | 130 | } |
| 131 | 131 | ||
| 132 | void (*pm_power_off)(void) = machine_power_off; | ||
| 133 | EXPORT_SYMBOL(pm_power_off); | ||
| 134 | |||
| 132 | void show_regs(struct pt_regs * regs) | 135 | void show_regs(struct pt_regs * regs) |
| 133 | { | 136 | { |
| 134 | printk("\n"); | 137 | printk("\n"); |
diff --git a/drivers/ieee1394/sbp2.c b/drivers/ieee1394/sbp2.c index 18d7eda38851..c2c776fbda01 100644 --- a/drivers/ieee1394/sbp2.c +++ b/drivers/ieee1394/sbp2.c | |||
| @@ -2082,9 +2082,7 @@ static void sbp2_check_sbp2_response(struct scsi_id_instance_data *scsi_id, | |||
| 2082 | 2082 | ||
| 2083 | SBP2_DEBUG("sbp2_check_sbp2_response"); | 2083 | SBP2_DEBUG("sbp2_check_sbp2_response"); |
| 2084 | 2084 | ||
| 2085 | switch (SCpnt->cmnd[0]) { | 2085 | if (SCpnt->cmnd[0] == INQUIRY && (SCpnt->cmnd[1] & 3) == 0) { |
| 2086 | |||
| 2087 | case INQUIRY: | ||
| 2088 | /* | 2086 | /* |
| 2089 | * Make sure data length is ok. Minimum length is 36 bytes | 2087 | * Make sure data length is ok. Minimum length is 36 bytes |
| 2090 | */ | 2088 | */ |
| @@ -2097,13 +2095,7 @@ static void sbp2_check_sbp2_response(struct scsi_id_instance_data *scsi_id, | |||
| 2097 | */ | 2095 | */ |
| 2098 | scsi_buf[2] |= 2; | 2096 | scsi_buf[2] |= 2; |
| 2099 | scsi_buf[3] = (scsi_buf[3] & 0xf0) | 2; | 2097 | scsi_buf[3] = (scsi_buf[3] & 0xf0) | 2; |
| 2100 | |||
| 2101 | break; | ||
| 2102 | |||
| 2103 | default: | ||
| 2104 | break; | ||
| 2105 | } | 2098 | } |
| 2106 | return; | ||
| 2107 | } | 2099 | } |
| 2108 | 2100 | ||
| 2109 | /* | 2101 | /* |
diff --git a/fs/proc/inode.c b/fs/proc/inode.c index 6573f31f1fd9..075d3e945602 100644 --- a/fs/proc/inode.c +++ b/fs/proc/inode.c | |||
| @@ -204,10 +204,6 @@ int proc_fill_super(struct super_block *s, void *data, int silent) | |||
| 204 | root_inode = proc_get_inode(s, PROC_ROOT_INO, &proc_root); | 204 | root_inode = proc_get_inode(s, PROC_ROOT_INO, &proc_root); |
| 205 | if (!root_inode) | 205 | if (!root_inode) |
| 206 | goto out_no_root; | 206 | goto out_no_root; |
| 207 | /* | ||
| 208 | * Fixup the root inode's nlink value | ||
| 209 | */ | ||
| 210 | root_inode->i_nlink += nr_processes(); | ||
| 211 | root_inode->i_uid = 0; | 207 | root_inode->i_uid = 0; |
| 212 | root_inode->i_gid = 0; | 208 | root_inode->i_gid = 0; |
| 213 | s->s_root = d_alloc_root(root_inode); | 209 | s->s_root = d_alloc_root(root_inode); |
diff --git a/fs/proc/root.c b/fs/proc/root.c index 68896283c8ae..c3fd3611112f 100644 --- a/fs/proc/root.c +++ b/fs/proc/root.c | |||
| @@ -80,16 +80,16 @@ void __init proc_root_init(void) | |||
| 80 | proc_bus = proc_mkdir("bus", NULL); | 80 | proc_bus = proc_mkdir("bus", NULL); |
| 81 | } | 81 | } |
| 82 | 82 | ||
| 83 | static struct dentry *proc_root_lookup(struct inode * dir, struct dentry * dentry, struct nameidata *nd) | 83 | static int proc_root_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat |
| 84 | ) | ||
| 84 | { | 85 | { |
| 85 | /* | 86 | generic_fillattr(dentry->d_inode, stat); |
| 86 | * nr_threads is actually protected by the tasklist_lock; | 87 | stat->nlink = proc_root.nlink + nr_processes(); |
| 87 | * however, it's conventional to do reads, especially for | 88 | return 0; |
| 88 | * reporting, without any locking whatsoever. | 89 | } |
| 89 | */ | ||
| 90 | if (dir->i_ino == PROC_ROOT_INO) /* check for safety... */ | ||
| 91 | dir->i_nlink = proc_root.nlink + nr_threads; | ||
| 92 | 90 | ||
| 91 | static struct dentry *proc_root_lookup(struct inode * dir, struct dentry * dentry, struct nameidata *nd) | ||
| 92 | { | ||
| 93 | if (!proc_lookup(dir, dentry, nd)) { | 93 | if (!proc_lookup(dir, dentry, nd)) { |
| 94 | return NULL; | 94 | return NULL; |
| 95 | } | 95 | } |
| @@ -134,6 +134,7 @@ static struct file_operations proc_root_operations = { | |||
| 134 | */ | 134 | */ |
| 135 | static struct inode_operations proc_root_inode_operations = { | 135 | static struct inode_operations proc_root_inode_operations = { |
| 136 | .lookup = proc_root_lookup, | 136 | .lookup = proc_root_lookup, |
| 137 | .getattr = proc_root_getattr, | ||
| 137 | }; | 138 | }; |
| 138 | 139 | ||
| 139 | /* | 140 | /* |
diff --git a/include/asm-m68k/irq.h b/include/asm-m68k/irq.h index 325c86f8512d..9ac047c400c4 100644 --- a/include/asm-m68k/irq.h +++ b/include/asm-m68k/irq.h | |||
| @@ -79,7 +79,7 @@ static __inline__ int irq_canonicalize(int irq) | |||
| 79 | 79 | ||
| 80 | extern void (*enable_irq)(unsigned int); | 80 | extern void (*enable_irq)(unsigned int); |
| 81 | extern void (*disable_irq)(unsigned int); | 81 | extern void (*disable_irq)(unsigned int); |
| 82 | #define enable_irq_nosync enable_irq | 82 | #define disable_irq_nosync disable_irq |
| 83 | 83 | ||
| 84 | struct pt_regs; | 84 | struct pt_regs; |
| 85 | 85 | ||
diff --git a/include/asm-m68k/raw_io.h b/include/asm-m68k/raw_io.h index 5439bcaa57c6..811ccd25d4a6 100644 --- a/include/asm-m68k/raw_io.h +++ b/include/asm-m68k/raw_io.h | |||
| @@ -336,6 +336,7 @@ static inline void raw_outsw_swapw(volatile u16 __iomem *port, const u16 *buf, | |||
| 336 | : "d0", "a0", "a1", "d6"); | 336 | : "d0", "a0", "a1", "d6"); |
| 337 | } | 337 | } |
| 338 | 338 | ||
| 339 | #define __raw_writel raw_outl | ||
| 339 | 340 | ||
| 340 | #endif /* __KERNEL__ */ | 341 | #endif /* __KERNEL__ */ |
| 341 | 342 | ||
diff --git a/kernel/auditsc.c b/kernel/auditsc.c index 685c25175d96..d7e7e637b92a 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c | |||
| @@ -841,7 +841,7 @@ static void audit_log_exit(struct audit_context *context, gfp_t gfp_mask) | |||
| 841 | 841 | ||
| 842 | for (aux = context->aux; aux; aux = aux->next) { | 842 | for (aux = context->aux; aux; aux = aux->next) { |
| 843 | 843 | ||
| 844 | ab = audit_log_start(context, GFP_KERNEL, aux->type); | 844 | ab = audit_log_start(context, gfp_mask, aux->type); |
| 845 | if (!ab) | 845 | if (!ab) |
| 846 | continue; /* audit_panic has been called */ | 846 | continue; /* audit_panic has been called */ |
| 847 | 847 | ||
| @@ -878,14 +878,14 @@ static void audit_log_exit(struct audit_context *context, gfp_t gfp_mask) | |||
| 878 | } | 878 | } |
| 879 | 879 | ||
| 880 | if (context->pwd && context->pwdmnt) { | 880 | if (context->pwd && context->pwdmnt) { |
| 881 | ab = audit_log_start(context, GFP_KERNEL, AUDIT_CWD); | 881 | ab = audit_log_start(context, gfp_mask, AUDIT_CWD); |
| 882 | if (ab) { | 882 | if (ab) { |
| 883 | audit_log_d_path(ab, "cwd=", context->pwd, context->pwdmnt); | 883 | audit_log_d_path(ab, "cwd=", context->pwd, context->pwdmnt); |
| 884 | audit_log_end(ab); | 884 | audit_log_end(ab); |
| 885 | } | 885 | } |
| 886 | } | 886 | } |
| 887 | for (i = 0; i < context->name_count; i++) { | 887 | for (i = 0; i < context->name_count; i++) { |
| 888 | ab = audit_log_start(context, GFP_KERNEL, AUDIT_PATH); | 888 | ab = audit_log_start(context, gfp_mask, AUDIT_PATH); |
| 889 | if (!ab) | 889 | if (!ab) |
| 890 | continue; /* audit_panic has been called */ | 890 | continue; /* audit_panic has been called */ |
| 891 | 891 | ||
diff --git a/lib/iomap_copy.c b/lib/iomap_copy.c index a6b1e271d53c..351045f4f63c 100644 --- a/lib/iomap_copy.c +++ b/lib/iomap_copy.c | |||
| @@ -15,8 +15,8 @@ | |||
| 15 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. | 15 | * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. |
| 16 | */ | 16 | */ |
| 17 | 17 | ||
| 18 | #include <linux/io.h> | ||
| 19 | #include <linux/module.h> | 18 | #include <linux/module.h> |
| 19 | #include <linux/io.h> | ||
| 20 | 20 | ||
| 21 | /** | 21 | /** |
| 22 | * __iowrite32_copy - copy data to MMIO space, in 32-bit units | 22 | * __iowrite32_copy - copy data to MMIO space, in 32-bit units |
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c index 92ead3cf956b..faea8a120ee2 100644 --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c | |||
| @@ -458,7 +458,7 @@ ip6ip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt, | |||
| 458 | mtu = IPV6_MIN_MTU; | 458 | mtu = IPV6_MIN_MTU; |
| 459 | t->dev->mtu = mtu; | 459 | t->dev->mtu = mtu; |
| 460 | 460 | ||
| 461 | if ((len = sizeof (*ipv6h) + ipv6h->payload_len) > mtu) { | 461 | if ((len = sizeof (*ipv6h) + ntohs(ipv6h->payload_len)) > mtu) { |
| 462 | rel_type = ICMPV6_PKT_TOOBIG; | 462 | rel_type = ICMPV6_PKT_TOOBIG; |
| 463 | rel_code = 0; | 463 | rel_code = 0; |
| 464 | rel_info = mtu; | 464 | rel_info = mtu; |
