commit 1d6757fbff5bc86e94e59ab0d7bdd7e71351d839
tree 65e75b32e0810961615101cb1f137a060c707c6b
parent eba4f669d6ec9be4173bb2619e9b8500b3c36542
author Trond Myklebust <Trond.Myklebust@netapp.com> Tue, 07 Jun 2005 18:37:01 -0400
committer Linus Torvalds <torvalds@ppc970.osdl.org> Tue, 07 Jun 2005 15:53:47 -0700

    [PATCH] NFS: Fix lookup intent handling

    We should never apply a lookup intent to anything other than the last
    path component in an open(), create() or access() call.

    Introduce the helper nfs_lookup_check_intent() which always returns
    zero if LOOKUP_CONTINUE or LOOKUP_PARENT are set, and returns the
    intent flags if we're on the last component of the lookup.
    By doing so, we fix a bug in open(O_EXCL), where we may end up
    optimizing away a real lookup of the parent directory.

    Problem noticed by Linda Dunaphant <linda.dunaphant@ccur.com>
    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit eba4f669d6ec9be4173bb2619e9b8500b3c36542
tree 60178d4f2dd4fa1f8985b38fdbe4cd6b99a58c7a
parent 93cffffa19960464a52f9c78d9a6150270d23785
parent 66bb8bf8b235ba4d37fda14375827864977c6a3e
author Linus Torvalds <torvalds@ppc970.osdl.org> Tue, 07 Jun 2005 13:41:30 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Tue, 07 Jun 2005 13:41:30 -0700

    Merge of master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart

commit eda9937656e0b9879ca521140fe61cbc9788c398
tree 86c234bdcf33d664ed9881a9282976be9aa8e454
parent 3f5948fa2cbbda1261eec9a39ef3004b3caf73fb
author Matthew Dobson <colpatch@us.ibm.com> Tue, 07 Jun 2005 13:22:05 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Tue, 07 Jun 2005 13:39:26 -0700

    [PATCH] send_IPI_mask_sequence() warning fix

    In file included from arch/i386/kernel/smp.c:235:
    include/asm-i386/mach-numaq/mach_ipi.h:4: warning: `send_IPI_mask_sequence'
    declared inline after its definition

    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit ad95d6098dd1e94a09d2a1fdf39fd8281fcd8958
tree 527a17f1c54e7f3825440fdd4a85eadfedc1b78c
parent eda9937656e0b9879ca521140fe61cbc9788c398
author Eugene Surovegin <ebs@ebshome.net> Tue, 07 Jun 2005 13:22:09 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Tue, 07 Jun 2005 13:39:26 -0700

    [PATCH] ppc32: add 405EP cpu_spec entry

    Add a definition for PPC 405EP which was lost somehow during 2.4 -> 2.6
    transition.

    Recent change to arch/ppc/kernel/misc.S ("Fix incorrect CPU_FTR fixup usage
    for unified caches") triggered this bug and 405EP boards don't boot
    anymore.

    Signed-off-by: Eugene Surovegin <ebs@ebshome.net>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit a86d1f4301fad4ff44c1f614c897000bc574ab2f
tree 0eb60f1d27d9ae673285aecaa2769f877dc1a0c4
parent ad95d6098dd1e94a09d2a1fdf39fd8281fcd8958
author Vojtech Pavlik <vojtech@suse.cz> Tue, 07 Jun 2005 13:22:14 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Tue, 07 Jun 2005 13:39:26 -0700

    [PATCH] input: disable scroll feature on AT keyboards

    This patch disables the scroll feature on AT keyboards by default, because
    it causes the numbers of mouse devices to shift, breaking user setups.

    Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit 93cffffa19960464a52f9c78d9a6150270d23785
tree 67341f2e824b1812fde8c68bcd1bf42f3672e612
parent a86d1f4301fad4ff44c1f614c897000bc574ab2f
author Bjorn Helgaas <bjorn.helgaas@hp.com> Tue, 07 Jun 2005 13:22:18 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Tue, 07 Jun 2005 13:39:26 -0700

    [PATCH] PCI: do VIA IRQ fixup always, not just in PIC mode

    At least some VIA chipsets require the fixup even in IO-APIC mode.

    This was found and debugged with the patient assistance of Stian
    Jordet <liste@jordet.nu> on an Asus CUV266-DLS motherboard.

    Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit 66bb8bf8b235ba4d37fda14375827864977c6a3e
tree 830da5361c73af24b309f6ecc6b87482eb4f1c32
parent 07eee78ea8ba2d0b7b20551c35a3e7dd158d50bb
author David Mosberger <davidm@napali.hpl.hp.com> Mon, 04 Apr 2005 13:29:43 -0700
committer Dave Jones <davej@redhat.com> Tue, 07 Jun 2005 12:35:44 -0700

    [PATCH] Replace check_bridge_mode() with (bridge->mode & AGSTAT_MODE_3_0).

    [AGPGART] Replace check_bridge_mode() with (bridge->mode & AGSTAT_MODE_3_0).

    As mentioned earlier, the current check_bridge_mode() code assumes
    that AGP bridges are PCI devices.  This isn't always true.  Definitely
    not for HP zx1 chipset and the same seems to be the case for SGI's AGP
    bridge.

    The patch below fixes the problem by picking up the AGP_MODE_3_0 bit
    from bridge->mode.  I feel like I may be missing something, since I
    can't see any reason why check_bridge_mode() wasn't doing that in the
    first place.  According to the AGP 3.0 specs, the AGP_MODE_3_0 bit is
    determined during the hardware reset and cannot be changed, so it
    seems to me it should be safe to pick it up from bridge->mode.

    With the patch applied, I can definitely use AGP acceleration both
    with AGP 2.0 and AGP 3.0 (one with an Nvidia card, the other with an
    ATI FireGL card).

    Unless someone spots a problem, please apply this patch so 3d
    acceleration can work on zx1 boxes again.

    This makes AGP work again on machines with an AGP bridge that isn't a
    PCI device.

    Signed-off-by: David Mosberger-Tang <davidm@hpl.hp.com>
    Signed-off-by: Dave Jones <davej@redhat.com>


commit e29b545cb153f230fbd8ff4c19bc98ab950f9f5c
tree cfc8573440b7eb277aaf835842286a36c5e59531
parent d0de98fa16169562bd74913c6c9b3857f9065c79
author Michael Werner <werner@mrcoffee.engr.sgi.com> Sun, 27 Mar 2005 22:08:42 -0800
committer Dave Jones <davej@redhat.com> Tue, 07 Jun 2005 12:35:43 -0700

    [PATCH] sgi-agp: fixes a problem with accessing GART memory in sgi_tioca_insert_memory and sgi_tioca_remove_memory

    This patch fixes a problem with accessing GART memory in
    sgi_tioca_insert_memory and sgi_tioca_remove_memory.

     sgi-agp.c |   12 +++++++++---
     1 files changed, 9 insertions(+), 3 deletions(-)

    Signed-off-by: Mike Werner <werner@sgi.com>
    Signed-off-by: Dave Jones <davej@redhat.com>


commit 07eee78ea8ba2d0b7b20551c35a3e7dd158d50bb
tree a11d2e705253faaa9779cfd83bb8ca9de311b195
parent e29b545cb153f230fbd8ff4c19bc98ab950f9f5c
author Keir Fraser <Keir.Fraser@cl.cam.ac.uk> Wed, 30 Mar 2005 13:17:04 -0800
committer Dave Jones <davej@redhat.com> Tue, 07 Jun 2005 12:35:43 -0700

    [PATCH] AGP fix for Xen VMM

    When Linux is running on the Xen virtual machine monitor, physical
    addresses are virtualised and cannot be directly referenced by the AGP
    GART.  This patch fixes the GART driver for Xen by adding a layer of
    abstraction between physical addresses and 'GART addresses'.

    Architecture-specific functions are also defined for allocating and freeing
    the GATT.  Xen requires this to ensure that table really is contiguous from
    the point of view of the GART.

    These extra interface functions are defined as 'no-ops' for all existing
    architectures that use the GART driver.

    Signed-off-by: Keir Fraser <keir@xensource.com>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Dave Jones <davej@redhat.com>


commit d0de98fa16169562bd74913c6c9b3857f9065c79
tree 5a81c4e8e8ef76addec655f1edbf6abaa09acfb0
parent 3f5948fa2cbbda1261eec9a39ef3004b3caf73fb
author Alan Hourihane <alanh@fairlite.demon.co.uk> Tue, 31 May 2005 19:50:49 +0100
committer Dave Jones <davej@redhat.com> Tue, 07 Jun 2005 12:35:42 -0700

    [PATCH] i945G patch for agpgart

    Attached is a small patch for i945G support against 2.6.11.11.

    From: Alan Hourihane <alanh@fairlite.demon.co.uk>
    Signed-off-by: Dave Jones <davej@redhat.com>


commit 3f5948fa2cbbda1261eec9a39ef3004b3caf73fb
tree b754365f2ca35a8f8d77c92af8a2c9ad056f0325
parent 74262de5d15fe0cab9e6fe75655a502d3c90acca
author David Mosberger <davidm@napali.hpl.hp.com> Mon, 06 Jun 2005 15:50:09 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 17:02:03 -0700

    [PATCH] Include <linux/config.h> before testing CONFIG_ACPI

    I'm not sure why this issue is suddenly showing, but without this
    patchlet, the zx1 config won't compile anymore (e.g., to see the
    compilation-error, look for "***" in [1]).

    [1] http://www.gelato.unsw.edu.au/kerncomp/results//2005-06-06-17-00/zx1_defconfig-log.html

    Signed-off-by: David Mosberger-Tang <davidm@hpl.hp.com>
    Cc: "Brown, Len" <len.brown@intel.com>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit 74262de5d15fe0cab9e6fe75655a502d3c90acca
tree fe97a42038552f22215c7d2c13d9c92b7aa3b9bc
parent ef130126cc8794f748d7513735ecb4d3d99fa39e
author Tom Rini <trini@kernel.crashing.org> Mon, 06 Jun 2005 15:50:08 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 17:02:02 -0700

    [PATCH] ppc32: add <linux/compiler.h> to <asm/sigcontext.h>

    On ppc32, <asm/sigcontext.h> uses __user, but doesn't directly include
    <linux/compiler.h>.  This adds that in.  Without this, glibc will not
    compile.

    Signed-off-by: Tom Rini <trini@kernel.crashing.org>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit ef130126cc8794f748d7513735ecb4d3d99fa39e
tree be4d1ba5fbea1d83570d50d8be6ce92a07496d31
parent 5065cc02ccf9212d31ecb7fcd63d734e242e64b1
parent 15def7bfb6902aa2b2bc67059f26d696fb27c235
author Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 16:59:55 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 16:59:55 -0700

    Merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/tg3-2.6

commit 5065cc02ccf9212d31ecb7fcd63d734e242e64b1
tree 7bd0b973ecc31a932a30ca9ab40797e4190d28da
parent 8f5bb0438b86d1a5393176ceeec2836fd469edf8
parent fa04ae5c09f3dfedbc923c2954a9a26a573833f1
author Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 16:58:53 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 16:58:53 -0700

    Merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6

commit 15def7bfb6902aa2b2bc67059f26d696fb27c235
tree e3512682907cfa08041c26ea3c41f8e8c80fa64d
parent 9ba27794197a18168b99ccecfb7b799f18b64426
author David S. Miller <davem@davemloft.net> Mon, 06 Jun 2005 15:22:56 -0700
committer David S. Miller <davem@davemloft.net> Mon, 06 Jun 2005 15:22:56 -0700

    [TG3]: Update driver version and release date.

    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 9ba27794197a18168b99ccecfb7b799f18b64426
tree 1bb183a3fda7b5b8904d1d27663fced5f5035f50
parent 49cabf49abd7676d026a61baabf5aae9337a82be
author Michael Chan <mchan@broadcom.com> Mon, 06 Jun 2005 15:16:20 -0700
committer David S. Miller <davem@davemloft.net> Mon, 06 Jun 2005 15:16:20 -0700

    [TG3] Fix link failure in 5701

    On some 5701 devices with older bootcode, the LED configuration bits in
    SRAM may be invalid with value zero. The fix is to check for invalid
    bits (0) and default to PHY 1 mode. Incorrect LED mode will lead to
    error in programming the PHY.

    Thanks to Grant Grundler for debugging the problem.

    >From Grant:
    | In May, 2004,  tg3 v3.4 changed how MAC_LED_CTRL (0x40c) was getting
    | programmed and how to determine what to program into LED_CTRL. The new
    | code trusted NIC_SRAM_DATA_CFG (0x00000b58) to indicate what to write
    | to LED_CTRL and MII EXT_CTRL registers. On "IOX Core Lan", SRAM was
    | saying MODE_MAC (0x0) and that doesn't work.

    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 49cabf49abd7676d026a61baabf5aae9337a82be
tree 942d26ce4359cec83cae75d5de8765454688bbb3
parent 9beb1d587f690d5b2f9087f8f10c0ff9f6b66886
author Michael Chan <mchan@broadcom.com> Mon, 06 Jun 2005 15:15:17 -0700
committer David S. Miller <davem@davemloft.net> Mon, 06 Jun 2005 15:15:17 -0700

    [TG3]: Add TSO firmware license

    Signed-off-by: Michael Chan <mchan@broadcom.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 9beb1d587f690d5b2f9087f8f10c0ff9f6b66886
tree d9f65f5fd428aaa4af4ca2b75bab67259c4eb91f
parent 7cef5677ef3a8084f2588ce0a129dc95d65161f6
author John W. Linville <linville@tuxdriver.com> Mon, 06 Jun 2005 15:14:35 -0700
committer David S. Miller <davem@davemloft.net> Mon, 06 Jun 2005 15:14:35 -0700

    [TG3]: Update pci.ids for BCM5752

    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

commit fa04ae5c09f3dfedbc923c2954a9a26a573833f1
tree df0b22f8d9f8c954cfb6d863dabb89bde430aac4
parent 7cef5677ef3a8084f2588ce0a129dc95d65161f6
author David S. Miller <davem@davemloft.net> Mon, 06 Jun 2005 15:07:19 -0700
committer David S. Miller <davem@davemloft.net> Mon, 06 Jun 2005 15:07:19 -0700

    [ETHTOOL]: Check correct pointer in ethtool_set_coalesce().

    It was checking the "GET" function pointer instead of
    the "SET" one.  Looks like a cut&paste error :-)

    Signed-off-by: David S. Miller <davem@davemloft.net>

commit 8f5bb0438b86d1a5393176ceeec2836fd469edf8
tree 7b47dcf5d182cc3465cac1c904bdc3aec6e7e8f2
parent d671a1cbf7c7a5c5562106d39eb7f830ae5273ae
author Yoshinori Sato <ysato@users.sourceforge.jp> Mon, 06 Jun 2005 14:46:32 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:57:51 -0700

    [PATCH] binfmt_flat mmap flag fix

    Make sure that binfmt_flat passes the correct flags into do_mmap().  nommu's
    validate_mmap_request() will simple return -EINVAL if we try and pass it a
    flags value of zero.

    Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit d9d29a29669f96903d9950bb881c2a393fd33849
tree d2e12822db98a1bf8feac9f428ba18d867771a85
parent 4b7b9772e4c3d87e649d4c419d2487aacf1235aa
author Al Viro <viro@www.linux.org.uk> Mon, 06 Jun 2005 13:36:11 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:27 -0700

    [PATCH] namei fixes (15/19)

    Getting rid of sloppy logics:

    a) in do_follow_link() we have the wrong vfsmount dropped if our symlink
    had been mounted on something.  Currently it worls only because we never
    get such situation (modulo filesystem playing dirty tricks on us).  And
    it obfuscates already convoluted logics...

    b) same goes for open_namei().

    c) in __link_path_walk() we have another "it should never happen" sloppiness -
    out_dput: there does double-free on underlying vfsmount and leaks the covering
    one if we hit it just after crossing a mountpoint.  Again, wrong vfsmount
    getting dropped.

    d) another too-early-mntput() race - in do_follow_mount() we need to postpone
    conditional mntput(path->mnt) until after dput(path->dentry).  Again, this one
    happens only in it-currently-never-happens-unless-some-fs-plays-dirty
    scenario...

    Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit d671a1cbf7c7a5c5562106d39eb7f830ae5273ae
tree c27ab7e75684cb70d943c3b2690ebbd62000a921
parent 634ee7017b31e46e28c0bd2cb488213331bfd39a
author Al Viro <viro@www.linux.org.uk> Mon, 06 Jun 2005 13:36:14 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:27 -0700

    [PATCH] namei fixes (19/19)

    __do_follow_link() passes potentially worng vfsmount to touch_atime().  It
    matters only in (currently impossible) case of symlink mounted on something,
    but it's trivial to fix and that actually makes more sense.

    Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit 634ee7017b31e46e28c0bd2cb488213331bfd39a
tree 98094ec596bd637bc305b626b3c9482860b13d88
parent 58c465eba4d7ed307c4c7cb3382ba7ee565e8858
author Al Viro <viro@www.linux.org.uk> Mon, 06 Jun 2005 13:36:13 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:27 -0700

    [PATCH] namei fixes (18/19)

    Cosmetical cleanups - __follow_mount() calls in __link_path_walk() absorbed
    into do_lookup().

    Obviously equivalent transformation.

    Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit 58c465eba4d7ed307c4c7cb3382ba7ee565e8858
tree f147af3fee122ec5cc054ac78fa30e1490a8acd0
parent 39ca6d49759346d4710c759d443eec8048b27213
author Al Viro <viro@www.linux.org.uk> Mon, 06 Jun 2005 13:36:13 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:27 -0700

    [PATCH] namei fixes (17/19)

    follow_mount() made void, reordered dput()/mntput() in it.

    follow_dotdot() switched from struct vfmount ** + struct dentry ** to
    struct nameidata *; callers updated.

    Equivalent transformation + fix for too-early-mntput() race.

    Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit 39ca6d49759346d4710c759d443eec8048b27213
tree 559f7d4f5536d2f155ef4301bb2e4056e7a5e587
parent d9d29a29669f96903d9950bb881c2a393fd33849
author Al Viro <viro@www.linux.org.uk> Mon, 06 Jun 2005 13:36:12 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:27 -0700

    [PATCH] namei fixes (16/19)

    Conditional mntput() moved into __do_follow_link().  There it collapses with
    unconditional mntget() on the same sucker, closing another too-early-mntput()
    race.

    Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit e13b210f6f7bdc44dfee0a9bbd633a32db0d6333
tree f957ec2fc24f8a9eb84dcffe76341262c1acedf0
parent 463ffb2e9d39c2a3fd8c3c1d4a34e01f2078f972
author Al Viro <viro@www.linux.org.uk> Mon, 06 Jun 2005 13:36:06 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:26 -0700

    [PATCH] namei fixes (10/19)

    In open_namei(), __follow_down() loop turned into __follow_mount().
    Instead of
    	if we are on a mountpoint dentry
    		if O_NOFOLLOW checks fail
    			drop path.dentry
    			drop nd
    			return
    		do equivalent of follow_mount(&path.mnt, &path.dentry)
    		nd->mnt = path.mnt
    we do
    	if __follow_mount(path) had, indeed, traversed mountpoint
    		/* now both nd->mnt and path.mnt are pinned down */
    		if O_NOFOLLOW checks fail
    			drop path.dentry
    			drop path.mnt
    			drop nd
    			return
    		mntput(nd->mnt)
    		nd->mnt = path.mnt

    Now __follow_down() can be folded into follow_down() - no other callers left.
    We need to reorder dput()/mntput() there - same problem as in follow_mount().

    Equivalent transformation + fix for a bug in O_NOFOLLOW handling - we used to
    get -ELOOP if we had the same fs mounted on /foo and /bar, had something bound
    on /bar/baz and tried to open /foo/baz with O_NOFOLLOW.  And fix of
    too-early-mntput() race in follow_down()

    Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit ba7a4c1a76f56c607560f1676680ff491747bdae
tree c68f4fd0d5802819eb16dc6c126b2c24f4e09634
parent a15a3f6fc67d910f43098acec6e19d25a37d7cb9
author Al Viro <viro@www.linux.org.uk> Mon, 06 Jun 2005 13:36:08 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:26 -0700

    [PATCH] namei fixes (13/19)

    In open_namei() exit_dput: we have mntput() done in the wrong order -
    if nd->mnt != path.mnt we end up doing
    	mntput(nd->mnt);
    	nd->mnt = path.mnt;
    	dput(nd->dentry);
    	mntput(nd->mnt);
    which drops nd->dentry too late.  Fixed by having path.mnt go first.
    That allows to switch O_NOFOLLOW under if (__follow_mount(...)) back
    to exit_dput, while we are at it.

    Fix for early-mntput() race + equivalent transformation.

    Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit a15a3f6fc67d910f43098acec6e19d25a37d7cb9
tree f00e6a3f505f2e77568695f6f5e2bd4786fcc8ca
parent 2f12dbfbb6286c725c283a169f8f05e89a86848b
author Al Viro <viro@www.linux.org.uk> Mon, 06 Jun 2005 13:36:08 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:26 -0700

    [PATCH] namei fixes (12/19)

    In open_namei() we take mntput(nd->mnt);nd->mnt=path.mnt; out of the if
    (__follow_mount(...)), making it conditional on nd->mnt != path.mnt instead.

    Then we shift the result downstream.

    Equivalent transformations.

    Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit 4b7b9772e4c3d87e649d4c419d2487aacf1235aa
tree 943427ad8ef5ed51ab0802cf81f5c0e721fb36c6
parent ba7a4c1a76f56c607560f1676680ff491747bdae
author Al Viro <viro@www.linux.org.uk> Mon, 06 Jun 2005 13:36:10 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:26 -0700

    [PATCH] namei fixes (14/19)

    shifted conditional mntput() into do_follow_link() - all callers were doing
    the same thing.

    Obviously equivalent transformation.

    Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit 2f12dbfbb6286c725c283a169f8f05e89a86848b
tree 5d0a725f71a041955d49146c4837a0df19a015dc
parent e13b210f6f7bdc44dfee0a9bbd633a32db0d6333
author Al Viro <viro@www.linux.org.uk> Mon, 06 Jun 2005 13:36:07 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:26 -0700

    [PATCH] namei fixes (11/19)

    shifted conditional mntput() calls in __link_path_walk() downstream.

    Obviously equivalent transformation.

    Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit d671d5e51400aab03c713a16ce3545aa81ad7b1c
tree c0ba8f1af3d55320a52024d02be4ab9869a0f6e2
parent cd4e91d3bca8d5527289f5984cf32e9fe6fb8293
author Al Viro <viro@www.linux.org.uk> Mon, 06 Jun 2005 13:36:04 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:25 -0700

    [PATCH] namei fixes (8/19)

    In open_namei() we never use path.mnt or path.dentry after exit: or ok:.
    Assignment of path.dentry in case of LAST_BIND is dead code and only
    obfuscates already convoluted function; assignment of path.mnt after
    __do_follow_link() can be moved down to the place where we set path.dentry.

    Obviously equivalent transformations, just to clean the air a bit in that
    region.

    Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit cd4e91d3bca8d5527289f5984cf32e9fe6fb8293
tree 5059fedcd7fb8e8893b8d204e18b5813dfae3449
parent 839d9f93c9f1623fb37234d464d739617879d97e
author Al Viro <viro@www.linux.org.uk> Mon, 06 Jun 2005 13:36:03 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:25 -0700

    [PATCH] namei fixes (7/19)

    The first argument of __do_follow_link() switched to struct path *
    (__do_follow_link(path->dentry, ...) -> __do_follow_link(path, ...)).

    All callers have the same calls of mntget() right before and dput()/mntput()
    right after __do_follow_link(); these calls have been moved inside.

    Obviously equivalent transformations.

    Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit 839d9f93c9f1623fb37234d464d739617879d97e
tree 1f3e2e6b31d0417a99868d748fae044a5fd0995e
parent 1be4a0900be5d2c2fd9cd012e3a153e1ea47b96a
author Al Viro <viro@www.linux.org.uk> Mon, 06 Jun 2005 13:36:02 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:25 -0700

    [PATCH] namei fixes (6/19)

    mntget(path->mnt) in do_follow_link() moved down to right before the
    __do_follow_link() call and rigth after loop: resp.

    dput()+mntput() on non-ELOOP branch moved up to right after __do_follow_link()
    call.

    resulting
    loop:
    	mntget(path->mnt);
    	path_release(nd);
    	dput(path->mnt);
    	mntput(path->mnt);
    replaced with equivalent
    	dput(path->mnt);
    	path_release(nd);

    Equivalent transformations - the reason why we have that mntget() is that
    __do_follow_link() can drop a reference to nd->mnt and that's what holds
    path->mnt.  So that call can happen at any point prior to __do_follow_link()
    touching nd->mnt.  The rest is obvious.

    NOTE: current tree relies on symlinks *never* being mounted on anything.  It's
    not hard to get rid of that assumption (actually, that will come for free
    later in the series).  For now we are just not making the situation worse than
    it is.

    Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit 463ffb2e9d39c2a3fd8c3c1d4a34e01f2078f972
tree e5d9b39aca2a546bf2b832c5a2a7066e34f9c1b5
parent d671d5e51400aab03c713a16ce3545aa81ad7b1c
author Al Viro <viro@www.linux.org.uk> Mon, 06 Jun 2005 13:36:05 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:25 -0700

    [PATCH] namei fixes (9/19)

    New helper: __follow_mount(struct path *path).  Same as follow_mount(), except
    that we do *not* do mntput() after the first lookup_mnt().

    IOW, original path->mnt stays pinned down.  We also take care to do dput()
    before mntput() in the loop body (follow_mount() also needs that reordering,
    but that will be done later in the series).

    The following are equivalent, assuming that path.mnt == x:
    (1)
    	follow_mount(&path.mnt, &path.dentry)
    (2)
    	__follow_mount(&path);
    	if (path->mnt != x)
    		mntput(x);
    (3)
    	if (__follow_mount(&path))
    		mntput(x);

    Callers of follow_mount() in __link_path_walk() converted to (2).

    Equivalent transformation + fix for too-late-mntput() race in __follow_mount()
    loop.

    Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit d73ffe16b8baafae6e9249acee6b50c24099c6de
tree 321319974be9fcc50f4ec36ccad26b84d4b66b66
parent 4e7506e4dd9e40c189fcbec95d5dbc92f2e5926a
author Al Viro <viro@www.linux.org.uk> Mon, 06 Jun 2005 13:36:01 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:24 -0700

    [PATCH] namei fixes (4/19)

    path.mnt in open_namei() set to mirror nd->mnt.

    nd->mnt is set in 3 places in that function - path_lookup() in the beginning,
    __follow_down() loop after do_last: and __do_follow_link() call after
    do_link:.

    We set path.mnt to nd->mnt after path_lookup() and __do_follow_link().  In
    __follow_down() loop we use &path.mnt instead of &nd->mnt and set nd->mnt to
    path.mnt immediately after that loop.

    Obviously equivalent transformation.

    Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit 90ebe5654febe3555a2516d51d3d251226d35fdb
tree 576e1b58886329a4ea0c8a4b20416ce0dead0e51
parent 4481e8eea761857367162b0957277d5524fbea63
author Al Viro <viro@www.linux.org.uk> Mon, 06 Jun 2005 13:35:58 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:24 -0700

    [PATCH] namei fixes

    OK, here comes a patch series that hopefully should close all
    too-early-mntput() races in fs/namei.c.  Entire area is convoluted as hell, so
    I'm splitting that series into _very_ small chunks.

    Patches alread in the tree close only (very wide) races in following symlinks
    (see "busy inodes after umount" thread some time ago).  Unfortunately, quite a
    few narrower races of the same nature were not closed.  Hopefully this should
    take care of all of them.

    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit 5f92b3bcec0fa2e2d775b589850097f9dc6b2de2
tree 239ce9af16392b452f651780e85b40b809b8d17a
parent 90ebe5654febe3555a2516d51d3d251226d35fdb
author Al Viro <viro@www.linux.org.uk> Mon, 06 Jun 2005 13:35:59 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:24 -0700

    [PATCH] namei fixes (2/19)

    All callers of do_follow_link() do mntget() right before it and
    dput()+mntput() right after.  These calls are moved inside do_follow_link()
    now.

    Obviously equivalent transformation.

    Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit 4e7506e4dd9e40c189fcbec95d5dbc92f2e5926a
tree 2c13ff8c1ed25fea1511e67a27575824fc56aabe
parent 5f92b3bcec0fa2e2d775b589850097f9dc6b2de2
author Al Viro <viro@www.linux.org.uk> Mon, 06 Jun 2005 13:36:00 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:24 -0700

    [PATCH] namei fixes (3/19)

    Replaced struct dentry *dentry in namei with struct path path.  All uses of
    dentry replaced with path.dentry there.

    Obviously equivalent transformation.

    Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit 1be4a0900be5d2c2fd9cd012e3a153e1ea47b96a
tree e743475f1ff0e078bda6bc8555bfc5b9fb8b4097
parent d73ffe16b8baafae6e9249acee6b50c24099c6de
author Al Viro <viro@www.linux.org.uk> Mon, 06 Jun 2005 13:36:01 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:24 -0700

    [PATCH] namei fixes (5/19)

    fix for too early mntput() in open_namei() - we pin path.mnt down for the
    duration of __do_follow_link().  Otherwise we could get the fs where our
    symlink lived unmounted while we were in __do_follow_link().  That would end
    up with dentry of symlink staying pinned down through the fs shutdown.

    Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit a51171816826b074828fa96cb6ef60fc3b13631a
tree e3c6f7a9852d45e9fdec75d7c71548ba404625e7
parent 7cef5677ef3a8084f2588ce0a129dc95d65161f6
author Martin Schwidefsky <schwidefsky@de.ibm.com> Mon, 06 Jun 2005 13:35:54 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:23 -0700

    [PATCH] broken fault_in_pages_readable call in generic_file_buffered_write()

    fault_in_pages_readable() is being passed an incorrect `end' address, which
    can result in writes accidentally faulting in pages which will not be affected
    by the write() call.

    Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit 8e2894e51d6407e47226a60c0d19bf384642c55a
tree 9450c84cb6467d17e13a9def59479216d6af1b29
parent 3399ba5b70eccc918ea4ab2630cac68f5c8ff845
author Yoshinori Sato <ysato@users.sourceforge.jp> Mon, 06 Jun 2005 13:35:56 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:23 -0700

    [PATCH] h8300 build error fix

    h8300 was missing a few definitions.

    Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>

commit 4481e8eea761857367162b0957277d5524fbea63
tree 2b8e0a7ae33b67be3e0a195a11919705e3934865
parent 8e2894e51d6407e47226a60c0d19bf384642c55a
author Kumar Gala <galak@freescale.com> Mon, 06 Jun 2005 13:35:57 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:23 -0700

    [PATCH] ppc32: Fix incorrect CPU_FTR fixup usage for unified caches

    Runtime feature support for unified caches was testing a userland feature
    flag (PPC_FEATURE_UNIFIED_CACHE) instead of a cpu feature flag
    (CPU_FTR_SPLIT_ID_CACHE).  Luckily the current defined bit mask for cpu
    features and userland features do not overlap so this only causes an issue
    on machines with a unified cache, which is extremely rare on PPC today.

    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>

commit 3399ba5b70eccc918ea4ab2630cac68f5c8ff845
tree 8bc0679962247a65012a2e39d137df4cd9e21d82
parent a51171816826b074828fa96cb6ef60fc3b13631a
author Denis Vlasenko <vda@ilport.com.ua> Mon, 06 Jun 2005 13:35:55 -0700
committer Linus Torvalds <torvalds@ppc970.osdl.org> Mon, 06 Jun 2005 14:42:23 -0700

    [PATCH] moxa: do not ignore input

    Stop using tty internal structure in mxser_receive_chars(), use
    tty_insert_flip_char(tty, ch flag); instead.

    Without this change driver ignores any rx'ed chars.

    Run tested.

    Cc: Alan Cox <alan@redhat.com>
    Cc: Russell King <rmk@arm.linux.org.uk>
    Signed-off-by: Andrew Morton <akpm@osdl.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>