Linux 2.2.22rc2
This is going straight to rc1 because it contains a lot of security fixes for local security problems found by Silvio's audit Solar Designer and a couple of other folks. The other stuff is minor and is the entire 2.2 pending queue anyway.
Special thanks go to Openwall who did pretty much all of the security backporting work. This is mostly their kernel update not mine.
2.2.22-rc2
o Fix isofs over loopback problems (Balazs Takacs)
o Backport 2.4 shutdown/reset SIGIO from 2.4 (Julian Anastasov)
o Fix error reporting in OOM cases (Julian Anastasov)
o List a 2.2 maintainer in MAINTAINERS (Keith Owens)
o Set atime on AF_UNIX sockets (Solar Designer)
o Restore SPARC MD boot configuration (Tomas Szepe)
o Multiple further sign/overflow fixes (Solar Designer)
o Fix ov511 'vfree in interrupt' (Mark McClelland)
2.2.22-rc1
o Backport 2.4 neighbour sending fix (Chris Friesen)
o Fix a sign handling slackness in apm (Silvio Cesare)
o Fix a sign handling error in rio500 (Silvio Cesare)
o Indent depca ready for cleanups (me)
o Update VIA C3 recognition (Diego Rodriguez)
o Fix a sysctl handling bug (MIYOSHI Kazuto)
o Fix a netlink error handling bug in ipfw (Alexander Atanasov)
o 3ware IDE RAID update (Adam Radford)
o Note ioctl clash on 0x5402 (Pavel Machek)
o Typo fix (Dan Aloni)
o Update Riley's contact info (Riley Williams)
o Alpha ptrace fixes (Solar Designer)
o Multiple security fix backports (Solar Designer)
Quoted 7 lines · Alan Cox
This is going straight to rc1 because it contains a lot of security fixes for local security problems found by Silvio's audit Solar Designer and a couple of other folks. The other stuff is minor and is the entire 2.2 pending queue anyway.
Special thanks go to Openwall who did pretty much all of the security backporting work. This is mostly their kernel update not mine.
Great work, but in 2.2.22rc2 powerpc's still broken. First of All Sources have got a lot of unsed stuff. For example look like that:
[dzimi@cyborg linux]$ rgrep -n -R '*.*' 'CONFIG_PPC64' . ./arch/ppc/mm/init.c:124:#ifdef CONFIG_PPC64 ./arch/ppc/mm/init.c:132:#ifdef CONFIG_PPC64 ./arch/ppc/mm/init.c:1586:#ifdef CONFIG_PPC64 [dzimi@cyborg linux]$
this is unused ...
We may remove it or upgrade it ... (i can do it)
Second kernel-2.2.21 still have got time init problems in symbios driver on powerpc platform.
I send to you my ugly hack witch work, but IMHO he's ugly ;) I need to do it correct.
Third, kernel for powerpc boot and work on g3-266 but on g3-333 Ops ... (kernel traps, kernel wrote: Caused by SRR1 or somethink like that, in 2.3 i saw #define FIX_SRR1 macro ...)
It's need a lot of bugfixies from 2.3/2.4 tree .. i've got some machines and i'm going to fix it. (I don't like some much 2.4.x ;))
That's all,
Krzysiek Taraszka ([email protected])
arch/ppc/kernel/chrp_setup.c +77 -1
@@ -4,6 +4,7 @@* Copyright (C) 1995 Linus Torvalds * Adapted from 'alpha' version by Gary Thomas * Modified by Cort Dougan ([email protected]) +* Fixed IRQ time out problem by Krzysztof Taraszka ([email protected]) */ /*
@@ -359,6 +360,81 @@ } } +void +chrp_do_IRQ (struct pt_regs *regs, +int cpu, +int isfake) +{ +int irq; +unsigned long bits =0 ; +int openpic_eoi_done =0 ; + +#ifdef __SMP__ + { +unsigned int loops =1000000 ; +while (test_bit (0 , &global_irq_lock)) { +if (smp_processor_id () == global_irq_holder) { +printk ("uh oh, interrupt while we hold global irq lock!\n" ); +#ifdef CONFIG_XMON +xmon (0 ); +#endif +break ; + } +if (loops-- ==0 ) { +printk ("do_IRQ waiting for irq lock (holder=%d)\n" , global_irq_holder); +#ifdef CONFIG_XMON +xmon (0 ); +#endif + } + } + } +#endif /* __SMP__ */ + + irq =openpic_irq (smp_processor_id ()); +if (irq ==IRQ_8259_CASCADE ) + { +/* +* This magic address generates a PCI IACK cycle. +* +* This should go in the above mask/ack code soon. -- Cort +*/ +if ( chrp_int_ack_special ) + irq = *chrp_int_ack_special; +else + irq =i8259_irq (0 ); +/* +* Acknowledge as soon as possible to allow i8259 +* interrupt nesting */ +openpic_eoi (smp_processor_id ()); + openpic_eoi_done =1 ; + } +if (irq ==OPENPIC_VEC_SPURIOUS ) + { +/* +* Spurious interrupts should never be +* acknowledged +*/ + ppc_spurious_interrupts++; + openpic_eoi_done =1 ; + goto out; + } + bits =1UL << irq; + +if (irq <0 ) + { +printk (KERN_DEBUG "Bogus interrupt %d from PC = %lx\n" , + irq, regs->nip); + ppc_spurious_interrupts++; + } +else + { +ppc_irq_dispatch_handler ( regs, irq ); + } +out: +if (!openpic_eoi_done) +openpic_eoi (smp_processor_id ()); +} + __initfunc(void chrp_init_IRQ(void)) {
@@ -570,7 +646,7 @@ ppc_md.get_cpuinfo = chrp_get_cpuinfo; ppc_md.irq_cannonicalize = chrp_irq_cannonicalize; ppc_md.init_IRQ = chrp_init_IRQ; - ppc_md.do_IRQ = open_pic_do_IRQ; + ppc_md.do_IRQ = chrp_do_IRQ; ppc_md.init = chrp_init2;
arch/ppc/kernel/open_pic.c +23 -94
139 lines not on this page · raw message
arch/ppc/kernel/open_pic.h +0 -1
@@ -6,7 +6,6 @@extern struct hw_interrupt_type open_pic; -void open_pic_do_IRQ (struct pt_regs *regs,int cpu,int isfake);void openpic_ipi_action (int cpl,void *dev_id,struct pt_regs *regs);void openpic_enable_IPI (u_int ipi);void do_openpic_setup_cpu (void );
arch/ppc/kernel/openpic.c +21 -41
150 lines not on this page · raw message
arch/ppc/kernel/pmac_pic.c +3 -1
@@ -32,6 +32,8 @@extern u_int openpic_read (volatile u_int *addr); +extern void chrp_do_IRQ (struct pt_regs *,int ,int ); +#define MAXCOUNT 10000000#define GATWICK_IRQ_POOL_SIZE 10
@@ -385,7 +387,7 @@ irq_desc[i].ctl = &open_pic; irq_desc[i].level =0 ; } - ppc_md.do_IRQ = open_pic_do_IRQ; + ppc_md.do_IRQ = chrp_do_IRQ; open_pic.irq_offset =0 ;openpic_init (1 );#ifdef CONFIG_XMON
arch/ppc/kernel/prep_pci.c +6 -1
@@ -5,6 +5,9 @@* rewritten and updated by Cort Dougan ([email protected]) * * The motherboard routes/maps will disappear shortly. -- Cort +* +* Add chrp_do_IRQ into ppc_md.do_IRQ -- Krzysztof Taraszka ([email protected]) +* */ #include <linux/types.h>
@@ -43,6 +46,8 @@/* Used for Motorola to store system config register */ static unsigned long *ProcInfo; +extern void chrp_do_IRQ (struct pt_regs *,int ,int ); +/* Tables for known hardware */ /* Motorola PowerStackII - Utah */
@@ -783,7 +788,7 @@ OpenPIC_InitSenses = mvme2600_openpic_initsenses; OpenPIC_NumInitSenses =sizeof (mvme2600_openpic_initsenses); - ppc_md.do_IRQ = open_pic_do_IRQ; + ppc_md.do_IRQ = chrp_do_IRQ;/* If raven is present on Motorola store the system config register * for later use.
Quoted 5 lines · At Fri Aug 30 2002 - 12:54:37 EST Krzysiek Taraszka ([email protected]) wrote:
Great work, but in 2.2.22rc2 powerpc's still broken. First of All Sources have got a lot of unsed stuff. For example look like that:
[dzimi@cyborg linux]$ rgrep -n -R '*.*' '
CONFIG_PPC64' .
...
Doesn't sound like -rc (release canidate) changes.
Quoted 8 lines
Second kernel-2.2.21 still have got time init problems in symbios driver on powerpc platform.
I send to you my ugly hack witch work, but IMHO he's ugly ;) I need to do it correct.Third, kernel for powerpc boot and work on g3-266 but on g3-333 Ops ... (kernel traps, kernel wrote: Caused by SRR1 or somethink like that, in 2.3 i saw #define
FIX_SRR1macro ...)
Well, SRR1 doesn't cause traps, but it does help tell you why they occurred. And the FIX_SRR1 stuff isn't the solution either if you look at it closer. How about a decoded oops? Also, you didn't say what platform you were using.
As far as the open-pic changes you posted, how about explaining what your trying to fix (partly hidden by the rename and move to chrp_setup.c from open_pic.c)?
I see you are wrapping the 8259 checks, but it also refers to a few new functions/macros I didn't see defined.
How about discussing these problems and patches over at [email protected] ? (I set the reply-to there).
milton