Andi Kleen [Sat, 24 Jan 2004 02:46:40 +0000 (18:46 -0800)]
[PATCH] x86-64 merge
Mainly lots of bug fixes and a few minor features. One change is that
it uses drivers/Kconfig now like i386. This requires a few minor changes in
outside Kconfig files which I am sending separately.
- Tighten/fix some code in NUMA node discovery
- Fix oopses in threaded 32bit coredumps and read correct registers.
- Merge with 2.6.2rc1
- Sync arch/x86_64/Kconfig with i386. Uses drivers/Kconfig now.
- Remove bcopy export
- Fix check for signal stack for 32bit signals
- Fix bcopy and exit prototypes for gcc 3.4
- Fix asm contraint in usercopy.c for gcc 3.4
- Use rt_sigreturn, not sigreturn for rt sigreturns.
- Pass si_fault address to 32bit
- Truncate si_error to 16bit in 32bit emulation to match i386
- Move IA32 flag switching for 32bit executables to flush_thread
(code copied from ppc64/sparc64)
- Print exception trace for strace too, share code.
- Default to 3GB address space for a.out executables
- Fix security hole in ptrace. Also fixes some problems with 32bit gdb.
- Sync mmap address selection algorithm with mm/mmap.c version
- Disable a.out coredumps completely
- Fix bug in sigaltstack 32bit emulation. Kylix IDE now works.
- Move errata 93/BIOS workaround into fault handler. This should work
around USB legacy BIOS bugs too, although not completely (we cannot fix
faults injected by SMM into user space 64bit processes)
- Quieten some unimplemented 32bit syscall warnings and avoid repeated
warnings.
- Set LDT segment limit correctly (fixes problems with some modify_ldt
user)
- Remove obsolete ldt rw lock.
- Remove sys32_modify_ldt. The standard sys_modify_ldt is equivalent.
- Remove traces of old kgdb support
- Merge CFI changes from Jim Houston and some other smaller changes The
kernel assembly functions are described with dwarf2 unwind
information now, which makes it easier for debuggers to make sense of
stack backtraces. The code is only enabled with CONFIG_DEBUG_INFO.
Note this implies that when you use CONFIG_DEBUG_INFO you may need
an binutils update.
- defconfig updated
- Readd sleep support code (Pavel Machek)
- Drop fusion and flush workarounds from IOMMU code
- Add iommu=nofullflush option
- Rewrite 32bit emulation for siginfo conversion (Joe Korty)
- Allow remapping of scatterlists after unmap. This fixes some problems
with the SCSI layer retrying previously mapped sg lists when iommu
merging was enabled (it's disabled now by default)
- Port HPET rtc device emulation code from i386
Andrew Morton [Fri, 23 Jan 2004 03:00:26 +0000 (19:00 -0800)]
[PATCH] Fix CPU hotplug in networking
The code directly accessed the "cpucontrol" semaphore used
for CPU hotplug. That doesn't work all that well, since the
semaphore doesn't even exist on UP.
Dave Jones [Fri, 23 Jan 2004 00:23:29 +0000 (16:23 -0800)]
[PATCH] Update post-halloween doc url.
I did a s/2.5/2.6/ a while ago, as it made more sense when 2.6 appeared.
The old URL will continue to work (symlink to the new file). If I move
this again, whack me.
Dave Jones [Fri, 23 Jan 2004 00:15:49 +0000 (16:15 -0800)]
[PATCH] DMI updates from 2.4
A lot of the blacklists never made it forward, here's what I found
still lying around in my old 2.5 tree when I brought it up to date.
I think 2.4 has had more updates since then (and there may be
some entries languishing in vendor 2.4 trees), I'll take a peek
when I get some spare cycles.
Dave Jones [Fri, 23 Jan 2004 00:12:48 +0000 (16:12 -0800)]
[PATCH] Correct CPUs printout on boot.
This currently prints out the maximum number of CPUs the
kernel is configured to support, instead of the actual
number that the kernel brought up. Which results in odd
displays that look like you have more CPUs than you do.
Andrew Morton [Fri, 23 Jan 2004 00:04:44 +0000 (16:04 -0800)]
[PATCH] ppc32: Fixes to the signal context code
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This patch (which has been in my tree for some time now) does 2 things to
the ppc32 signal code:
- The new sys_swapcontext() syscall that we added recently (and which is
_not_ yet used by glibc, so it's ok to change it slightly at this point,
glibc kernel version check will limit us to 2.6.2 or 2.6.3) gets a new
context size argument, so we can deal with future context size changes.
- When ucontext is get/set/swapped using the above syscall, the TLS (r2)
is preserved (it's still saved/restored on signal entry & return though).
The equivalent of this patch is already in the ppc64 signal32.c emulation,
and it has no effect until glibc is updated to use the new syscall, which
should happen soon now, so please apply.
[PATCH] non-integrated local APIC LVTT init compatibility
Add back the old i82489DX bits to use timer scaling for the old
non-integrated APIC setup.
It's possible these bits don't need to be set on i82489DXs,
but not having this HW for testing I elected to maintain
the old behaviour on these old machines.
Rusty Russell [Thu, 22 Jan 2004 02:14:37 +0000 (18:14 -0800)]
[NET]: Simplify net/flow.c per-cpu handling.
The cpu handling in net/core/flow.c is complex: it tries to allocate
flow cache as each CPU comes up. It might as well allocate them for
each possible CPU at boot.
Andrew Morton [Thu, 22 Jan 2004 00:15:09 +0000 (16:15 -0800)]
[PATCH] RAID-6 fixes
From: "H. Peter Anvin" <hpa@zytor.com>
As expected, when it hit mainline I started getting real bug reports...
the attached patch does the following:
- Fixes a few x86-64 specific bugs;
- Removes MMX and SSE-1 from x86-64 (if we have x86-64 we have SSE-2);
- Slightly astracts the integer code to make it easier to add
architecture-specific optimizations later (e.g. IA64 once gcc gets
better IA64 intrinsics support);
- Resurrects the user-space testbench, and makes it not output the known
false positive of the D+Q case (D+Q is equivalent to a RAID-5 recovery,
so I didn't implement it in the user-space testbench.)
Ville Nuorvala [Wed, 21 Jan 2004 14:38:52 +0000 (06:38 -0800)]
[IPV6]: Add and use new 'strict' parameter to ip6_chk_addr().
RFC 2461 requires that the source address of Neighbor Discovery messages
is an address assigned to the sending interface.
Duplicate Address Detection should also be interface specific. We don't,
for example, want a node to DoS itself just because it has two interfaces
on the same link and both happen to listen to the same multicast group. If
there is a true duplicate on the link, the interface doing DAD will notice
it anyway.
The attached patch adds a 'strict' parameter to ip6_chk_addr() and
ip6_get_ifaddr() to allow link-local protocols like ND and DAD to do
strict address checks even on addresses with greater scope than
link-local.
Dmitry Torokhov [Wed, 21 Jan 2004 11:25:16 +0000 (12:25 +0100)]
input: If we get a byte with timeout or parity flags in psmouse.c,
we take the appropriate action. (throw the byte away, reset
byte counter, return NAK if acking, and complain).
Andrew Morton [Tue, 20 Jan 2004 11:17:40 +0000 (03:17 -0800)]
[PATCH] do not use shared extable code for ia64
From: Jes Sorensen <jes@trained-monkey.org>
The new sort_extable and shared search_extable code doesn't work on ia64.
I have introduced two new #defines that archs can define to avoid the
common code being built. ARCH_HAS_SEARCH_EXTABLE and
ARCH_HAS_SORT_EXTABLE.
Andrew Morton [Tue, 20 Jan 2004 11:17:23 +0000 (03:17 -0800)]
[PATCH] NFS/RPC modprobe -r sunrpc causes an oops
From: Steve Dickson <SteveD@redhat.com>
Here is a patch for the 2.6.1 kernel that fixes an oops that occurs when
the sunrpc module is unloaded.
The problem was the RPC cache_register() call was not saving entry pointers
to the procfs entries it was creating. So when it came time to dismantle
the entires, a BUG_ON() was tripped in remove_proc_entry() since the tree
was not broken down completely.
Andrew Morton [Tue, 20 Jan 2004 11:17:05 +0000 (03:17 -0800)]
[PATCH] dquot: fix i_blocks accounting and locking
From: Jan Kara <jack@ucw.cz>
A patch which fixes a problem that i_blocks are not updated for quota files
(when quota turned on) in 2.6.1. The patch also fixes possible unlock of
not locked spin_lock.
Andrew Morton [Tue, 20 Jan 2004 11:16:29 +0000 (03:16 -0800)]
[PATCH] reiserfs: cleanup_bitmap_list() check for NULL argument.
From: Nikita Danilov <Nikita@Namesys.COM>
fs/reiserfs/journal.c:cleanup_bitmap_list() can be called to cleanup
reiserfs_list_bitmap that was only partly initialized. Check that
jb->bitmaps array was actually allocated, before trying to free its
elements.
Andrew Morton [Tue, 20 Jan 2004 11:16:20 +0000 (03:16 -0800)]
[PATCH] exception table search fix
The exception table search code currently fails if addresses differ by more
than 2G. This is only a problem when using the 4g/4g address space split,
but it's more robust this way.
Also, shuffle the comparison order n there so the least likely case comes
last.
Andrew Morton [Tue, 20 Jan 2004 11:16:11 +0000 (03:16 -0800)]
[PATCH] ext3: update a_ops when running `chattr +j'
From: Jan Kara <jack@suse.cz>
Journalled-data files need a different set of address_space_operations, so
we need to update the file's aops when someone runs `chattr +j' on the
file.
Andrew Morton [Tue, 20 Jan 2004 11:15:18 +0000 (03:15 -0800)]
[PATCH] md: fixes for !CONFIG_PROCFS
From: "Randy.Dunlap" <rddunlap@osdl.org>
From: Luiz Fernando Capitulino <lcapitulino@prefeitura.sp.gov.br>
It fixes these warnings when !CONFIG_PROC_FS:
drivers/md/md.c: In function `md_geninit':
drivers/md/md.c:3481: warning: unused variable `p'
drivers/md/md.c: At top level:
drivers/md/md.c:3007: warning: `md_seq_fops' defined but not used
Andrew Morton [Tue, 20 Jan 2004 11:14:23 +0000 (03:14 -0800)]
[PATCH] dvb: update core
From: Michael Hunold <hunold@linuxtv.org>
- demux: fix nasty bug where setting multiple filters resulted in ts
packet duplication
- frontend: merge frontend improvements from 2.4 DVB tree:
- schedule_timeout(1) in dvb_frontend.c after setting frontend and
before waking up frontend thread
- do FE_RESET in each iteration of frontend thread if !FE_HAS_LOCK
- use aquire_signal flag to call FE_RESET only after tuning until
FE_HAS_LOCK has been signalled, and not when FE_HAS_LOCK drops out for
short periods of time later
Andrew Morton [Tue, 20 Jan 2004 11:13:56 +0000 (03:13 -0800)]
[PATCH] pc300_tty.c is broken
From: Russell King <rmk+lkml@arm.linux.org.uk>
Russell was unable to correctly migrate this driver to the new
modem-control-signal API because
TIOCMBIS/TIOCMBIC do not control only the DTR signal, but also the RTS,
OUT1 and OUT2 signals, or even maybe nothing at all. Plus, these IOCTLs
are no longer passed down to the driver. Instead, drivers should
implement tiocmget and tiocmset driver methods.
so mark it as broken so as to not break allmodconfig/allyesconfig.
Andrew Morton [Tue, 20 Jan 2004 11:13:47 +0000 (03:13 -0800)]
[PATCH] sendfile calls lock_verify_area with wrong parameters
From: Manfred Spraul <manfred@colorfullife.com>
sendfile supports reading from a given start offset for in_file, like
pread. But for the locks_verify_area call, in_file->f_pos is always used,
even if a start offset is used. Result: wrong area is checked for
mandatory locks.
Andrew Morton [Tue, 20 Jan 2004 11:13:29 +0000 (03:13 -0800)]
[PATCH] Default hooks protecting the XATTR_SECURITY_PREFIX namespace
From: Chris Wright <chrisw@osdl.org>
Add default hooks for both the dummy and capability code to protect the
XATTR_SECURITY_PREFIX namespace. These EAs were fully accessible to
unauthorized users, so a user that rebooted from an SELinux kernel to a
default kernel would leave those critical EAs unprotected.