From: Marc Fiuczynski Date: Tue, 26 Dec 2006 19:29:19 +0000 (+0000) Subject: Merge to Fedora kernel-2.6.18-1.2255_FC5 patched with stable patch-2.6.18.5-vs2.0... X-Git-Tag: fedora-2_6_18-1_2255_FC5-vs2_0_3-rc1~1 X-Git-Url: http://git.onelab.eu/?p=linux-2.6.git;a=commitdiff_plain;h=67da514125f23d27bd45d41e330ef14b6206fe69 Merge to Fedora kernel-2.6.18-1.2255_FC5 patched with stable patch-2.6.18.5-vs2.0.3-rc1.diff --- diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index 2eba150a4..2e1bf830f 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c @@ -112,7 +112,6 @@ static struct irq_desc bad_irq_desc = { asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs) { struct irqdesc *desc = irq_desc + irq; - struct vx_info_save vxis; /* * Some hardware gives randomly wrong interrupts. Rather @@ -122,10 +121,12 @@ asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs) desc = &bad_irq_desc; irq_enter(); + desc_handle_irq(irq, desc, regs); /* AT91 specific workaround */ irq_finish(irq); + irq_exit(); } diff --git a/arch/cris/kernel/irq.c b/arch/cris/kernel/irq.c index e43acdf64..903ea62c6 100644 --- a/arch/cris/kernel/irq.c +++ b/arch/cris/kernel/irq.c @@ -92,7 +92,6 @@ skip: asmlinkage void do_IRQ(int irq, struct pt_regs * regs) { unsigned long sp; - irq_enter(); sp = rdsp(); if (unlikely((sp & (PAGE_SIZE - 1)) < (PAGE_SIZE/8))) { diff --git a/arch/i386/kernel/irq.c b/arch/i386/kernel/irq.c index 535312cf5..5fe547cd8 100644 --- a/arch/i386/kernel/irq.c +++ b/arch/i386/kernel/irq.c @@ -81,6 +81,7 @@ fastcall unsigned int do_IRQ(struct pt_regs *regs) } } #endif + #ifdef CONFIG_4KSTACKS curctx = (union irq_ctx *) current_thread_info(); diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c index 34c5104c4..12c5971d6 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c @@ -244,7 +244,6 @@ void do_IRQ(struct pt_regs *regs) #ifdef CONFIG_PPC_ISERIES if (get_lppaca()->int_dword.fields.decr_int) { - get_lppaca()->int_dword.fields.decr_int = 0; /* Signal a fake decrementer interrupt */ timer_interrupt(regs); diff --git a/arch/s390/kernel/s390_ext.c b/arch/s390/kernel/s390_ext.c index b0df464b1..c1b383537 100644 --- a/arch/s390/kernel/s390_ext.c +++ b/arch/s390/kernel/s390_ext.c @@ -13,7 +13,6 @@ #include #include #include -#include #include #include diff --git a/arch/sparc/kernel/sun4d_irq.c b/arch/sparc/kernel/sun4d_irq.c index 77f51b5cb..74eed9775 100644 --- a/arch/sparc/kernel/sun4d_irq.c +++ b/arch/sparc/kernel/sun4d_irq.c @@ -20,7 +20,6 @@ #include #include #include -#include #include #include diff --git a/arch/um/kernel/irq.c b/arch/um/kernel/irq.c index c2126ee2d..1e766cee6 100644 --- a/arch/um/kernel/irq.c +++ b/arch/um/kernel/irq.c @@ -369,11 +369,10 @@ void forward_interrupts(int pid) */ unsigned int do_IRQ(int irq, union uml_pt_regs *regs) { - irq_enter(); - - __do_IRQ(irq, (struct pt_regs *)regs); - irq_exit(); - return 1; + irq_enter(); + __do_IRQ(irq, (struct pt_regs *)regs); + irq_exit(); + return 1; } int um_request_irq(unsigned int irq, int fd, int type, diff --git a/arch/xtensa/kernel/irq.c b/arch/xtensa/kernel/irq.c index 49ef31242..1cf744ee0 100644 --- a/arch/xtensa/kernel/irq.c +++ b/arch/xtensa/kernel/irq.c @@ -63,7 +63,9 @@ unsigned int do_IRQ(int irq, struct pt_regs *regs) sp - sizeof(struct thread_info)); } #endif + __do_IRQ(irq, regs); + irq_exit(); return 1; diff --git a/drivers/block/loop.c b/drivers/block/loop.c index eebdf1aa1..c77412168 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -72,7 +72,6 @@ #include #include #include -#include #include diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c index 15874c867..89320c1ad 100644 --- a/drivers/s390/cio/cio.c +++ b/drivers/s390/cio/cio.c @@ -16,7 +16,6 @@ #include #include #include -#include #include #include @@ -640,7 +639,6 @@ do_IRQ (struct pt_regs *regs) spin_lock(&sch->lock); /* Store interrupt response block to lowcore. */ if (tsch (tpi_info->schid, irb) == 0 && sch) { - /* Keep subchannel information word up to date. */ memcpy (&sch->schib.scsw, &irb->scsw, sizeof (irb->scsw)); diff --git a/fs/super.c b/fs/super.c index d3c66fb31..a4269d5ac 100644 --- a/fs/super.c +++ b/fs/super.c @@ -848,7 +848,7 @@ vfs_kern_mount(struct file_system_type *type, int flags, const char *name, void sb = mnt->mnt_sb; error = -EPERM; - if (!capable(CAP_SYS_ADMIN) && !sb->s_bdev && + if (!vx_capable(CAP_SYS_ADMIN, VXC_BINARY_MOUNT) && !sb->s_bdev && (sb->s_magic != PROC_SUPER_MAGIC) && (sb->s_magic != DEVPTS_SUPER_MAGIC)) goto out_sb; diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index c3f765c81..48a53f68a 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c @@ -15,7 +15,6 @@ #include #include #include -#include #include "internals.h" diff --git a/kernel/vserver/limit.c b/kernel/vserver/limit.c index 9f279734d..e2b15d341 100644 --- a/kernel/vserver/limit.c +++ b/kernel/vserver/limit.c @@ -47,8 +47,6 @@ const struct vcmd_ctx_rlimit_mask_v0 vlimit_mask = { /* minimum */ 0 , /* softlimit */ - MASK_ENTRY( RLIMIT_RSS ) | - MASK_ENTRY( VLIMIT_ANON ) | 0 , /* maximum */ MASK_ENTRY( RLIMIT_RSS ) | @@ -59,8 +57,6 @@ const struct vcmd_ctx_rlimit_mask_v0 vlimit_mask = { MASK_ENTRY( RLIMIT_LOCKS ) | MASK_ENTRY( RLIMIT_MSGQUEUE ) | - MASK_ENTRY( VLIMIT_NSOCK ) | - MASK_ENTRY( VLIMIT_OPENFD ) | MASK_ENTRY( VLIMIT_ANON ) | MASK_ENTRY( VLIMIT_SHMEM ) | 0 diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 4cd6faf93..90412e96e 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -37,7 +37,6 @@ #include #include #include -#include #include #include