firefly-linux-kernel-4.4.55.git
18 years ago[PATCH] mm/slob.c: for_each_possible_cpu(), not NR_CPUS
John Hawkes [Wed, 19 Apr 2006 05:20:33 +0000 (22:20 -0700)]
[PATCH] mm/slob.c: for_each_possible_cpu(), not NR_CPUS

Convert for-loops that explicitly reference "NR_CPUS" into the
potentially more efficient for_each_possible_cpu() construct.

Signed-off-by: John Hawkes <hawkes@sgi.com>
Cc: Matt Mackall <mpm@selenic.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] swsusp: prevent possible image corruption on resume
Rafael J. Wysocki [Wed, 19 Apr 2006 05:20:29 +0000 (22:20 -0700)]
[PATCH] swsusp: prevent possible image corruption on resume

The function free_pagedir() used by swsusp for freeing its internal data
structures clears the PG_nosave and PG_nosave_free flags for each page
being freed.

However, during resume PG_nosave_free set means that the page in
question is "unsafe" (ie.  it will be overwritten in the process of
restoring the saved system state from the image), so it should not be
used for the image data.

Therefore free_pagedir() should not clear PG_nosave_free if it's called
during resume (otherwise "unsafe" pages freed by it may be used for
storing the image data and the data may get corrupted later on).

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] m41t00: fix bitmasks when writing to chip
David Barksdale [Wed, 19 Apr 2006 05:20:27 +0000 (22:20 -0700)]
[PATCH] m41t00: fix bitmasks when writing to chip

Fix the bitmasks used when writing to the M41T00 registers.

The original code used a mask of 0x7f when writing to each register,
this is incorrect and probably the result of a copy-paste error.  As a
result years from 1980 to 1999 will be read back as 2000 to 2019.

Signed-off-by: David Barksdale <amatus@ocgnet.org>
Acked-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] uml: MADV_REMOVE fixes
Jeff Dike [Wed, 19 Apr 2006 05:20:24 +0000 (22:20 -0700)]
[PATCH] uml: MADV_REMOVE fixes

MADV_REMOVE fixes - change the test mapping to be MAP_SHARED instead of
MAP_PRIVATE, as MADV_REMOVE on MAP_PRIVATE maps won't work.  Also, use
the kernel's definition of MADV_REMOVE instead of hardcoding it if there
isn't a libc definition.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Hugh Dickins <hugh@veritas.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] for_each_possible_cpu: x86_64
KAMEZAWA Hiroyuki [Wed, 19 Apr 2006 05:20:21 +0000 (22:20 -0700)]
[PATCH] for_each_possible_cpu: x86_64

for_each_cpu() actually iterates across all possible CPUs.  We've had
mistakes in the past where people were using for_each_cpu() where they
should have been iterating across only online or present CPUs.  This is
inefficient and possibly buggy.

We're renaming for_each_cpu() to for_each_possible_cpu() to avoid this
in the future.

This patch replaces for_each_cpu with for_each_possible_cpu.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Acked-by: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] task: Make task list manipulations RCU safe
Eric W. Biederman [Wed, 19 Apr 2006 05:20:16 +0000 (22:20 -0700)]
[PATCH] task: Make task list manipulations RCU safe

While we can currently walk through thread groups, process groups, and
sessions with just the rcu_read_lock, this opens the door to walking the
entire task list.

We already have all of the other RCU guarantees so there is no cost in
doing this, this should be enough so that proc can stop taking the
tasklist lock during readdir.

prev_task was killed because it has no users, and using it will miss new
tasks when doing an rcu traversal.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] uml: make 64-bit COW files compatible with 32-bit ones
Paolo 'Blaisorblade' Giarrusso [Wed, 19 Apr 2006 05:20:13 +0000 (22:20 -0700)]
[PATCH] uml: make 64-bit COW files compatible with 32-bit ones

This is the minimal fix to make 64-bit UML binaries create 32-bit
compatible COW files and read them.

I've indeed tested that current code doesn't do this - the code gets
SIGFPE for a division by a value read at the wrong place, where 0 is
found.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoLinux v2.6.17-rc2
Linus Torvalds [Wed, 19 Apr 2006 03:00:49 +0000 (20:00 -0700)]
Linux v2.6.17-rc2

18 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Wed, 19 Apr 2006 02:49:42 +0000 (19:49 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (47 commits)
  [MAINTAINERS] The ham radio code now has website at http://www.linux-ax25.org.
  [MIPS] Use __ffs() instead of ffs() for waybit calculation.
  [MIPS] Fix Makefile bugs for MIPS32/MIPS64 R1 and R2.
  [MIPS] Handle IDE PIO cache aliases on SMP.
  [MIPS] Make mips_srs_init static.
  [MIPS] MIPS boards: Set HZ to 100.
  [MIPS] kgdb: Let gcc compute the array size itself.
  [MIPS] FPU affinity for MT ASE.
  [MIPS] MT: Improved multithreading support.
  [MIPS] kpsd and other AP/SP improvements.
  [MIPS] R2: Instruction hazard barrier.
  [MIPS] Fix genrtc compilation.
  [MIPS] R2: Implement shadow register allocation without spinlock.
  [MIPS] Fix VR41xx build errors.
  [MIPS] Fix tx49_blast_icache32_page_indexed.
  [MIPS] Enable SCHED_NO_NO_OMIT_FRAME_POINTER for MIPS.
  [MIPS] Use "R" constraint for cache_op.
  [MIPS] Rewrite all the assembler interrupt handlers to C.
  [MIPS] Fix the crime against humanity that mipsIRQ.S is.
  [MIPS] Fixup damage done by 22a9835c350782a5c3257343713932af3ac92ee0.
  ...

18 years ago[MAINTAINERS] The ham radio code now has website at http://www.linux-ax25.org.
Ralf Baechle [Wed, 19 Apr 2006 02:14:30 +0000 (04:14 +0200)]
[MAINTAINERS] The ham radio code now has website at linux-ax25.org.

18 years ago[MIPS] Use __ffs() instead of ffs() for waybit calculation.
Atsushi Nemoto [Fri, 7 Apr 2006 16:33:31 +0000 (01:33 +0900)]
[MIPS] Use __ffs() instead of ffs() for waybit calculation.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fix Makefile bugs for MIPS32/MIPS64 R1 and R2.
Ralf Baechle [Wed, 5 Apr 2006 23:44:25 +0000 (00:44 +0100)]
[MIPS] Fix Makefile bugs for MIPS32/MIPS64 R1 and R2.

This fixes kernel builds with gcc 3.2 (not 64-bit, that is looking like
it is beyond recovery) and 3.3.  With these bugs fixed we now also can
get undo 3b4c4996a0c24da9e6f8be764e3950b756b18cc0 and similar bits for
SMTC that were added in 79cc8007b93838a670b164b8a55ab3e735a12a8b.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Handle IDE PIO cache aliases on SMP.
Ralf Baechle [Wed, 5 Apr 2006 19:42:04 +0000 (20:42 +0100)]
[MIPS] Handle IDE PIO cache aliases on SMP.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Make mips_srs_init static.
Ralf Baechle [Wed, 5 Apr 2006 08:45:49 +0000 (09:45 +0100)]
[MIPS] Make mips_srs_init static.

Nothing outside traps.c uses it.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] MIPS boards: Set HZ to 100.
Ralf Baechle [Wed, 5 Apr 2006 08:45:48 +0000 (09:45 +0100)]
[MIPS] MIPS boards: Set HZ to 100.

1000Hz will bring an FPGA CPU down on it's knees and it's even worse on
multithreaded cores.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] kgdb: Let gcc compute the array size itself.
Ralf Baechle [Wed, 5 Apr 2006 08:45:48 +0000 (09:45 +0100)]
[MIPS] kgdb: Let gcc compute the array size itself.

This is the same method as used in the serial driver.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] FPU affinity for MT ASE.
Ralf Baechle [Wed, 5 Apr 2006 08:45:47 +0000 (09:45 +0100)]
[MIPS] FPU affinity for MT ASE.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] MT: Improved multithreading support.
Ralf Baechle [Wed, 5 Apr 2006 08:45:45 +0000 (09:45 +0100)]
[MIPS] MT: Improved multithreading support.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] kpsd and other AP/SP improvements.
Ralf Baechle [Wed, 5 Apr 2006 08:45:45 +0000 (09:45 +0100)]
[MIPS] kpsd and other AP/SP improvements.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] R2: Instruction hazard barrier.
Ralf Baechle [Wed, 5 Apr 2006 08:45:45 +0000 (09:45 +0100)]
[MIPS] R2: Instruction hazard barrier.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fix genrtc compilation.
Ralf Baechle [Tue, 4 Apr 2006 15:59:37 +0000 (16:59 +0100)]
[MIPS] Fix genrtc compilation.

Signed-off-by: Ralf Roesch <ralf.roesch@rw-gmbh.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] R2: Implement shadow register allocation without spinlock.
Ralf Baechle [Tue, 4 Apr 2006 14:09:06 +0000 (15:09 +0100)]
[MIPS] R2: Implement shadow register allocation without spinlock.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fix VR41xx build errors.
Yoichi Yuasa [Tue, 4 Apr 2006 11:48:47 +0000 (20:48 +0900)]
[MIPS] Fix VR41xx build errors.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
18 years ago[MIPS] Fix tx49_blast_icache32_page_indexed.
Atsushi Nemoto [Tue, 4 Apr 2006 08:34:14 +0000 (17:34 +0900)]
[MIPS] Fix tx49_blast_icache32_page_indexed.

Fix the cache index value in tx49_blast_icache32_page_indexed().
This is a damage by de62893bc0725f8b5f0445250577cd7a10b2d8f8 commit.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Enable SCHED_NO_NO_OMIT_FRAME_POINTER for MIPS.
Atsushi Nemoto [Tue, 4 Apr 2006 04:11:45 +0000 (13:11 +0900)]
[MIPS] Enable SCHED_NO_NO_OMIT_FRAME_POINTER for MIPS.

MIPS get_wchan() no longer requires -fno-omit-frame-pointer.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Use "R" constraint for cache_op.
Ralf Baechle [Mon, 3 Apr 2006 22:32:39 +0000 (23:32 +0100)]
[MIPS] Use "R" constraint for cache_op.

Gcc might emit an absolute address for the the "m" constraint which
gas unfortunately does not permit.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Rewrite all the assembler interrupt handlers to C.
Ralf Baechle [Mon, 3 Apr 2006 16:56:36 +0000 (17:56 +0100)]
[MIPS] Rewrite all the assembler interrupt handlers to C.

Saves like 1,600 lines of code, is way easier to debug, compilers
frequently do a better job than the cut and paste type of handlers many
boards had.  And finally having all the stuff done in a single place
also means alot of bug potencial for the MT ASE is gone.

The only surviving handler in assembler is the DECstation one; I hope
Maciej will rewrite it.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fix the crime against humanity that mipsIRQ.S is.
Ralf Baechle [Mon, 3 Apr 2006 12:17:41 +0000 (13:17 +0100)]
[MIPS] Fix the crime against humanity that mipsIRQ.S is.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fixup damage done by 22a9835c350782a5c3257343713932af3ac92ee0.
Ralf Baechle [Mon, 3 Apr 2006 13:44:50 +0000 (14:44 +0100)]
[MIPS] Fixup damage done by 22a9835c350782a5c3257343713932af3ac92ee0.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Replace redundant declarations of _end by <asm/sections.h>.
Ralf Baechle [Mon, 3 Apr 2006 09:17:21 +0000 (10:17 +0100)]
[MIPS] Replace redundant declarations of _end by <asm/sections.h>.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] JMR3927 build fixes for the RTC code.
Ralf Baechle [Sun, 2 Apr 2006 23:21:30 +0000 (00:21 +0100)]
[MIPS] JMR3927 build fixes for the RTC code.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] EV96100: ev96100_cpu_irq needs a struct pt_regs argument.
Ralf Baechle [Sun, 2 Apr 2006 21:17:09 +0000 (22:17 +0100)]
[MIPS] EV96100: ev96100_cpu_irq needs a struct pt_regs argument.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] EV96100: Fix over two year old typo in variable name.
Ralf Baechle [Sun, 2 Apr 2006 21:07:36 +0000 (22:07 +0100)]
[MIPS] EV96100: Fix over two year old typo in variable name.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Ocelot 3: Fix build errors after the recent move of Marvell headers.
Ralf Baechle [Sun, 2 Apr 2006 17:43:09 +0000 (18:43 +0100)]
[MIPS] Ocelot 3: Fix build errors after the recent move of Marvell headers.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] MV6434x: Add prototype of interrupt dispatch function.
Ralf Baechle [Sun, 2 Apr 2006 17:06:43 +0000 (18:06 +0100)]
[MIPS] MV6434x: Add prototype of interrupt dispatch function.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] it8172: Fix build of serial driver.
Ralf Baechle [Sun, 2 Apr 2006 12:48:57 +0000 (13:48 +0100)]
[MIPS] it8172: Fix build of serial driver.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] ITE: Glue build.
Ralf Baechle [Sun, 2 Apr 2006 12:47:51 +0000 (13:47 +0100)]
[MIPS] ITE: Glue build.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] MV6434x: The name of the CPP symbol is __mips__, not __MIPS__.
Ralf Baechle [Sun, 2 Apr 2006 12:17:58 +0000 (13:17 +0100)]
[MIPS] MV6434x: The name of the CPP symbol is __mips__, not __MIPS__.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Jaguar: Fix build errors after the recent move of Marvell headers.
Ralf Baechle [Sun, 2 Apr 2006 12:16:45 +0000 (13:16 +0100)]
[MIPS] Jaguar: Fix build errors after the recent move of Marvell headers.

Some things were renamed because the PPC variant of the MV-643XX now
uses the same header and the Jaguar code didn't catch up on that.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] ITE8172: Fix build error due to missmatching prototypes.
Ralf Baechle [Sun, 2 Apr 2006 12:14:42 +0000 (13:14 +0100)]
[MIPS] ITE8172: Fix build error due to missmatching prototypes.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fix CONFIG_LIMITED_DMA build.
Ralf Baechle [Sun, 2 Apr 2006 12:13:19 +0000 (13:13 +0100)]
[MIPS] Fix CONFIG_LIMITED_DMA build.

This fix a build error for the Momentum Jaguar ATX eval board.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] PNX8550 build fix.
Ralf Baechle [Sat, 1 Apr 2006 20:25:28 +0000 (21:25 +0100)]
[MIPS] PNX8550 build fix.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Rewrite spurious_interrupt from assembler to C.
Ralf Baechle [Sat, 1 Apr 2006 20:17:45 +0000 (21:17 +0100)]
[MIPS] Rewrite spurious_interrupt from assembler to C.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fix breakage due to the grand makefile crapectomy.
Ralf Baechle [Sat, 1 Apr 2006 19:43:58 +0000 (20:43 +0100)]
[MIPS] Fix breakage due to the grand makefile crapectomy.

It's cc-option not cc-options.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Sort out duplicate exports.
Ralf Baechle [Sat, 1 Apr 2006 06:49:52 +0000 (07:49 +0100)]
[MIPS] Sort out duplicate exports.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Wire up sync_file_range(2).
Ralf Baechle [Sat, 1 Apr 2006 06:49:21 +0000 (07:49 +0100)]
[MIPS] Wire up sync_file_range(2).

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Wire splice syscall.
Ralf Baechle [Fri, 31 Mar 2006 08:27:20 +0000 (09:27 +0100)]
[MIPS] Wire splice syscall.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] More SHT_* and SHF_* ELF definitions.
Ralf Baechle [Thu, 30 Mar 2006 20:27:47 +0000 (21:27 +0100)]
[MIPS] More SHT_* and SHF_* ELF definitions.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fix vectored interrupt support in TLB exception handler generator.
Ralf Baechle [Wed, 29 Mar 2006 17:53:00 +0000 (18:53 +0100)]
[MIPS] Fix vectored interrupt support in TLB exception handler generator.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Provide access functions for c0_badvaddr.
Ralf Baechle [Wed, 29 Mar 2006 17:51:06 +0000 (18:51 +0100)]
[MIPS] Provide access functions for c0_badvaddr.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Some formatting fixes.
Ralf Baechle [Wed, 29 Mar 2006 13:12:58 +0000 (14:12 +0100)]
[MIPS] Some formatting fixes.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fixup printk in mips_srs_init.
Ralf Baechle [Wed, 29 Mar 2006 13:11:22 +0000 (14:11 +0100)]
[MIPS] Fixup printk in mips_srs_init.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Remove redundant initialization of sr_allocated.
Ralf Baechle [Wed, 29 Mar 2006 13:10:09 +0000 (14:10 +0100)]
[MIPS] Remove redundant initialization of sr_allocated.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Make set_vi_srs_handler static.
Ralf Baechle [Wed, 29 Mar 2006 13:09:14 +0000 (14:09 +0100)]
[MIPS] Make set_vi_srs_handler static.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Cleanup free_initmem the same way as i386 did.
Ralf Baechle [Fri, 24 Mar 2006 13:21:50 +0000 (13:21 +0000)]
[MIPS] Cleanup free_initmem the same way as i386 did.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Added tb0287_defconfig back.
Yoichi Yuasa [Wed, 22 Mar 2006 02:22:09 +0000 (11:22 +0900)]
[MIPS] Added tb0287_defconfig back.

Signed-off-by: Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Wed, 19 Apr 2006 01:03:22 +0000 (18:03 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [NET]: Remove redundant NULL checks before [kv]free
  unaligned access in sk_run_filter()
  [IPV6]: Clean up hop-by-hop options handler.
  [IPV6] XFRM: Fix decoding session with preceding extension header(s).
  [IPV6] XFRM: Don't use old copy of pointer after pskb_may_pull().
  [IPV6]: Ensure to have hop-by-hop options in our header of &sk_buff.
  [TCP]: Fix truesize underflow

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Wed, 19 Apr 2006 01:02:55 +0000 (18:02 -0700)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64]: Fix dependencies of HUGETLB_PAGE_SIZE_64K

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq
Linus Torvalds [Wed, 19 Apr 2006 01:01:47 +0000 (18:01 -0700)]
Merge /pub/scm/linux/kernel/git/davej/cpufreq

* master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq:
  [CPUFREQ] powernow-k8.c: fix a check-after-use
  [CPUFREQ] Remove duplicate check in powernow-k8
  [CPUFREQ] drivers/cpufreq/cpufreq.c: static functions mustn't be exported
  [CPUFREQ] If max_freq got reduced (e.g. by _PPC) a write to sysfs scaling_governor let cpufreq core stuck at low max_freq for ever
  [CPUFREQ] x86_64: Proper null pointer check in powernow_k8_get
  [CPUFREQ] x86_64: Revert earlier powernow-k8 change
  [CPUFREQ] Update LART site URL
  [CPUFREQ] Remove pointless check in conservative governor.
  [CPUFREQ] trailing whitespace removal de-jour.
  [CPUFREQ] extra debugging in cpufreq_add_dev()

18 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Wed, 19 Apr 2006 01:01:19 +0000 (18:01 -0700)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  [ARM] 3479/1: Corgi SSP: Fix potential concurrent access problem
  [ARM] 3478/1: SharpSL SCOOP: Fix potenial build failure

18 years ago[SPARC64]: Fix dependencies of HUGETLB_PAGE_SIZE_64K
Jean-Luc Léger [Tue, 18 Apr 2006 23:19:53 +0000 (16:19 -0700)]
[SPARC64]: Fix dependencies of HUGETLB_PAGE_SIZE_64K

This patch fixes dependencies of HUGETLB_PAGE_SIZE_64K

Signed-off-by: Jean-Luc Léger <jean-luc.leger@dspnet.fr.eu.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NET]: Remove redundant NULL checks before [kv]free
Jesper Juhl [Tue, 18 Apr 2006 21:51:44 +0000 (14:51 -0700)]
[NET]: Remove redundant NULL checks before [kv]free

Redundant NULL check before kfree removal
from net/

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Acked-by: James Morris <jmorris@namei.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agounaligned access in sk_run_filter()
Dmitry Mishin [Tue, 18 Apr 2006 21:50:10 +0000 (14:50 -0700)]
unaligned access in sk_run_filter()

This patch fixes unaligned access warnings noticed on IA64
in sk_run_filter(). 'ptr' can be unaligned.

Signed-off-By: Dmitry Mishin <dim@openvz.org>
Signed-off-By: Kirill Korotaev <dev@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV6]: Clean up hop-by-hop options handler.
YOSHIFUJI Hideaki [Tue, 18 Apr 2006 21:48:45 +0000 (14:48 -0700)]
[IPV6]: Clean up hop-by-hop options handler.

- Removed unused argument (nhoff) for ipv6_parse_hopopts().
- Make ipv6_parse_hopopts() to align with other extension header
  handlers.
- Removed pointless assignment (hdr), which is not used afterwards.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV6] XFRM: Fix decoding session with preceding extension header(s).
YOSHIFUJI Hideaki [Tue, 18 Apr 2006 21:47:44 +0000 (14:47 -0700)]
[IPV6] XFRM: Fix decoding session with preceding extension header(s).

We did not correctly decode session with preceding extension
header(s).  This was because we had already pulled preceding
headers, skb->nh.raw + 40 + 1 - skb->data was minus, and
pskb_may_pull() failed.

We now have IP6CB(skb)->nhoff and skb->h.raw, and we can
start parsing / decoding upper layer protocol from current
position.

Tracked down by Noriaki TAKAMIYA <takamiya@po.ntts.co.jp>
and tested by Kazunori Miyazawa <kazunori@miyazawa.org>.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV6] XFRM: Don't use old copy of pointer after pskb_may_pull().
YOSHIFUJI Hideaki [Tue, 18 Apr 2006 21:46:52 +0000 (14:46 -0700)]
[IPV6] XFRM: Don't use old copy of pointer after pskb_may_pull().

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV6]: Ensure to have hop-by-hop options in our header of &sk_buff.
YOSHIFUJI Hideaki [Tue, 18 Apr 2006 21:46:26 +0000 (14:46 -0700)]
[IPV6]: Ensure to have hop-by-hop options in our header of &sk_buff.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[TCP]: Fix truesize underflow
Herbert Xu [Tue, 18 Apr 2006 20:24:14 +0000 (13:24 -0700)]
[TCP]: Fix truesize underflow

There is a problem with the TSO packet trimming code.  The cause of
this lies in the tcp_fragment() function.

When we allocate a fragment for a completely non-linear packet the
truesize is calculated for a payload length of zero.  This means that
truesize could in fact be less than the real payload length.

When that happens the TSO packet trimming can cause truesize to become
negative.  This in turn can cause sk_forward_alloc to be -n * PAGE_SIZE
which would trigger the warning.

I've copied the code DaveM used in tso_fragment which should work here.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[CPUFREQ] powernow-k8.c: fix a check-after-use
Adrian Bunk [Tue, 18 Apr 2006 22:07:28 +0000 (00:07 +0200)]
[CPUFREQ] powernow-k8.c: fix a check-after-use

This patch fixes a check-after-use introduced by commit
4211a30349e8d2b724cfb4ce2584604f5e59c299 and spotted by the Coverity checker.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Dave Jones <davej@redhat.com>
18 years ago[CPUFREQ] Remove duplicate check in powernow-k8
Tobias Klauser [Mon, 10 Apr 2006 17:20:12 +0000 (19:20 +0200)]
[CPUFREQ] Remove duplicate check in powernow-k8

Remove a duplicate NULL pointer check introduced by commit
4211a30349e8d2b724cfb4ce2584604f5e59c299

Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Signed-off-by: Dave Jones <davej@redhat.com>
18 years ago[CPUFREQ] drivers/cpufreq/cpufreq.c: static functions mustn't be exported
Adrian Bunk [Tue, 18 Apr 2006 15:06:13 +0000 (17:06 +0200)]
[CPUFREQ] drivers/cpufreq/cpufreq.c: static functions mustn't be exported

This patch removes the EXPORT_SYMBOL_GPL of the static function cpufreq_parse_governor().

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Dave Jones <davej@redhat.com>
18 years ago[CPUFREQ] If max_freq got reduced (e.g. by _PPC) a write to sysfs scaling_governor...
Thomas Renninger [Thu, 13 Apr 2006 13:14:04 +0000 (15:14 +0200)]
[CPUFREQ] If max_freq got reduced (e.g. by _PPC) a write to sysfs scaling_governor let cpufreq core stuck at low max_freq for ever

The previous patch had bugs (locking and refcount).

This one could also be related to the latest DELL reports.
But they only slip into this if a user prog (e.g. powersave daemon does when
AC got (un) plugged due to a scheme change) echos something to
/sys/../cpufreq/scaling_governor
while the frequencies got limited by BIOS.

This one works:

Subject: Max freq stucks at low freq if reduced by _PPC and sysfs gov access

The problem is reproducable by(if machine is limiting freqs via BIOS):
 - Unplugging AC -> max freq gets limited
 - echo ${governor} >/sys/.../cpufreq/scaling_governor (policy->user_data.max
   gets overridden with policy->max and will never come up again.)

This patch exchanged the cpufreq_set_policy call to __cpufreq_set_policy and
duplicated it's functionality but did not override user_data.max.
The same happens with overridding min/max values. If freqs are limited and
you override the min freq value, the max freq global value will also get
stuck to the limited freq, even if BIOS allows all freqs again.
Last scenario does only happen if BIOS does not reduce the frequency
to the lowest value (should never happen, just for correctness...)

 drivers/cpufreq/cpufreq.c |   17 +++++++++++++++--
 1 files changed, 15 insertions(+), 2 deletions(-)

Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: "Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>
Signed-off-by: Dave Jones <davej@redhat.com>
18 years agoMerge ../linus
Dave Jones [Tue, 18 Apr 2006 22:19:55 +0000 (17:19 -0500)]
Merge ../linus

18 years ago[ARM] 3479/1: Corgi SSP: Fix potential concurrent access problem
Richard Purdie [Tue, 18 Apr 2006 22:18:54 +0000 (23:18 +0100)]
[ARM] 3479/1: Corgi SSP: Fix potential concurrent access problem

Patch from Richard Purdie

corgi_ssp_probe() should not access GPDR directly but should use
pxa_gpio_mode() which has appropriate locking and other safeguards.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years ago[ARM] 3478/1: SharpSL SCOOP: Fix potenial build failure
Richard Purdie [Tue, 18 Apr 2006 22:18:53 +0000 (23:18 +0100)]
[ARM] 3478/1: SharpSL SCOOP: Fix potenial build failure

Patch from Richard Purdie

Move platform_scoop_config from the SharpSL scoop PCMCIA driver to
the SCOOP driver. This avoids build failures when PCMCIA is not built
or is modular (scoop.c itself cannot be modular).

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
18 years agox86: be careful about tailcall breakage for sys_open[at] too
Linus Torvalds [Tue, 18 Apr 2006 20:22:59 +0000 (13:22 -0700)]
x86: be careful about tailcall breakage for sys_open[at] too

Came up through a quick grep for other cases similar to the ftruncate()
one in commit 0a489cb3b6a7b277030cdbc97c2c65905db94536.

Also, add a comment, so that people who read the code understand why we
do what looks like a no-op.

(Again, this won't actually matter to any sane user, since libc will
save and restore the register gcc stomps on, but it's still wrong to
stomp on it)

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agox86: don't allow tail-calls in sys_ftruncate[64]()
Linus Torvalds [Tue, 18 Apr 2006 20:02:48 +0000 (13:02 -0700)]
x86: don't allow tail-calls in sys_ftruncate[64]()

Gcc thinks it owns the incoming argument stack, but that's not true for
"asmlinkage" functions, and it corrupts the caller-set-up argument stack
when it pushes the third argument onto the stack.  Which can result in
%ebx getting corrupted in user space.

Now, normally nobody sane would ever notice, since libc will save and
restore %ebx anyway over the system call, but it's still wrong.

I'd much rather have "asmlinkage" tell gcc directly that it doesn't own
the stack, but no such attribute exists, so we're stuck with our hacky
manual "prevent_tail_call()" macro once more (we've had the same issue
before with sys_waitpid() and sys_wait4()).

Thanks to Hans-Werner Hilse <hilse@sub.uni-goettingen.de> for reporting
the issue and testing the fix.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge branch 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
Linus Torvalds [Tue, 18 Apr 2006 17:49:11 +0000 (10:49 -0700)]
Merge branch 'drm-patches' of git://git./linux/kernel/git/airlied/drm-2.6

* 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
  drm: Fix further issues in drivers/char/drm/via_irq.c
  drivers/char/drm/drm_memory.c: possible cleanups
  drm: deline a few large inlines in DRM code
  drm: remove master setting from add/remove context
  drm: drm_pci needs dma-mapping.h
  [PATCH] drm: Fix issue reported by Coverity in drivers/char/drm/via_irq.c

18 years ago[PATCH] i386: Move CONFIG_DOUBLEFAULT into arch/i386 where it belongs.
Andi Kleen [Tue, 18 Apr 2006 10:35:22 +0000 (12:35 +0200)]
[PATCH] i386: Move CONFIG_DOUBLEFAULT into arch/i386 where it belongs.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Add tee and sync_file_range
Andi Kleen [Tue, 18 Apr 2006 10:35:19 +0000 (12:35 +0200)]
[PATCH] x86_64: Add tee and sync_file_range

tee was already there for some reason for native 64bit, but
sys_sync_file_range was missing. Also add it to the compat layer.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Increase NUMA hash function nodemap
Andi Kleen [Tue, 18 Apr 2006 10:35:16 +0000 (12:35 +0200)]
[PATCH] x86_64: Increase NUMA hash function nodemap

Needed for some big Opteron systems to compute a numa hash function
They have more than 12 bits significant address.

TBD switch this over to dynamic allocation or use better hash

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: x86_64 add crashdump trigger points
Vivek Goyal [Tue, 18 Apr 2006 10:35:13 +0000 (12:35 +0200)]
[PATCH] x86_64: x86_64 add crashdump trigger points

o Start booting into the capture kernel after an Oops if system is in a
  unrecoverable state. System will boot into the capture kernel, if one is
  pre-loaded by the user, and capture the kernel core dump.

o One of the following conditions should be true to trigger the booting of
  capture kernel.
        - panic_on_oops is set.
        - pid of current thread is 0
        - pid of current thread is 1
        - Oops happened inside interrupt context.

Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] i386/x86-64: Fix ACPI disabled LAPIC handling mismerge
Andi Kleen [Tue, 18 Apr 2006 10:35:10 +0000 (12:35 +0200)]
[PATCH] i386/x86-64: Fix ACPI disabled LAPIC handling mismerge

The patch I submitted earlier to fix disabled LAPIC handling in ACPI
was mismerged for some reason I still don't quite understand. Parts
of it was applied to the wrong function.

This patch fixes it up.

Cc: len.brown@intel.com
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] x86_64: Update defconfig
Andi Kleen [Tue, 18 Apr 2006 10:35:07 +0000 (12:35 +0200)]
[PATCH] x86_64: Update defconfig

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block
Linus Torvalds [Tue, 18 Apr 2006 17:36:49 +0000 (10:36 -0700)]
Merge branch 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block

* 'for-linus' of git://brick.kernel.dk/data/git/linux-2.6-block:
  [PATCH] cfq: Further rbtree traversal and cfq_exit_queue() race fix
  [PATCH 2/2] cfq: fix cic's rbtree traversal
  [PATCH 1/2] iosched: fix typo and barrier()

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge
Linus Torvalds [Tue, 18 Apr 2006 17:34:24 +0000 (10:34 -0700)]
Merge git://git./linux/kernel/git/paulus/powerpc-merge

* git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge:
  powerpc: Use correct sequence for putting CPU into nap mode
  [PATCH] spufs: fix context-switch decrementer code
  [PATCH] powerpc32: Set cpu explicitly in kernel compiles
  [PATCH] powerpc/pseries: bugfix: balance calls to pci_device_put
  [PATCH] powerpc: Fix machine detection in prom_init.c
  [PATCH] ppc32: Fix string comparing in platform_notify_map
  [PATCH] powerpc: Avoid __initcall warnings
  [PATCH] powerpc: Ensure runlatch is off in the idle loop
  powerpc: Fix CHRP booting - needs a define_machine call
  powerpc: iSeries has only 256 IRQs

18 years ago[PATCH] cfq: Further rbtree traversal and cfq_exit_queue() race fix
OGAWA Hirofumi [Tue, 18 Apr 2006 17:18:31 +0000 (19:18 +0200)]
[PATCH] cfq: Further rbtree traversal and cfq_exit_queue() race fix

In current code, we are re-reading cic->key after dead cic->key check.
So, in theory, it may really re-read *after* cfq_exit_queue() seted NULL.

To avoid race, we copy it to stack, then use it. With this change, I
guess gcc will assign cic->key to a register or stack, and it wouldn't
be re-readed.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Jens Axboe <axboe@suse.de>
18 years agopowerpc: Use correct sequence for putting CPU into nap mode
Paul Mackerras [Tue, 18 Apr 2006 11:49:11 +0000 (21:49 +1000)]
powerpc: Use correct sequence for putting CPU into nap mode

We weren't using the recommended sequence for putting the CPU into
nap mode.  When I changed the idle loop, for some reason 7447A cpus
started hanging when we put them into nap mode.  Changing to the
recommended sequence fixes that.

The complexity here is that the recommended sequence is a loop that
keeps putting the cpu back into nap mode.  Clearly we need some way
to break out of the loop when an interrupt (external interrupt,
decrementer, performance monitor) occurs.  Here we use a bit in
the thread_info struct to indicate that we need this, and the exception
entry code notices this and arranges for the exception to return
to the value in the link register, thus breaking out of the loop.
We use a new `local_flags' field in the thread_info which we can
alter without needing to use an atomic update sequence.

The PPC970 has the same recommended sequence, so we do the same thing
there too.

This also fixes a bug in the kernel stack overflow handling code on
32-bit, since it was causing a value that we needed in a register to
get trashed.

Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years agodrm: Fix further issues in drivers/char/drm/via_irq.c
Jayachandran C [Tue, 11 Apr 2006 06:18:28 +0000 (23:18 -0700)]
drm: Fix further issues in drivers/char/drm/via_irq.c

Fix de-reference of 'dev_priv' before NULL check.

Signed-off-by: Jayachandran C. <c.jayachandran@gmail.com>
Cc: Dave Airlie <airlied@linux.ie>
Signed-off-by: Andrew Morton <akpm@osdl.org>
18 years agodrivers/char/drm/drm_memory.c: possible cleanups
Adrian Bunk [Tue, 11 Apr 2006 06:18:27 +0000 (23:18 -0700)]
drivers/char/drm/drm_memory.c: possible cleanups

- #if 0 the following unused global function:
  - drm_ioremap_nocache()

- make the following needlessly global functions static:
  - agp_remap()
  - drm_lookup_map()

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: Dave Airlie <airlied@linux.ie>
Signed-off-by: Andrew Morton <akpm@osdl.org>
18 years ago[PATCH 2/2] cfq: fix cic's rbtree traversal
OGAWA Hirofumi [Tue, 18 Apr 2006 07:45:18 +0000 (09:45 +0200)]
[PATCH 2/2] cfq: fix cic's rbtree traversal

When queue dies, we set cic->key=NULL as dead mark. So, when we
traverse a rbtree, we must check whether it's still valid key. if it
was invalidated, drop it, then restart the traversal from top.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Jens Axboe <axboe@suse.de>
18 years ago[PATCH 1/2] iosched: fix typo and barrier()
OGAWA Hirofumi [Tue, 18 Apr 2006 07:44:06 +0000 (09:44 +0200)]
[PATCH 1/2] iosched: fix typo and barrier()

On rmmod path, cfq/as waits to make sure all io-contexts was
freed. However, it's using complete(), not wait_for_completion().

I think barrier() is not enough in here. To avoid the following case,
this patch replaces barrier() with smb_wmb().

cpu0 visibility cpu1
                [ioc_gnone=NULL,ioc_count=1]

ioc_gnone = &all_gone NULL,ioc_count=1
atomic_read(&ioc_count) NULL,ioc_count=1
wait_for_completion() NULL,ioc_count=0 atomic_sub_and_test()
NULL,ioc_count=0 if ( && ioc_gone)
    [ioc_gone==NULL,
    so doesn't call complete()]
   &all_gone,ioc_count=0

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Jens Axboe <axboe@suse.de>
18 years ago[PATCH] IPC: access to unmapped vmalloc area in grow_ary()
Alexey Kuznetsov [Mon, 17 Apr 2006 11:39:23 +0000 (15:39 +0400)]
[PATCH] IPC: access to unmapped vmalloc area in grow_ary()

grow_ary() should not copy struct ipc_id_ary (it copies new->p, not
new). Due to this, memcpy() src pointer could hit unmapped vmalloc page
when near page boundary.

Found during OpenVZ stress testing

Signed-off-by: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Signed-off-by: Kirill Korotaev <dev@openvz.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Fix MADV_REMOVE protection checking
Hugh Dickins [Mon, 17 Apr 2006 21:46:32 +0000 (22:46 +0100)]
[PATCH] Fix MADV_REMOVE protection checking

madvise_remove needs to respect file and mmap protections.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
[ Will the real CVE-2006-1524 stand up, please.. ]
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Tue, 18 Apr 2006 00:44:47 +0000 (17:44 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [IPV4]: ip_route_input panic fix

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/stable-2.6
Linus Torvalds [Tue, 18 Apr 2006 00:44:17 +0000 (17:44 -0700)]
Merge /pub/scm/linux/kernel/git/gregkh/stable-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/stable-2.6:
  [PATCH] shmat: stop mprotect from giving write permission to a readonly attachment (CVE-2006-1524)
  [PATCH] cciss: bug fix for crash when running hpacucli
  [PATCH] ext3: Fix missed mutex unlock
  [PATCH] Fix block device symlink name
  [PATCH] isd200: limit to BLK_DEV_IDE

18 years ago[IPV4]: ip_route_input panic fix
Stephen Hemminger [Tue, 18 Apr 2006 00:27:11 +0000 (17:27 -0700)]
[IPV4]: ip_route_input panic fix

This fixes http://bugzilla.kernel.org/show_bug.cgi?id=6388
The bug is caused by ip_route_input dereferencing skb->nh.protocol of
the dummy skb passed dow from inet_rtm_getroute (Thanks Thomas for seeing
it). It only happens if the route requested is for a multicast IP
address.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[PATCH] shmat: stop mprotect from giving write permission to a readonly attachment...
Hugh Dickins [Wed, 12 Apr 2006 21:34:27 +0000 (14:34 -0700)]
[PATCH] shmat: stop mprotect from giving write permission to a readonly attachment (CVE-2006-1524)

I found that all of 2.4 and 2.6 have been letting mprotect give write
permission to a readonly attachment of shared memory, whether or not IPC
would give the caller that permission.

SUS says "The behaviour of this function [mprotect] is unspecified if the
mapping was not established by a call to mmap", but I don't think we can
interpret that as allowing it to subvert IPC permissions.

I haven't tried 2.2, but the 2.2.26 source looks like it gets it right; and
the patch below reproduces that behaviour - mprotect cannot be used to add
write permission to a shared memory segment attached readonly.

This patch is simple, and I'm sure it's what we should have done in 2.4.0:
if you want to go on to switch write permission on and off with mprotect,
just don't attach the segment readonly in the first place.

However, we could have accumulated apps which attach readonly (even though
they would be permitted to attach read/write), and which subsequently use
mprotect to switch write permission on and off: it's not unreasonable.

I was going to add a second ipcperms check in do_shmat, to check for
writable when readonly, and if not writable find_vma and clear VM_MAYWRITE.
 But security_ipc_permission might do auditing, and it seems wrong to
report an attempt for write permission when there has been none.  Or we
could flag the vma as SHM, note the shmid or shp in vm_private_data, and
then get mprotect to check.

But the patch below is a lot simpler: I'd rather stick with it, if we can
convince ourselves somehow that it'll be safe.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] cciss: bug fix for crash when running hpacucli
Mike Miller [Mon, 10 Apr 2006 22:38:07 +0000 (15:38 -0700)]
[PATCH] cciss: bug fix for crash when running hpacucli

Fix a crash when running hpacucli with multiple logical volumes on a cciss
controller.  We were not properly initializing the disk->queue and causing
a fault.

Thanks to Hasso Tepper for reporting the problem.  Thanks to Steve Cameron
for root causing the problem.  Most of the patch just moves things around.
The fix is a one-liner.

Signed-off-by: Mike Miller <mike.miller@hp.com>
Signed-off-by: Stephen Cameron <steve.cameron@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
18 years ago[PATCH] ext3: Fix missed mutex unlock
Ananiev, Leonid I [Tue, 11 Apr 2006 05:54:38 +0000 (22:54 -0700)]
[PATCH] ext3: Fix missed mutex unlock

Missed unlock_super()call is added in error condition code path.

Signed-off-by: Leonid Ananiev <leonid.i.ananiev@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>