Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 33946
b: refs/heads/master
c: 35e4ddf
h: refs/heads/master
v: v3
  • Loading branch information
Linus Torvalds committed Sep 17, 2006
1 parent cb74743 commit 6fbe92b
Show file tree
Hide file tree
Showing 29 changed files with 200 additions and 96 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d5bb75999cb5733ad936ff000023221fe7a13c59
refs/heads/master: 35e4ddfc86df84d32fbd2b9ae3b0b0408afb7e3f
3 changes: 3 additions & 0 deletions trunk/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
*.ko
*.so
*.mod.c
*.i
*.lst
*.symtypes

#
# Top-level generic files
Expand Down
6 changes: 3 additions & 3 deletions trunk/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -889,7 +889,7 @@ depend dep:

# ---------------------------------------------------------------------------
# Kernel headers
INSTALL_HDR_PATH=$(MODLIB)/abi
INSTALL_HDR_PATH=$(objtree)/usr
export INSTALL_HDR_PATH

PHONY += headers_install
Expand Down Expand Up @@ -986,7 +986,7 @@ CLEAN_FILES += vmlinux System.map \
.tmp_kallsyms* .tmp_version .tmp_vmlinux* .tmp_System.map

# Directories & files removed with 'make mrproper'
MRPROPER_DIRS += include/config include2
MRPROPER_DIRS += include/config include2 usr/include
MRPROPER_FILES += .config .config.old include/asm .version .old_version \
include/linux/autoconf.h include/linux/version.h \
include/linux/utsrelease.h \
Expand Down Expand Up @@ -1077,7 +1077,7 @@ help:
@echo ' kernelrelease - Output the release version string'
@echo ' kernelversion - Output the version stored in Makefile'
@echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'
@echo ' (default: /lib/modules/$$VERSION/abi)'
@echo ' (default: $(INSTALL_HDR_PATH))'
@echo ''
@echo 'Static analysers'
@echo ' checkstack - Generate a list of stack hogs'
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/char/hvc_console.c
Original file line number Diff line number Diff line change
Expand Up @@ -668,6 +668,7 @@ int khvcd(void *unused)
do {
poll_mask = 0;
hvc_kicked = 0;
try_to_freeze();
wmb();
if (cpus_empty(cpus_in_xmon)) {
spin_lock(&hvc_structs_lock);
Expand Down
9 changes: 5 additions & 4 deletions trunk/drivers/char/ipmi/ipmi_si_intf.c
Original file line number Diff line number Diff line change
Expand Up @@ -402,10 +402,10 @@ static void handle_flags(struct smi_info *smi_info)
smi_info->curr_msg->data,
smi_info->curr_msg->data_size);
smi_info->si_state = SI_GETTING_EVENTS;
} else if (smi_info->msg_flags & OEM_DATA_AVAIL) {
if (smi_info->oem_data_avail_handler)
if (smi_info->oem_data_avail_handler(smi_info))
goto retry;
} else if (smi_info->msg_flags & OEM_DATA_AVAIL &&
smi_info->oem_data_avail_handler) {
if (smi_info->oem_data_avail_handler(smi_info))
goto retry;
} else {
smi_info->si_state = SI_NORMAL;
}
Expand Down Expand Up @@ -2481,6 +2481,7 @@ static __devinit int init_ipmi_si(void)
#ifdef CONFIG_PCI
pci_unregister_driver(&ipmi_pci_driver);
#endif
driver_unregister(&ipmi_driver);
printk("ipmi_si: Unable to find any System Interface(s)\n");
return -ENODEV;
} else {
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/mtd/nand/nand_base.c
Original file line number Diff line number Diff line change
Expand Up @@ -1204,7 +1204,7 @@ static int nand_write_oob_syndrome(struct mtd_info *mtd,
pos = steps * (eccsize + chunk);
steps = 0;
} else
pos = eccsize + chunk;
pos = eccsize;

chip->cmdfunc(mtd, NAND_CMD_SEQIN, pos, page);
for (i = 0; i < steps; i++) {
Expand Down Expand Up @@ -1567,7 +1567,7 @@ static uint8_t *nand_fill_oob(struct nand_chip *chip, uint8_t *oob,
bytes = min_t(size_t, len, free->length);
boffs = free->offset;
}
memcpy(chip->oob_poi + woffs, oob, bytes);
memcpy(chip->oob_poi + boffs, oob, bytes);
oob += bytes;
}
return oob;
Expand Down
39 changes: 39 additions & 0 deletions trunk/fs/ext2/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -251,13 +251,52 @@ static struct super_operations ext2_sops = {
#endif
};

static struct dentry *ext2_get_dentry(struct super_block *sb, void *vobjp)
{
__u32 *objp = vobjp;
unsigned long ino = objp[0];
__u32 generation = objp[1];
struct inode *inode;
struct dentry *result;

if (ino < EXT2_FIRST_INO(sb) && ino != EXT2_ROOT_INO)
return ERR_PTR(-ESTALE);
if (ino > le32_to_cpu(EXT2_SB(sb)->s_es->s_inodes_count))
return ERR_PTR(-ESTALE);

/* iget isn't really right if the inode is currently unallocated!!
* ext2_read_inode currently does appropriate checks, but
* it might be "neater" to call ext2_get_inode first and check
* if the inode is valid.....
*/
inode = iget(sb, ino);
if (inode == NULL)
return ERR_PTR(-ENOMEM);
if (is_bad_inode(inode) ||
(generation && inode->i_generation != generation)) {
/* we didn't find the right inode.. */
iput(inode);
return ERR_PTR(-ESTALE);
}
/* now to find a dentry.
* If possible, get a well-connected one
*/
result = d_alloc_anon(inode);
if (!result) {
iput(inode);
return ERR_PTR(-ENOMEM);
}
return result;
}

/* Yes, most of these are left as NULL!!
* A NULL value implies the default, which works with ext2-like file
* systems, but can be improved upon.
* Currently only get_parent is required.
*/
static struct export_operations ext2_export_ops = {
.get_parent = ext2_get_parent,
.get_dentry = ext2_get_dentry,
};

static unsigned long get_sb_block(void **data)
Expand Down
2 changes: 1 addition & 1 deletion trunk/fs/ext3/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -925,7 +925,7 @@ int ext3_get_blocks_handle(handle_t *handle, struct inode *inode,
set_buffer_new(bh_result);
got_it:
map_bh(bh_result, inode->i_sb, le32_to_cpu(chain[depth-1].key));
if (blocks_to_boundary == 0)
if (count > blocks_to_boundary)
set_buffer_boundary(bh_result);
err = count;
/* Clean up and exit */
Expand Down
42 changes: 42 additions & 0 deletions trunk/fs/ext3/super.c
Original file line number Diff line number Diff line change
Expand Up @@ -554,6 +554,47 @@ static int ext3_show_options(struct seq_file *seq, struct vfsmount *vfs)
return 0;
}


static struct dentry *ext3_get_dentry(struct super_block *sb, void *vobjp)
{
__u32 *objp = vobjp;
unsigned long ino = objp[0];
__u32 generation = objp[1];
struct inode *inode;
struct dentry *result;

if (ino < EXT3_FIRST_INO(sb) && ino != EXT3_ROOT_INO)
return ERR_PTR(-ESTALE);
if (ino > le32_to_cpu(EXT3_SB(sb)->s_es->s_inodes_count))
return ERR_PTR(-ESTALE);

/* iget isn't really right if the inode is currently unallocated!!
*
* ext3_read_inode will return a bad_inode if the inode had been
* deleted, so we should be safe.
*
* Currently we don't know the generation for parent directory, so
* a generation of 0 means "accept any"
*/
inode = iget(sb, ino);
if (inode == NULL)
return ERR_PTR(-ENOMEM);
if (is_bad_inode(inode) ||
(generation && inode->i_generation != generation)) {
iput(inode);
return ERR_PTR(-ESTALE);
}
/* now to find a dentry.
* If possible, get a well-connected one
*/
result = d_alloc_anon(inode);
if (!result) {
iput(inode);
return ERR_PTR(-ENOMEM);
}
return result;
}

#ifdef CONFIG_QUOTA
#define QTYPE2NAME(t) ((t)==USRQUOTA?"user":"group")
#define QTYPE2MOPT(on, t) ((t)==USRQUOTA?((on)##USRJQUOTA):((on)##GRPJQUOTA))
Expand Down Expand Up @@ -622,6 +663,7 @@ static struct super_operations ext3_sops = {

static struct export_operations ext3_export_ops = {
.get_parent = ext3_get_parent,
.get_dentry = ext3_get_dentry,
};

enum {
Expand Down
5 changes: 5 additions & 0 deletions trunk/fs/jffs2/summary.c
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,11 @@ int jffs2_sum_add_kvec(struct jffs2_sb_info *c, const struct kvec *invecs,
union jffs2_node_union *node;
struct jffs2_eraseblock *jeb;

if (c->summary->sum_size == JFFS2_SUMMARY_NOSUM_SIZE) {
dbg_summary("Summary is disabled for this jeb! Skipping summary info!\n");
return 0;
}

node = invecs[0].iov_base;
jeb = &c->blocks[ofs / c->sector_size];
ofs -= jeb->offset;
Expand Down
2 changes: 1 addition & 1 deletion trunk/include/asm-alpha/Kbuild
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
include include/asm-generic/Kbuild.asm

unifdef-y += console.h fpu.h sysinfo.h
unifdef-y += console.h fpu.h sysinfo.h compiler.h

header-y += gentrap.h regdef.h pal.h reg.h
3 changes: 3 additions & 0 deletions trunk/include/asm-alpha/compiler.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@
__asm__("stw %1,%0" : "=m"(mem) : "r"(val))
#endif

#ifdef __KERNEL__
/* Some idiots over in <linux/compiler.h> thought inline should imply
always_inline. This breaks stuff. We'll include this file whenever
we run into such problems. */
Expand All @@ -101,4 +102,6 @@
#undef __always_inline
#define __always_inline inline __attribute__((always_inline))

#endif /* __KERNEL__ */

#endif /* __ALPHA_COMPILER_H */
6 changes: 3 additions & 3 deletions trunk/include/asm-alpha/page.h
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
#ifndef _ALPHA_PAGE_H
#define _ALPHA_PAGE_H

#ifdef __KERNEL__

#include <asm/pal.h>

/* PAGE_SHIFT determines the page size */
#define PAGE_SHIFT 13
#define PAGE_SIZE (1UL << PAGE_SHIFT)
#define PAGE_MASK (~(PAGE_SIZE-1))

#ifdef __KERNEL__

#ifndef __ASSEMBLY__

#define STRICT_MM_TYPECHECKS
Expand Down Expand Up @@ -92,9 +92,9 @@ typedef unsigned long pgprot_t;

#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \
VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
#endif /* __KERNEL__ */

#include <asm-generic/memory_model.h>
#include <asm-generic/page.h>

#endif /* __KERNEL__ */
#endif /* _ALPHA_PAGE_H */
4 changes: 2 additions & 2 deletions trunk/include/asm-i386/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,8 @@
#define __NR_vmsplice 316
#define __NR_move_pages 317

#ifdef __KERNEL__

#define NR_syscalls 318

/*
Expand Down Expand Up @@ -423,8 +425,6 @@ __asm__ volatile ("push %%ebp ; push %%ebx ; movl 4(%2),%%ebp ; " \
__syscall_return(type,__res); \
}

#ifdef __KERNEL__

#define __ARCH_WANT_IPC_PARSE_VERSION
#define __ARCH_WANT_OLD_READDIR
#define __ARCH_WANT_OLD_STAT
Expand Down
2 changes: 1 addition & 1 deletion trunk/include/asm-ia64/Kbuild
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ header-y += break.h fpu.h fpswa.h gcc_intrin.h ia64regs.h \
intel_intrin.h intrinsics.h perfmon_default_smpl.h \
ptrace_offsets.h rse.h setup.h ucontext.h

unifdef-y += perfmon.h
unifdef-y += perfmon.h ustack.h
4 changes: 2 additions & 2 deletions trunk/include/asm-ia64/page.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
* David Mosberger-Tang <davidm@hpl.hp.com>
*/

# ifdef __KERNEL__

#include <asm/intrinsics.h>
#include <asm/types.h>
Expand Down Expand Up @@ -64,7 +65,6 @@
# define __pa(x) ((x) - PAGE_OFFSET)
# define __va(x) ((x) + PAGE_OFFSET)
#else /* !__ASSEMBLY */
# ifdef __KERNEL__
# define STRICT_MM_TYPECHECKS

extern void clear_page (void *page);
Expand Down Expand Up @@ -174,7 +174,6 @@ get_order (unsigned long size)
return order;
}

# endif /* __KERNEL__ */
#endif /* !__ASSEMBLY__ */

#ifdef STRICT_MM_TYPECHECKS
Expand Down Expand Up @@ -228,4 +227,5 @@ get_order (unsigned long size)
(((current->personality & READ_IMPLIES_EXEC) != 0) \
? VM_EXEC : 0))

# endif /* __KERNEL__ */
#endif /* _ASM_IA64_PAGE_H */
10 changes: 7 additions & 3 deletions trunk/include/asm-ia64/ptrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@


#include <asm/fpu.h>

#ifdef __KERNEL__
#ifndef ASM_OFFSETS_C
#include <asm/asm-offsets.h>
#endif
Expand All @@ -79,10 +81,9 @@

#define KERNEL_STACK_SIZE IA64_STK_OFFSET

#ifndef __ASSEMBLY__
#endif /* __KERNEL__ */

#include <asm/current.h>
#include <asm/page.h>
#ifndef __ASSEMBLY__

/*
* This struct defines the way the registers are saved on system
Expand Down Expand Up @@ -229,6 +230,9 @@ struct switch_stack {

#ifdef __KERNEL__

#include <asm/current.h>
#include <asm/page.h>

#define __ARCH_SYS_PTRACE 1

/*
Expand Down
7 changes: 5 additions & 2 deletions trunk/include/asm-ia64/ustack.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,15 @@
* Constants for the user stack size
*/

#ifdef __KERNEL__
#include <asm/page.h>

/* The absolute hard limit for stack size is 1/2 of the mappable space in the region */
#define MAX_USER_STACK_SIZE (RGN_MAP_LIMIT/2)
/* Make a default stack size of 2GB */
#define DEFAULT_USER_STACK_SIZE (1UL << 31)
#define STACK_TOP (0x6000000000000000UL + RGN_MAP_LIMIT)
#endif

/* Make a default stack size of 2GiB */
#define DEFAULT_USER_STACK_SIZE (1UL << 31)

#endif /* _ASM_IA64_USTACK_H */
2 changes: 1 addition & 1 deletion trunk/include/asm-s390/debug.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
#define DEBUG_H

#include <linux/fs.h>
#include <linux/string.h>

/* Note:
* struct __debug_entry must be defined outside of #ifdef __KERNEL__
Expand All @@ -35,6 +34,7 @@ struct __debug_entry{
#define __DEBUG_FEATURE_VERSION 2 /* version of debug feature */

#ifdef __KERNEL__
#include <linux/string.h>
#include <linux/spinlock.h>
#include <linux/kernel.h>
#include <linux/time.h>
Expand Down
Loading

0 comments on commit 6fbe92b

Please sign in to comment.