linux-2.6
19 years ago[PATCH] device-mapper: tidy dm_suspend
Alasdair G Kergon [Thu, 5 May 2005 23:16:06 +0000 (16:16 -0700)] 
[PATCH] device-mapper: tidy dm_suspend

Tidy dm_suspend.

Signed-Off-By: Alasdair G Kergon <agk@redhat.com>
From: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] device-mapper: handle __lock_fs error
Alasdair G Kergon [Thu, 5 May 2005 23:16:05 +0000 (16:16 -0700)] 
[PATCH] device-mapper: handle __lock_fs error

Handle error from __lock_fs()

Signed-Off-By: Alasdair G Kergon <agk@redhat.com>
From: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] device-mapper: let freeze_bdev return error
Alasdair G Kergon [Thu, 5 May 2005 23:16:04 +0000 (16:16 -0700)] 
[PATCH] device-mapper: let freeze_bdev return error

Allow freeze_bdev() to return an error.

Signed-Off-By: Alasdair G Kergon <agk@redhat.com>
From: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] device-mapper: __unlock_fs void
Alasdair G Kergon [Thu, 5 May 2005 23:16:04 +0000 (16:16 -0700)] 
[PATCH] device-mapper: __unlock_fs void

Make __unlock_fs() void.

From: Christoph Hellwig <hch@lst.de>

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] device-mapper: store bdev while frozen
Alasdair G Kergon [Thu, 5 May 2005 23:16:03 +0000 (16:16 -0700)] 
[PATCH] device-mapper: store bdev while frozen

Store the struct block_device while device is frozen, saving us one call to
bdget_disk().

Signed-Off-By: Alasdair G Kergon <agk@redhat.com>
From: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] revert ext3-writepages-support-for-writeback-mode
Andrew Morton [Thu, 5 May 2005 23:16:02 +0000 (16:16 -0700)] 
[PATCH] revert ext3-writepages-support-for-writeback-mode

This had a fatal lock ranking bug: we do journal_start outside
mpage_writepages()'s lock_page().

Revert the whole thing, think again.

Credit-to: Jan Kara <jack@suse.cz>

For identifying the bug.

Cc: Badari Pulavarty <pbadari@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] orinoco MAINTAINERS update
Pavel Roskin [Thu, 5 May 2005 23:16:01 +0000 (16:16 -0700)] 
[PATCH] orinoco MAINTAINERS update

Add mailing list addresses for Orinoco and update its homepage.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Cc: David Gibson <hermes@gibson.dropbear.id.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] bttv: fix dst i2c read/write timeout failure.
Manu Abraham [Thu, 5 May 2005 23:16:01 +0000 (16:16 -0700)] 
[PATCH] bttv: fix dst i2c read/write timeout failure.

Attached is a patch to bttv which fixes the following problems.

Affected cards and problems:
~~~~~~~~~~~~~~~~~~~~~~~~
o VP-1020 (200103A) Tuning problems, device detection.
o VP-1020 (DST-MOT) Errors during tuning, device detection fails in a while.
o VP-1030 (DST-CI) Tuning sometimes fails after CI commands.
o VP-2031 (DCT-CI) Tuning problems

The timeout happens before the actual timeout occured in the MCU
on the board, and hence the problems.

Changes: (bttv-i2c.diff)
~~~~~~~~~~~~~~~~~~~~~~~~
o Changed the custom wait queue to wait_event_interruptible_timeout()
      - Suggestion by Johannes Stezenbach.

o Fixed the wait queue timeout problem
      - This fixes the timeout problem on various cards.
      - This problem was visible as many
          * Cannot tune to channels, when signal levels are very low.
          * app_info does not work in some conditions for CI based cards
      - Smaller values worked good for newer cards, but the older cards
suffered, settled down to the worst case values that could happen in any
eventuality.

Signed-off-by: Manu Abraham <manu@kromtek.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] remove do_sync parameter from __invalidate_device
Christoph Hellwig [Thu, 5 May 2005 23:15:59 +0000 (16:15 -0700)] 
[PATCH] remove do_sync parameter from __invalidate_device

The only caller that ever sets it can call fsync_bdev itself easily.  Also
update some comments.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Cc: <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] remove outdated comments from filemap.c
Christoph Hellwig [Thu, 5 May 2005 23:15:59 +0000 (16:15 -0700)] 
[PATCH] remove outdated comments from filemap.c

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] DAC960: add support for Mylex AcceleRAID 4/5/600
Christoph Hellwig [Thu, 5 May 2005 23:15:58 +0000 (16:15 -0700)] 
[PATCH] DAC960: add support for Mylex AcceleRAID 4/5/600

This patch adds support for a new class of DAC960 controllers.  It's based
on the GPLed idac320 driver from IBM for Linux 2.4.18.  That driver is a
fork of the 2.4.18 version of DAC960 that adds support for this new type of
controllers (internally called "GEM Series"), that differ from other DAC960
V2 firmware controllers only in the register offsets and removes support
for all others.

This patch instead integrates support for these controllers into the DAC960
driver.

Thanks to Anders Norrbring for pointing me to the idac320 driver and
testing this patch.

No Signed-Off: line because all code is either copy & pasted from IBM's
idac320 driver or support for other controllers in the 2.6 DAC960 driver.

Note: the really odd formating matches the rest of the DAC960 driver.

Cc: Dave Olien <dmo@osdl.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] pcmcia: yenta TI: align irq of func1 to func0 if INTRTIE is set
Daniel Ritz [Thu, 5 May 2005 23:15:57 +0000 (16:15 -0700)] 
[PATCH] pcmcia: yenta TI: align irq of func1 to func0 if INTRTIE is set

Make sure that if the INTRTIE bit is set both functions of the cardbus
bridge use the same IRQ before doing any probing...

[ yes i hate the TI bridges for the fact that they are very flexible
  so that so many BIOS vendors get it wrong. ]

Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] pcmcia: enable 32-bit memory windows on pd6729
Dominik Brodowski [Thu, 5 May 2005 23:15:56 +0000 (16:15 -0700)] 
[PATCH] pcmcia: enable 32-bit memory windows on pd6729

Enable 32-bit memory windows on pd6729 PCI-PCMCIA bridges.

Signed-off-by: Jarkko Raja <jar@pcuf.fi>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] saa6752hs: resolutions handling
Frederic CAND [Thu, 5 May 2005 23:15:52 +0000 (16:15 -0700)] 
[PATCH] saa6752hs: resolutions handling

This patch handles the VIDIOC_S_FMT and VIDIOC_G_FMT ioctls for the
saa6752hs.

As only 4 preset video formats are supported (SIF, 1/2D1, 2/3D1, D1), we
compute to which the asked resolution is the nearest and apply it.

Signed-off-by: Frederic Cand <frederic.cand@anevia.com>
Acked-by: Gerd Knorr <kraxel@bytesex.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Update dontdiff
Matt Porter [Thu, 5 May 2005 23:15:52 +0000 (16:15 -0700)] 
[PATCH] Update dontdiff

Additions to the dontdiff list.

Signed-off-by: Matt Porter <mporter@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] remove BK documentation
Adrian Bunk [Thu, 5 May 2005 23:15:51 +0000 (16:15 -0700)] 
[PATCH] remove BK documentation

There's no longer a reason to document the obsolete BK usage.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uninline tty_paranoia_check()
Andrew Morton [Thu, 5 May 2005 23:15:50 +0000 (16:15 -0700)] 
[PATCH] uninline tty_paranoia_check()

Has lots of callsites.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] drivers/ide/pci/sis5513.c: section fixes
Adrian Bunk [Thu, 5 May 2005 23:15:49 +0000 (16:15 -0700)] 
[PATCH] drivers/ide/pci/sis5513.c: section fixes

These three functions are referenced from the __devinitdata
sis5513_chipset.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] setitimer timer expires too early
Paulo Marques [Thu, 5 May 2005 23:15:49 +0000 (16:15 -0700)] 
[PATCH] setitimer timer expires too early

It seems that the code responsible for this is in kernel/itimer.c:126:

p->signal->real_timer.expires = jiffies + interval;
add_timer(&p->signal->real_timer);

If you request an interval of, lets say 900 usecs, the interval given by
timeval_to_jiffies will be 1.

If you request this when we are half-way between two timer ticks, the
interval will only give 400 usecs.

If we want to guarantee that we never ever give intervals less than
requested, the simple solution would be to change that to:

p->signal->real_timer.expires = jiffies + interval + 1;

This however will produce pathological cases, like having a idle system
being requested 1 ms timeouts will give systematically 2 ms timeouts,
whereas currently it simply gives a few usecs less than 1 ms.

The complex (and more computationally expensive) solution would be to
check the gettimeofday time, and compute the correct number of jiffies.
This way, if we request a 300 usecs timer 200 usecs inside the timer
tick, we can wait just one tick, but not if we are 800 usecs inside the
tick. This would also mean that we would have to lock preemption during
these computations to avoid races, etc.

I've searched the archives but couldn't find this particular issue being
discussed before.

Attached is a patch to do the simple solution, in case anybody thinks
that it should be used.

Signed-Off-By: Paulo Marques <pmarques@grupopie.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] __block_write_full_page() simplification
Andrew Morton [Thu, 5 May 2005 23:15:48 +0000 (16:15 -0700)] 
[PATCH] __block_write_full_page() simplification

The `last_bh' logic probably isn't worth much.  In those situations where only
the front part of the page is being written out we will save some looping but
in the vastly more common case of an all-page writeout if just adds more code.

Nick Piggin <nickpiggin@yahoo.com.au>

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] __block_write_full_page speedup
Andrew Morton [Thu, 5 May 2005 23:15:47 +0000 (16:15 -0700)] 
[PATCH] __block_write_full_page speedup

Remove all those get_bh()'s and put_bh()'s by extending lock_page() to cover
the troublesome regions.

(get_bh() and put_bh() happen every time whereas contention on a page's lock
in there happens basically never).

Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] __block_write_full_page race fix
Nick Piggin [Thu, 5 May 2005 23:15:46 +0000 (16:15 -0700)] 
[PATCH] __block_write_full_page race fix

When running
fsstress -v -d $DIR/tmp -n 1000 -p 1000 -l 2
on an ext2 filesystem with 1024 byte block size, on SMP i386 with 4096 byte
page size over loopback to an image file on a tmpfs filesystem, I would
very quickly hit
BUG_ON(!buffer_async_write(bh));
in fs/buffer.c:end_buffer_async_write

It seems that more than one request would be submitted for a given bh
at a time.

What would happen is the following:
2 threads doing __mpage_writepages on the same page.
Thread 1 - lock the page first, and enter __block_write_full_page.
Thread 1 - (eg.) mark_buffer_async_write on the first 2 buffers.
Thread 1 - set page writeback, unlock page.
Thread 2 - lock page, wait on page writeback
Thread 1 - submit_bh on the first 2 buffers.
=> both requests complete, none of the page buffers are async_write,
   end_page_writeback is called.
Thread 2 - wakes up. enters __block_write_full_page.
Thread 2 - mark_buffer_async_write on (eg.) the last buffer
Thread 1 - finds the last buffer has async_write set, submit_bh on that.
Thread 2 - submit_bh on the last buffer.
=> oops.

So change __block_write_full_page to explicitly keep track of the last bh
we need to issue, so we don't touch anything after issuing the last
request.

Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix race in __block_prepare_write
Nick Piggin [Thu, 5 May 2005 23:15:45 +0000 (16:15 -0700)] 
[PATCH] fix race in __block_prepare_write

Fix a race where __block_prepare_write can leak out an in-flight read
against a bh if get_block returns an error.  This can lead to the page
becoming unlocked while the buffer is locked and the read still in flight.
__mpage_writepage BUGs on this condition.

BUG sighted on a 2-way Itanium2 system with 16K PAGE_SIZE running

fsstress -v -d $DIR/tmp -n 1000 -p 1000 -l 2

where $DIR is a new ext2 filesystem with 4K blocks that is quite
small (causing get_block to fail often with -ENOSPC).

Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] 3c59x: only put the device into D3 when we're actually using WOL
Daniel Ritz [Thu, 5 May 2005 23:15:44 +0000 (16:15 -0700)] 
[PATCH] 3c59x: only put the device into D3 when we're actually using WOL

During a warm boot the device is in D3 and has troubles coming out of it.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] patch-kernel: support non-incremental 2.6.x.y 'stable' patches
Randy.Dunlap [Thu, 5 May 2005 23:15:43 +0000 (16:15 -0700)] 
[PATCH] patch-kernel: support non-incremental 2.6.x.y 'stable' patches

Add better support for (non-incremental) 2.6.x.y patches; If an ending
version number if not specified, the script automatically increments the
SUBLEVEL (x in 2.6.x.y) until no more patch files are found; however,
EXTRAVERSION (y in 2.6.x.y) is never automatically incremented but must be
specified fully.

patch-kernel does not normally support reverse patching, but does so when
applying EXTRAVERSION (x.y) patches, so that moving from 2.6.11.y to
2.6.11.z is easy and handled by the script (reverse 2.6.11.y and apply
2.6.11.z).

Signed-off-by: Randy Dunlap <rddunlap@osdl.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] kprobes: Allow multiple kprobes at the same address
Ananth N Mavinakayanahalli [Thu, 5 May 2005 23:15:42 +0000 (16:15 -0700)] 
[PATCH] kprobes: Allow multiple kprobes at the same address

Allow registration of multiple kprobes at an address in an architecture
agnostic way.  Corresponding handlers will be invoked in a sequence.  But,
a kprobe and a jprobe can't (yet) co-exist at the same address.

Signed-off-by: Ananth N Mavinakayanahalli <amavin@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kprobes: Oops! in unregister_kprobe()
Prasanna S Panchamukhi [Thu, 5 May 2005 23:15:41 +0000 (16:15 -0700)] 
[PATCH] Kprobes: Oops! in unregister_kprobe()

kernel oops!  when unregister_kprobe() is called on a non-registered
kprobe.  This patch fixes the above problem by checking if the probe exists
before unregistering.

Signed-off-by: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Kprobes: Incorrect handling of probes on ret/lret instruction
Prasanna S Panchamukhi [Thu, 5 May 2005 23:15:40 +0000 (16:15 -0700)] 
[PATCH] Kprobes: Incorrect handling of probes on ret/lret instruction

Kprobes could not handle the insertion of a probe on the ret/lret
instruction and used to oops after single stepping since kprobes was
modifying eip/rip incorrectly.  Adjustment of eip/rip is not required after
single stepping in case of ret/lret instruction, because eip/rip points to
the correct location after execution of the ret/lret instruction.  This
patch fixes the above problem.

Signed-off-by: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: header and code cleanup
Bodo Stroesser [Thu, 5 May 2005 23:15:40 +0000 (16:15 -0700)] 
[PATCH] uml: header and code cleanup

Remove some definitions and declarations from arch/um/include/skas_ptrace.h,
as they have moved to arch/um/include/sysdep/skas_ptrace.h

Also, remove PTRACE_SIGPENDING support in UML at all.

Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: remove a dangling symlink
Bodo Stroesser [Thu, 5 May 2005 23:15:39 +0000 (16:15 -0700)] 
[PATCH] uml: remove a dangling symlink

UML: remove no longer needed arch-signal.h

Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: s390 preparation, sighandler interface abstraction
Bodo Stroesser [Thu, 5 May 2005 23:15:38 +0000 (16:15 -0700)] 
[PATCH] uml: s390 preparation, sighandler interface abstraction

s390 passes parameters in registers.  So the only safe way to find out the
address of signal context, error-address and error-type (trap_no), which are
passed to signal handlers as parameters, is to declare these parameters.

So I inserted an subarch-specific macro which holds the declaration of
parameters for signal handlers.

Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: s390 preparation, delay moved to arch
Bodo Stroesser [Thu, 5 May 2005 23:15:37 +0000 (16:15 -0700)] 
[PATCH] uml: s390 preparation, delay moved to arch

s390 has fast read access to realtime clock (nanosecond resolution).  So it
makes sense to have an arch-specific implementation not only of __delay, but
__udelay also.

Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: s390 preparation, checksumming done in arch code
Bodo Stroesser [Thu, 5 May 2005 23:15:36 +0000 (16:15 -0700)] 
[PATCH] uml: s390 preparation, checksumming done in arch code

Checksum handling largely depends on the subarch.

Thus, I renamed i386 arch_csum_partial in arch/um/sys-i386/checksum.S back to
csum_partial, removed csum_partial from arch/um/kernel/checksum.c and shifted
EXPORT_SYMBOL(csum_partial) to arch/um/sys-i386/ksyms.c.

Then, csum_partial_copy_to and csum_partial_copy_from were shifted from
arch/um/kernel/checksum.c to arch/um/include/sysdep-i386/checksum.h and
inserted in the calling functions csum_partial_copy_from_user() and
csum_and_copy_to_user().

Now, arch/um/kernel/checksum.c is empty and removed.

Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: s390 preparation, linkage.h inherited from host
Bodo Stroesser [Thu, 5 May 2005 23:15:36 +0000 (16:15 -0700)] 
[PATCH] uml: s390 preparation, linkage.h inherited from host

This patch replaces the contents of include/asm-um/linkage.h
by
    #include "asm/arch/linkage.h"

Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: s390 preparation, elf.h
Bodo Stroesser [Thu, 5 May 2005 23:15:35 +0000 (16:15 -0700)] 
[PATCH] uml: s390 preparation, elf.h

This patch make elh.h a symlink to the new arch-specific include files of the
form elf-<subarch>.h, as in the same way already is done for some other
includes.  Also moves Elf-stuff from archparam-<subarch>.h and elf.h to the
new elf-<subarch>.h files.

Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: hostfs failed mount handling
Jeff Dike [Thu, 5 May 2005 23:15:34 +0000 (16:15 -0700)] 
[PATCH] uml: hostfs failed mount handling

This cleans up the error handling and fixes a crash if a hostfs mount fails.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: inclusion cleanup
Jeff Dike [Thu, 5 May 2005 23:15:33 +0000 (16:15 -0700)] 
[PATCH] uml: inclusion cleanup

The completion cleanup got rid of some semaphores, but didn't remove the
inclusion of asm/semaphore.h from xterm_kern.c.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: tidy Makefile.rules
Jeff Dike [Thu, 5 May 2005 23:15:33 +0000 (16:15 -0700)] 
[PATCH] uml: tidy Makefile.rules

Just some breaking of some overly-long lines.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: Fix SIGWINCH relaying
Jeff Dike [Thu, 5 May 2005 23:15:32 +0000 (16:15 -0700)] 
[PATCH] uml: Fix SIGWINCH relaying

This makes SIGWINCH work again, and fixes a couple of SIGWINCH-associated
crashes.  First, the sigio thread disables SIGWINCH because all hell breaks
loose if it ever gets one and tries to call the signal handling code.  Second,
there was a problem with deferencing tty structs after they were freed.  The
SIGWINCH support for a tty wasn't being turned off or freed after the tty went
away.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: S390 preparation, abstract host page fault data
Bodo Stroesser [Thu, 5 May 2005 23:15:31 +0000 (16:15 -0700)] 
[PATCH] uml: S390 preparation, abstract host page fault data

This patch removes the arch-specific fault/trap-infos from thread and
skas-regs.

It adds a new struct faultinfo, that is arch-specific defined in
sysdep/faultinfo.h.

The structure is inserted in thread.arch and thread.regs.skas and
thread.regs.tt

Now, segv and other trap-handlers can copy the contents from regs.X.faultinfo
to thread.arch.faultinfo with one simple assignment.

Also, the number of macros necessary is reduced to

FAULT_ADDRESS(struct faultinfo)
    extracts the faulting address from faultinfo

FAULT_WRITE(struct faultinfo)
    extracts the "is_write" flag

SEGV_IS_FIXABLE(struct faultinfo)
    is true for the fixable segvs, i.e. (TRAP == 14)
    on i386

UPT_FAULTINFO(regs)
    result is (struct faultinfo *) to the faultinfo
    in regs->skas.faultinfo

GET_FAULTINFO_FROM_SC(struct faultinfo, struct sigcontext *)
    copies the relevant parts of the sigcontext to
    struct faultinfo.

On SIGSEGV, call user_signal() instead of handle_segv(), if the architecture
provides the information needed in PTRACE_FAULTINFO, or if PTRACE_FAULTINFO is
missing, because segv-stub will provide the info.

The benefit of the change is, that in case of a non-fixable SIGSEGV, we can
give user processes a SIGSEGV, instead of possibly looping on pagefault
handling.

Since handle_segv() sikked arch_fixup() implicitly by passing ip==0 to segv(),
I changed segv() to call arch_fixup() only, if !is_user.

Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: fix a ptrace call
Jeff Dike [Thu, 5 May 2005 23:15:30 +0000 (16:15 -0700)] 
[PATCH] uml: fix a ptrace call

This fixes write_ldt_entry to treat userspace_pid as an array.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: finish cross-build support
Al Viro [Thu, 5 May 2005 23:15:29 +0000 (16:15 -0700)] 
[PATCH] uml: finish cross-build support

O=... builds support.  Very easy, actually.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: fix missing subdir in x86_64
Al Viro [Thu, 5 May 2005 23:15:28 +0000 (16:15 -0700)] 
[PATCH] uml: fix missing subdir in x86_64

make distclean et.al.  are missing arch/um/sys-x86_64/utils; fixed the same
way we have it done for sys-i386 counterpart.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: cross-build support : mk_task and mk_constants
Al Viro [Thu, 5 May 2005 23:15:27 +0000 (16:15 -0700)] 
[PATCH] uml: cross-build support : mk_task and mk_constants

helpers in arch/um/util (mk_task and mk_constants) converted.  That's it -
none of the helpers depends on build and target being the same architecture
anymore.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: cross-build support : mk_thread
Al Viro [Thu, 5 May 2005 23:15:26 +0000 (16:15 -0700)] 
[PATCH] uml: cross-build support : mk_thread

mk_thread converted

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: cross-build support : kernel_offsets
Al Viro [Thu, 5 May 2005 23:15:25 +0000 (16:15 -0700)] 
[PATCH] uml: cross-build support : kernel_offsets

The next group of helpers is a bit trickier - they want the constants similar
to those in user-offsets.h, but we need target sc.h for it.  So we can't put
that into user-offsets (sc.h depends on it) and need the second generated
header for that stuff (kernel-offsets.h.  BFD...

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: cross-build support: mk_sc
Al Viro [Thu, 5 May 2005 23:15:25 +0000 (16:15 -0700)] 
[PATCH] uml: cross-build support: mk_sc

Ditto for mk_sc

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: cross-build support : mk_ptregs
Al Viro [Thu, 5 May 2005 23:15:24 +0000 (16:15 -0700)] 
[PATCH] uml: cross-build support : mk_ptregs

mk_ptregs converted.  Nothing new here, it's the same situation as with
mk_user_constants.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: start cross-build support : mk_user_constants
Al Viro [Thu, 5 May 2005 23:15:23 +0000 (16:15 -0700)] 
[PATCH] uml: start cross-build support : mk_user_constants

Beginning of cross-build fixes.  Instead of expecting that mk_user_constants
(compiled and executed on the build box) will see the sizeof, etc.  for target
box, we do what every architecture already does for asm-offsets.  Namely, have
user-offsets.c compiled *for* *target* into user-offsets.s and sed it into the
header with relevant constants.  We don't need to reinvent any wheels - all
tools are already there.

This patch deals with mk_user_constants.  It doesn't assume any relationship
between target and build environment anymore - we pick all defines we need
from user-offsets.h.  Later patches will deal with the rest of mk_...  helpers
in the same way.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: use variables rather than symlinks in dependencies
Al Viro [Thu, 5 May 2005 23:15:22 +0000 (16:15 -0700)] 
[PATCH] uml: use variables rather than symlinks in dependencies

Use explicit os-...  in make dependencies instead of playing with symlinks
(symlink in question is still created - it's needed for other things; however,
there's no reason to complicate ordering here).

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: include the linker script rather than symlink it
Al Viro [Thu, 5 May 2005 23:15:19 +0000 (16:15 -0700)] 
[PATCH] uml: include the linker script rather than symlink it

Make vmlinux.lds.S include appopriate script instead of playing games with
symlinks.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml kbuild: avoid useless rebuilds
Paolo 'Blaisorblade' Giarrusso [Thu, 5 May 2005 23:15:18 +0000 (16:15 -0700)] 
[PATCH] uml kbuild: avoid useless rebuilds

- Fix some problems with usage of $(targets) (sometimes missing, sometimes
  used badly) that trigger partial rebuilds when doing a rebuild.

- At that purpose, also factor out some common code for symlinks creation.

- Fix a x86-64 build warning, caused by -L/usr/lib, which is anyway useless,
  and invalid in the x86-64 case.

Tested on x86_64 and x86.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86_64: make string func definition work as intended
Paolo 'Blaisorblade' Giarrusso [Thu, 5 May 2005 23:15:17 +0000 (16:15 -0700)] 
[PATCH] x86_64: make string func definition work as intended

In include/asm-x86_64/string.h there are such comments:

/* Use C out of line version for memcmp */
#define memcmp __builtin_memcmp
int memcmp(const void * cs,const void * ct,size_t count);

This would mean that if the compiler does not decide to use __builtin_memcmp,
it emits a call to memcmp to be satisfied by the C out-of-line version in
lib/string.c.  What happens is that after preprocessing, in lib/string.i you
may find the definition of "__builtin_strcmp".

Actually, by accident, in the object you will find the definition of strcmp
and such (maybe a trick intended to redirect calls to __builtin_memcmp to the
default memcmp when the definition is not expanded); however, this particular
case is not a documented feature as far as I can see.

Also, the EXPORT_SYMBOL does not work, so it's duplicated in the arch.

I simply added some #undef to lib/string.c and removed the (now duplicated)
exports in x86-64 and UML/x86_64 subarchs (the second ones are introduced by
another patch I just posted for -mm).

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
CC: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: kludgy compilation fixes for x86-64 subarch modules support
Paolo 'Blaisorblade' Giarrusso [Thu, 5 May 2005 23:15:16 +0000 (16:15 -0700)] 
[PATCH] uml: kludgy compilation fixes for x86-64 subarch modules support

These are some trivial fixes for the x86-64 subarch module support.  The only
potential problem is that I have to modify arch/x86_64/kernel/module.c, to
avoid copying the whole of it.

I can't use it verbatim because it depends on a special vmalloc-like area for
modules, which for now (maybe that's to fix, I guess not) UML/x86-64 has not.
I went the easy way and reused the i386 vmalloc()-based allocator.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Acked-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: obvious compile fixes for x86-64 Subarch and x86 regression fixes
Paolo 'Blaisorblade' Giarrusso [Thu, 5 May 2005 23:15:15 +0000 (16:15 -0700)] 
[PATCH] uml: obvious compile fixes for x86-64 Subarch and x86 regression fixes

This patch does some totally trivial compilation fixes.  It also restores the
debugregs manipulation, which was commented out simply because it doesn't
compile on x86_64 (we haven't yet implemented there debugregs handling).

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: pgtable.h and other header cleanups
David Gibson [Thu, 5 May 2005 23:15:13 +0000 (16:15 -0700)] 
[PATCH] ppc64: pgtable.h and other header cleanups

This patch started as simply removing a few never-used macros from
asm-ppc64/pgtable.h, then kind of grew.  It now makes a bunch of
cleanups to the ppc64 low-level header files (with corresponding
changes to .c files where necessary) such as:
- Abolishing never-used macros
- Eliminating multiple #defines with the same purpose
- Removing pointless macros (cases where just expanding the
macro everywhere turns out clearer and more sensible)
- Removing some cases where macros which could be defined in
terms of each other weren't
- Moving imalloc() related definitions from pgtable.h to their
own header file (imalloc.h)
- Re-arranging headers to group things more logically
- Moving all VSID allocation related things to mmu.h, instead
of being split between mmu.h and mmu_context.h
- Removing some reserved space for flags from the PMD - we're
not using it.
- Fix some bugs which broke compile with STRICT_MM_TYPECHECKS.

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: add missing Kconfig help text
Jesper Juhl [Thu, 5 May 2005 23:15:12 +0000 (16:15 -0700)] 
[PATCH] ppc64: add missing Kconfig help text

There's no help text for CONFIG_DEBUG_STACKOVERFLOW - add one.

Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: remove hidden -fno-omit-frame-pointer for schedule.c
Anton Blanchard [Thu, 5 May 2005 23:15:11 +0000 (16:15 -0700)] 
[PATCH] ppc64: remove hidden -fno-omit-frame-pointer for schedule.c

While looking at code generated by gcc4.0 I noticed some functions still
had frame pointers, even after we stopped ppc64 from defining
CONFIG_FRAME_POINTER.  It turns out kernel/Makefile hardwires
-fno-omit-frame-pointer on when compiling schedule.c.

Create CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER and define it on architectures
that dont require frame pointers in sched.c code.

(akpm: blame me for the name)

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: Simplified PPC core revision report
Kumar Gala [Thu, 5 May 2005 23:15:10 +0000 (16:15 -0700)] 
[PATCH] ppc32: Simplified PPC core revision report

We can identify new Freescale PPC cores by the fact that the MSB of the PVR
is set.  If we are a new Freescale core the decode of major/minor revision
numbers is simplified so we dont have to add new case checks for a every
new Freescale core.

Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: platform-specific functions missing from kallsyms.
David Woodhouse [Thu, 5 May 2005 23:15:09 +0000 (16:15 -0700)] 
[PATCH] ppc32: platform-specific functions missing from kallsyms.

The PPC32 kernel puts platform-specific functions into separate sections so
that unneeded parts of it can be freed when we've booted and actually
worked out what we're running on today.

This makes kallsyms ignore those functions, because they're not between
_[se]text or _[se]inittext.  Rather than teaching kallsyms about the
various pmac/chrp/etc sections, this patch adds '_[se]extratext' markers
for kallsyms.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Add CXT48 to modem black list in ac97
Herbert Xu [Thu, 5 May 2005 23:15:08 +0000 (16:15 -0700)] 
[PATCH] Add CXT48 to modem black list in ac97

The following patch works around the misdetection of the CXT48 codec as a
modem by the OSS ac97 driver.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] include/linux/soundcard.h: endianness fix
Stuart Brady [Thu, 5 May 2005 23:15:07 +0000 (16:15 -0700)] 
[PATCH] include/linux/soundcard.h: endianness fix

Fixes for big-endian systems in soundcard.h and awe_voice.h

This patch fixes the AFMT_S16_NE (include/linux/soundcard.h) and AWE_PATCH
(awe_voice.h) macros on big-endian systems.

It also moves _PATCHKEY into a new file, patchkey.h, in order to remove a
duplicate definition of it from awe_voice.h.

Signed-off-by: Stuart Brady <sdbrady@ntlworld.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] interwave needs isa pnp
Andrew Morton [Thu, 5 May 2005 23:15:06 +0000 (16:15 -0700)] 
[PATCH] interwave needs isa pnp

Fix bug #4509

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] intel8x0: fix for Intel AC'97 audio driver
Jason Gaston [Thu, 5 May 2005 23:15:05 +0000 (16:15 -0700)] 
[PATCH] intel8x0: fix for Intel AC'97 audio driver

This patch fixes a typo in the Intel AC'97 audio driver intel8x0.c for
Intel ESB2.

Signed-off-by: Jason Gaston <Jason.d.gaston@intel.com>
Cc: <tiwai@suse.de>
Cc: <perex@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] avoid -ENOMEM due reclaimable slab caches
Andrea Arcangeli [Thu, 5 May 2005 23:15:04 +0000 (16:15 -0700)] 
[PATCH] avoid -ENOMEM due reclaimable slab caches

This makes sure that reclaimable buffer headers and reclaimable inodes
are accounted properly during the overcommit checks.

Signed-off-by: Andrea Arcangeli <andrea@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] x86 stack initialisation fix
Alexander Nyberg [Thu, 5 May 2005 23:15:03 +0000 (16:15 -0700)] 
[PATCH] x86 stack initialisation fix

The recent change fix-crash-in-entrys-restore_all.patch

  childregs->esp = esp;

  p->thread.esp = (unsigned long) childregs;
- p->thread.esp0 = (unsigned long) (childregs+1);
+ p->thread.esp0 = (unsigned long) (childregs+1) - 8;

  p->thread.eip = (unsigned long) ret_from_fork;

introduces an inconsistency between esp and esp0 before the task is run the
first time.  esp0 is no longer the actual start of the stack, but 8 bytes
off.

This shows itself clearly in a scenario when a ptracer that is set to also
ptrace eventual children traces program1 which then clones thread1.  Now
the ptracer wants to modify the registers of thread1.  The x86 ptrace
implementation bases it's knowledge about saved user-space registers upon
p->thread.esp0.  But this will be a few bytes off causing certain writes to
the kernel stack to overwrite a saved kernel function address making the
kernel when actually running thread1 jump out into user-space.  Very
spectacular.

The testcase I've used is:
/* start with strace -f ./a.out */
#include <pthread.h>
#include <stdio.h>

void *do_thread(void *p)
{
for (;;);
}

int main()
{
pthread_t one;
pthread_create(&one, NULL, &do_thread, NULL);
for (;;);
return 0;
}

So, my solution is to instead of just adjusting esp0 that creates an
inconsitent state I adjust where the user-space registers are saved with -8
bytes.  This gives us the wanted extra bytes on the start of the stack and
esp0 is now correct.  This solves the issues I saw from the original
testcase from Mateusz Berezecki and has survived testing here.  I think
this should go into -mm a round or two first however as there might be some
cruft around depending on pt_regs lying on the start of the stack.  That
however would have broken with the first change too!

It's actually a 2-line diff but I had to move the comment of why the -8 bytes
are there a few lines up. Thanks to Zwane for helping me with this.

Signed-off-by: Alexander Nyberg <alexn@telia.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoAutomatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/sparc...
Linus Torvalds [Thu, 5 May 2005 23:23:24 +0000 (16:23 -0700)] 
Merge ... /linux/kernel/git/davem/sparc-2.6.git

19 years agoAutomatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2...
Linus Torvalds [Thu, 5 May 2005 23:22:23 +0000 (16:22 -0700)] 
Merge ... /linux/kernel/git/davem/net-2.6.git

19 years agoAutomatic merge of master.kernel.org:/home/rmk/linux-2.6-rmk.git
Linus Torvalds [Thu, 5 May 2005 23:06:47 +0000 (16:06 -0700)] 
Merge ... kernel.org:/home/rmk/linux-2.6-rmk.git

19 years ago[PATCH] ARM: 2665/1: kill warnings in entry-armv.S
Nicolas Pitre [Thu, 5 May 2005 22:24:45 +0000 (23:24 +0100)] 
[PATCH] ARM: 2665/1: kill warnings in entry-armv.S

Patch from Nicolas Pitre

Signed-off-by: Nicolas Pitre
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] ARM: 2663/1: straightify TLS register emulation a bit more
Nicolas Pitre [Thu, 5 May 2005 22:24:45 +0000 (23:24 +0100)] 
[PATCH] ARM: 2663/1: straightify TLS register emulation a bit more

Patch from Nicolas Pitre

This better express things, and should cover RMK's weird SMP toys.

Signed-off-by: Nicolas Pitre
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PATCH] Kconfig i18n support
Arnaldo Carvalho de Melo [Thu, 5 May 2005 22:09:46 +0000 (15:09 -0700)] 
[PATCH] Kconfig i18n support

This patch adds i18n support for make *config, allowing users to have the
config process in their own language.

No printk was harmed in the process, don't worry, so all the bug reports,
kernel messages, etc, remain in english, just the user tools to configure
the kernel are internationalized.

Users not interested in translations can just unset the related LANG,
LC_ALL, etc env variables and have the config process in plain english,
something like:

LANG= make menuconfig

is enough for having the whole config process in english. Or just don't
install any translation file.

Translations for brazilian portuguese are being done by a team of
volunteers at:

http://www.visionflex.inf.br/kernel_ptbr/pmwiki.php/Principal/Traducoes

To start the translation process:

  make update-po-config

  This will generate the pot template named scripts/kconfig/linux.pot,
  copy it to, say, ~/es.po, to start the translation for spanish.

To test your translation, as root issue this command:

  msgfmt -o /usr/share/locale/es/LC_MESSAGES/linux.mo ~/es.po

  Replace "es" with your language code.

  Then execute, for instance:

  make menuconfig

The current patch doesn't use any optimization to reduce the size of the
generated .mo file, it is possible to use the config option as a key, but
this doesn't prevent the current patch from being used or the translations
done under the current scheme to be in any way lost if we chose to do any
kind of keying.

Thanks to Fabricio Vaccari for starting the pt_BR (brazilian portuguese)
translation effort, Thiago Maciera for helping me with the gconf.cc (QT
frontent) i18n coding and to all the volunteers that are already working on
the first translation, to pt_BR.

I left the question on whether to ship the translations with the stock kernel
sources to be discussed here, please share your suggestions.

Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org
Signed-off-by: Andrew Morton <akpm@osdl.org>
19 years ago[SPARC]: Remove legacy stuff from cpu_idle().
Coywolf Qi Hunt [Thu, 5 May 2005 21:53:01 +0000 (14:53 -0700)] 
[SPARC]: Remove legacy stuff from cpu_idle().

Currently sparc and sparc64's UP cpu_idle() checks current pid. This
is old time legacy. Now it's paranoia.

Signed-off-by: Coywolf Qi Hunt <coywolf@lovecn.org>
Acked-by: William Irwin <wli@holomorphy.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Update driver version and reldate.
David S. Miller [Thu, 5 May 2005 21:46:21 +0000 (14:46 -0700)] 
[TG3]: Update driver version and reldate.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Ignore tg3_stop_block() errors.
Michael Chan [Thu, 5 May 2005 21:42:41 +0000 (14:42 -0700)] 
[TG3]: Ignore tg3_stop_block() errors.

tg3_stop_block() errors can be safely ignored since tg3_chip_reset()
always follows tg3_stop_block() calls.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[TG3]: Elide tg3_stop_block messages when such events are normal.
David S. Miller [Thu, 5 May 2005 21:40:20 +0000 (14:40 -0700)] 
[TG3]: Elide tg3_stop_block messages when such events are normal.

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV4]: multipath_wrandom.c GPF fixes
Patrick McHardy [Thu, 5 May 2005 21:30:15 +0000 (14:30 -0700)] 
[IPV4]: multipath_wrandom.c GPF fixes

multipath_wrandom needs to use GFP_ATOMIC.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[SPARC64]: Kill useless __pte_alloc_one_kernel indirection
Christoph Hellwig [Thu, 5 May 2005 21:27:56 +0000 (14:27 -0700)] 
[SPARC64]: Kill useless __pte_alloc_one_kernel indirection

warning: untested, but it there's not too much chance for screwups

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ATALK]: Add alloc_ltalkdev().
Christoph Hellwig [Thu, 5 May 2005 21:25:59 +0000 (14:25 -0700)] 
[ATALK]: Add alloc_ltalkdev().

this matches the API used by other link layer like ethernet or token
ring.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IPV6]: Fix OOPS when using IPV6_ADDRFORM
Arnaldo Carvalho de Melo [Thu, 5 May 2005 20:35:15 +0000 (13:35 -0700)] 
[IPV6]: Fix OOPS when using IPV6_ADDRFORM

This causes sk->sk_prot to change, which makes the socket
release free the sock into the wrong SLAB cache.  Fix this
by introducing sk_prot_creator so that we always remember
where the sock came from.

Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[XFS] Cleanup use of loff_t vs xfs_off_t in the core code.
Nathan Scott [Thu, 5 May 2005 20:33:40 +0000 (13:33 -0700)] 
[XFS] Cleanup use of loff_t vs xfs_off_t in the core code.

SGI Modid: xfs-linux:xfs-kern:22378a

Signed-off-by: Nathan Scott <nathans@sgi.com>
Signed-off-by: Christoph Hellwig <hch@sgi.com>
19 years ago[XFS] Use the right offset when ensuring a delayed allocate conversion has covered...
Nathan Scott [Thu, 5 May 2005 20:33:20 +0000 (13:33 -0700)] 
[XFS] Use the right offset when ensuring a delayed allocate conversion has covered the offset originally requested.  Can cause data corruption when multiple processes are performing writeout on different areas of the same file.  Quite difficult to hit though.

SGI Modid: xfs-linux:xfs-kern:22377a

Signed-off-by: Nathan Scott <nathans@sgi.com>
Signed-off-by: Christoph Hellwig <hch@sgi.com>
.

19 years ago[XFS] Do not do delalloc conversion on pages beyond EOF ever, not just sometimes
Nathan Scott [Thu, 5 May 2005 20:33:01 +0000 (13:33 -0700)] 
[XFS] Do not do delalloc conversion on pages beyond EOF ever, not just sometimes

SGI Modid: xfs-linux:xfs-kern:22376a

Signed-off-by: Nathan Scott <nathans@sgi.com>
Signed-off-by: Christoph Hellwig <hch@sgi.com>
19 years ago[XFS] remove noisy printk at vnode trace allocation
Eric Sandeen [Thu, 5 May 2005 20:32:18 +0000 (13:32 -0700)] 
[XFS] remove noisy printk at vnode trace allocation

SGI Modid: xfs-linux:xfs-kern:191625a

Signed-off-by: Eric Sandeen <sandeen@sgi.com>
Signed-off-by: Christoph Hellwig <hch@sgi.com>
19 years ago[XFS] stop background sync from waiting for in-use inodes
Daniel Moore [Thu, 5 May 2005 20:31:34 +0000 (13:31 -0700)] 
[XFS] stop background sync from waiting for in-use inodes

SGI Modid: xfs-linux:xfs-kern:191586a

Signed-off-by: Daniel Moore <dxm@sgi.com>
Signed-off-by: Christoph Hellwig <hch@sgi.com>
19 years ago[XFS] Disable the combination of XFS direct IO and AIO until the IO completion
Nathan Scott [Thu, 5 May 2005 20:30:34 +0000 (13:30 -0700)] 
[XFS] Disable the combination of XFS direct IO and AIO until the IO completion
handling for unwritten extents can be moved out of interrupt context.

SGI Modid: xfs-linux:xfs-kern:22343a

Signed-off-by: Nathan Scott <nathans@sgi.com>
Signed-off-by: Christoph Hellwig <hch@sgi.com>
19 years ago[XFS] Resolve an issue with xfsbufd not getting along with swsusp.
Nathan Scott [Thu, 5 May 2005 20:30:13 +0000 (13:30 -0700)] 
[XFS] Resolve an issue with xfsbufd not getting along with swsusp.

SGI Modid: xfs-linux:xfs-kern:22342a

Signed-off-by: Nathan Scott <nathans@sgi.com>
Signed-off-by: Christoph Hellwig <hch@sgi.com>
19 years ago[XFS] Fix up warnings
Eric Sandeen [Thu, 5 May 2005 20:29:17 +0000 (13:29 -0700)] 
[XFS] Fix up warnings

SGI Modid: xfs-linux:xfs-kern:191411a

Signed-off-by: Eric Sandeen <sandeen@sgi.com>
Signed-off-by: Christoph Hellwig <hch@sgi.com>
19 years ago[XFS] Allow initial XFS delayed allocation size to be increased beyond 64KB.
Nathan Scott [Thu, 5 May 2005 20:28:29 +0000 (13:28 -0700)] 
[XFS] Allow initial XFS delayed allocation size to be increased beyond 64KB.

SGI Modid: xfs-linux:xfs-kern:22261a

Signed-off-by: Nathan Scott <nathans@sgi.com>
Signed-off-by: Christoph Hellwig <hch@sgi.com>
19 years ago[XFS] Add ATTR_NOLOCK for xfs_setattr to indicate that XFS_IOLOCK is held
Dean Roehrich [Thu, 5 May 2005 20:27:19 +0000 (13:27 -0700)] 
[XFS] Add ATTR_NOLOCK for xfs_setattr to indicate that XFS_IOLOCK is held

SGI Modid: xfs-linux:xfs-kern:190711a

Signed-off-by: Dean Roehrich <roehrich@sgi.com>
Signed-off-by: Christoph Hellwig <hch@sgi.com>
.

19 years ago[XFS] Enable XFS_VNODE_TRACE
Eric Sandeen [Thu, 5 May 2005 20:26:18 +0000 (13:26 -0700)] 
[XFS] Enable XFS_VNODE_TRACE

SGI Modid: xfs-linux:xfs-kern:190725a

Signed-off-by: Eric Sandeen <sandeen@sgi.com>
Signed-off-by: Christoph Hellwig <hch@sgi.com>
.

19 years ago[XFS] Fix up uses of nlink_t incorrectly restricting us to 2^16 links for some platforms
Nathan Scott [Thu, 5 May 2005 20:25:00 +0000 (13:25 -0700)] 
[XFS] Fix up uses of nlink_t incorrectly restricting us to 2^16 links for some platforms

SGI Modid: xfs-linux:xfs-kern:22032a

Signed-off-by: Nathan Scott <nathans@sgi.com>
Signed-off-by: Christoph Hellwig <hch@sgi.com>
19 years ago[XFS] Block mount attempts for filesystems with version 1 directories.
Nathan Scott [Thu, 5 May 2005 20:24:13 +0000 (13:24 -0700)] 
[XFS] Block mount attempts for filesystems with version 1 directories.

SGI Modid: xfs-linux:xfs-kern:21937a

Signed-off-by: Nathan Scott <nathans@sgi.com>
Signed-off-by: Christoph Hellwig <hch@sgi.com>
19 years ago[XFS] Move the XFS inode to the front of its hash list on a cache hit
Nathan Scott [Thu, 5 May 2005 20:23:27 +0000 (13:23 -0700)] 
[XFS] Move the XFS inode to the front of its hash list on a cache hit

SGI Modid: xfs-linux:xfs-kern:21915a

Signed-off-by: Nathan Scott <nathans@sgi.com>
Signed-off-by: Christoph Hellwig <hch@sgi.com>
19 years ago[DECNET]: Fix build after C99 netlink initializer change.
Rafael J. Wysocki [Thu, 5 May 2005 20:13:29 +0000 (13:13 -0700)] 
[DECNET]: Fix build after C99 netlink initializer change.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] ARM: select PCI, ISA and ISA_DMA
Russell King [Thu, 5 May 2005 13:49:01 +0000 (14:49 +0100)] 
[PATCH] ARM: select PCI, ISA and ISA_DMA

Rather than using a long "depends on..." and "default y" lines for
these options, use select instead.

Signed-off-by: Russell King <rmk@arm.linux.org.uk>
19 years agoARM: Add missed imxfb include file
Russell King [Thu, 5 May 2005 13:06:31 +0000 (14:06 +0100)] 
ARM: Add missed imxfb include file

This file got missed in the commit of patch 2661/1 thanks to a buggy
script.

Signed-off-by: Russell King <rmk@arm.linux.org.uk>
19 years agoMerge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
David Woodhouse [Thu, 5 May 2005 12:59:37 +0000 (13:59 +0100)] 
Merge ... /linux/kernel/git/torvalds/linux-2.6.git

19 years ago[PATCH] ARM: Fix kernel stack offset calculations
Russell King [Thu, 5 May 2005 12:11:00 +0000 (13:11 +0100)] 
[PATCH] ARM: Fix kernel stack offset calculations

Various places in the ARM kernel implicitly assumed that kernel
stacks are always 8K due to hard coded constants.  Replace these
constants with definitions.

Correct the allowable range of kernel stack pointer values within
the allocation.  Arrange for the entire kernel stack to be zeroed,
not just the upper 4K if CONFIG_DEBUG_STACK_USAGE is set.

Signed-off-by: Russell King <rmk@arm.linux.org.uk>
19 years ago[PATCH] drivers/base/bus.c: fix iteration in driver_detach()
Roman Kagan [Wed, 13 Apr 2005 17:40:17 +0000 (21:40 +0400)] 
[PATCH] drivers/base/bus.c: fix iteration in driver_detach()

With 2.6.11 and 2.6.12-rc2 (and perhaps a few versions before) usb
drivers for multi-interface devices, which do
usb_driver_release_interface() in their disconnect(), make rmmod hang.

It turns out to be due to a bug in drivers/base/bus.c:driver_detach(),
that iterates over the list of attached devices with
list_for_each_safe() under an assumption that device_release_driver()
only releases the current device, while it may also call
device_release_driver() for other devices on the same list.

The following patch fixes it.  Please consider applying.

Signed-off-by: Roman Kagan <rkagan@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>