27 Jan, 2007

2 commits

  • I wouldn't mind if CONFIG_COMPAT_VDSO went away entirely. But if it's there,
    it should work properly. Currently it's quite haphazard: both real vma and
    fixmap are mapped, both are put in the two different AT_* slots, sysenter
    returns to the vma address rather than the fixmap address, and core dumps yet
    are another story.

    This patch makes CONFIG_COMPAT_VDSO disable the real vma and use the fixmap
    area consistently. This makes it actually compatible with what the old vdso
    implementation did.

    Signed-off-by: Roland McGrath
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roland McGrath
     
  • This patch implements forwarding of SHUTDOWN intercepts from the guest on to
    userspace on AMD SVM. A SHUTDOWN event occurs when the guest produces a
    triple fault (e.g. on reboot). This also fixes the bug that a guest reboot
    actually causes a host reboot under some circumstances.

    Signed-off-by: Joerg Roedel
    Signed-off-by: Avi Kivity
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joerg Roedel
     

26 Jan, 2007

1 commit


25 Jan, 2007

6 commits

  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
    [MIPS] Fix wrong checksum calculation on 64-bit MIPS
    [MIPS] VPE loader: Initialize lists before they're actually being used ...
    [MIPS] Fix reported amount of freed memory - it's in kB not bytes
    [MIPS] vr41xx: need one more nop with mtc0_tlbw_hazard()
    [MIPS] SMTC: Fix module build by exporting symbol
    [MIPS] SMTC: Fix TLB sizing bug for TLB of 64 >= entries
    [MIPS] Fix APM build
    [MIPS] There is no __GNUC_MAJOR__

    Linus Torvalds
     
  • Prevent the call to invalidate_inode_pages2() from racing with file writes
    by taking the inode->i_mutex across the page cache flush and invalidate.

    Signed-off-by: Trond Myklebust
    Signed-off-by: Linus Torvalds

    Trond Myklebust
     
  • Fix the Oops in http://bugzilla.linux-nfs.org/show_bug.cgi?id=138
    We shouldn't be calling rpc_release_task() for tasks that are not active.

    Signed-off-by: Trond Myklebust
    Signed-off-by: Linus Torvalds

    Trond Myklebust
     
  • The commit 8e3d8433d8c22ca6c42cba4a67d300c39aae7822 ([NET]: MIPS
    checksum annotations and cleanups) broke 64-bit MIPS.

    The problem is the commit replaces some unsigned long with __be32. On
    64bit MIPS, a __be32 (i.e. unsigned int) value is represented as a
    sign-extented 32-bit value in a 64-bit argument register. So the
    address 192.168.0.1 (0xc0a80001) is passed as 0xffffffffc0a80001 to
    csum_tcpudp_nofold() but the asm code in the function expects
    0x00000000c0a80001, therefore it returns a wrong checksum. Explicit
    cast to unsigned long is needed to drop high 32bit.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     
  • NEC VR4111 and VR4121 need one more nop with mtc0_tlbw_hazard().

    Signed-off-by: Yoichi Yuasa
    Signed-off-by: Ralf Baechle

    Yoichi Yuasa
     
  • Definitions for TIF_FREEZE and _TIF_FREEZE were missing.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     

24 Jan, 2007

12 commits

  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (23 commits)
    [SCTP]: Fix compiler warning.
    [IP] TUNNEL: Fix to be built with user application.
    [IPV6]: Fixed the size of the netlink message notified by inet6_rt_notify().
    [TCP]: rare bad TCP checksum with 2.6.19
    [NET]: Process include/linux/if_{addr,link}.h with unifdef
    [NETFILTER]: Fix iptables ABI breakage on (at least) CRIS
    [IRDA] vlsi_ir.{h,c}: remove kernel 2.4 code
    [TCP]: skb is unexpectedly freed.
    [IPSEC]: Policy list disorder
    [IrDA]: Removed incorrect IRDA_ASSERT()
    [IrDA]: irda-usb TX path optimization (was Re: IrDA spams logfiles - since 2.6.19)
    [X.25]: Add missing sock_put in x25_receive_data
    [SCTP]: Fix SACK sequence during shutdown
    [SCTP]: Correctly handle unexpected INIT-ACK chunk.
    [SCTP]: Verify some mandatory parameters.
    [SCTP]: Set correct error cause value for missing parameters
    [NETFILTER]: fix xt_state compile failure
    [NETFILTER]: ctnetlink: fix leak in ctnetlink_create_conntrack error path
    [SELINUX]: increment flow cache genid
    [IPV6] MCAST: Fix joining all-node multicast group on device initialization.
    ...

    Linus Torvalds
     
  • Initialize qc->pad_len for each new command. This ensures
    that pad_len is not set to a stale value for zero data
    length commands.

    Signed-off-by: Brian King
    Signed-off-by: Jeff Garzik

    Brian King
     
  • Fixup the inialization of qc->n_elem. It currently gets
    initialized to 1 for commands that do not transfer any data.
    Fix this by initializing n_elem to 0 and only setting to 1
    in ata_scsi_qc_new when there is data to transfer. This fixes
    some problems seen with SATA devices attached to ipr adapters.

    Signed-off-by: Brian King
    Signed-off-by: Jeff Garzik

    Brian King
     
  • include/linux/if_tunnel.h is broken for user application
    because it was changed to use __be32 which is required
    to include linux/types.h in advance but didn't.

    (This issue is found when building MIPL2 daemon. We are not sure this
    is the last header to be fixed about __be32.)

    Signed-off-by: Masahide NAKAMURA
    Signed-off-by: TAKAMIYA Noriaki
    Signed-off-by: David S. Miller

    Masahide NAKAMURA
     
  • After commit d3dcc077bf88806201093f86325ec656e4dbfbce,
    include/linux/if_{addr,link}.h should be processed with unifdef.

    Signed-off-by: Adrian Bunk
    Signed-off-by: David S. Miller

    Adrian Bunk
     
  • With the introduction of x_tables we accidentally broke compatibility
    by defining IPT_TABLE_MAXNAMELEN to XT_FUNCTION_MAXNAMELEN instead of
    XT_TABLE_MAXNAMELEN, which is two bytes larger.

    On most architectures it doesn't really matter since we don't have
    any tables with names that long in the kernel and the structure
    layout didn't change because of alignment requirements of following
    members. On CRIS however (and other architectures that don't align
    data) this changed the structure layout and thus broke compatibility
    with old iptables binaries.

    Changing it back will break compatibility with binaries compiled
    against recent kernels again, but since the breakage has only been
    there for three releases this seems like the better choice.

    Spotted by Jonas Berlin .

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     
  • Consider the chunk as Out-of-the-Blue if we don't have
    an endpoint. Otherwise discard it as before.

    Signed-off-by: Vlad Yasevich
    Signed-off-by: Sridhar Samudrala
    Signed-off-by: David S. Miller

    Vlad Yasevich
     
  • In file included from net/netfilter/xt_state.c:13:
    include/net/netfilter/nf_conntrack_compat.h: In function 'nf_ct_l3proto_try_module_get':
    include/net/netfilter/nf_conntrack_compat.h:70: error: 'PF_INET' undeclared (first use in this function)
    include/net/netfilter/nf_conntrack_compat.h:70: error: (Each undeclared identifier is reported only once
    include/net/netfilter/nf_conntrack_compat.h:70: error: for each function it appears in.)
    include/net/netfilter/nf_conntrack_compat.h:71: warning: control reaches end of non-void function
    make[2]: *** [net/netfilter/xt_state.o] Error 1
    make[1]: *** [net/netfilter] Error 2
    make: *** [net] Error 2

    A simple fix is to have nf_conntrack_compat.h #include .

    Signed-off-by: Mikael Pettersson
    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Mikael Pettersson
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
    [MIPS] Vr41xx: Fix after GENERIC_HARDIRQS_NO__DO_IRQ change
    [MIPS] SMTC: Instant IPI replay.

    Linus Torvalds
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • * 'ftape' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6:
    more ftape removal

    Linus Torvalds
     
  • SMTC pseudo-interrupts between TCs are deferred and queued if the target
    TC is interrupt-inhibited (IXMT). In the first SMTC prototypes, these
    queued IPIs were serviced on return to user mode, or on entry into the
    kernel idle loop. The INSTANT_REPLAY option dispatches them as part of
    local_irq_restore() processing, which adds runtime overhead (hence the
    option to turn it off), but ensures that IPIs are handled promptly even
    under heavy I/O interrupt load.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     

23 Jan, 2007

9 commits

  • This patch fixes a confusion reiserfs has for a long time.

    On release file operation reiserfs used to try to pack file data stored in
    last incomplete page of some files into metadata blocks. After packing the
    page got cleared with clear_page_dirty. It did not take into account that
    the page may be mmaped into other process's address space. Recent
    replacement for clear_page_dirty cancel_dirty_page found the confusion with
    sanity check that page has to be not mapped.

    The patch fixes the confusion by making reiserfs avoid tail packing if an
    inode was ever mmapped. reiserfs_mmap and reiserfs_file_release are
    serialized with mutex in reiserfs specific inode. reiserfs_mmap locks the
    mutex and sets a bit in reiserfs specific inode flags.
    reiserfs_file_release checks the bit having the mutex locked. If bit is
    set - tail packing is avoided. This eliminates a possibility that mmapped
    page gets cancel_page_dirty-ed.

    Signed-off-by: Vladimir Saveliev
    Cc: Jeff Mahoney
    Cc: Chris Mason
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vladimir Saveliev
     
  • This patch removes some more ftape code.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Jeff Garzik

    Adrian Bunk
     
  • The current PDA code, which went in in post 2.6.19 has a flaw in that it
    doesn't correctly cycle the GDT and %GS segment through the boot PDA,
    the CPU PDA and finally the per-cpu PDA.

    The bug generally doesn't show up if the boot CPU id is zero, but
    everything falls apart for a non zero boot CPU id. The basically kills
    voyager which is perfectly capable of doing non zero CPU id boots, so
    voyager currently won't boot without this.

    The fix is to be careful and actually do the GDT setups correctly.

    Signed-off-by: James Bottomley
    Cc: Andi Kleen
    Cc: Jeremy Fitzhardinge
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    James Bottomley
     
  • * git://git.infradead.org/mtd-2.6: (84 commits)
    [JFFS2] debug.h: include for current->pid
    [MTD] OneNAND: Handle DDP chip boundary during read-while-load
    [MTD] OneNAND: return ecc error code only when 2-bit ecc occurs
    [MTD] OneNAND: Implement read-while-load
    [MTD] OneNAND: fix onenand_wait bug in read ecc error
    [MTD] OneNAND: release CPU in cycles
    [MTD] OneNAND: add subpage write support
    [MTD] OneNAND: fix onenand_wait bug
    [JFFS2] use the ref_offset macro
    [JFFS2] Reschedule in loops
    [JFFS2] Fix error-path leak in summary scan
    [JFFS2] add cond_resched() when garbage collecting deletion dirent
    [MTD] Nuke IVR leftovers
    [MTD] OneNAND: fix oob handling in recent oob patch
    [MTD] Fix ssfdc blksize typo
    [JFFS2] replace kmalloc+memset with kzalloc
    [MTD] Fix SSFDC build for variable blocksize.
    [MTD] ESB2ROM uses PCI
    [MTD] of_device-based physmap driver
    [MTD] Support combined RedBoot FIS directory and configuration area
    ...

    Linus Torvalds
     
  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    sata_mv HighPoint 2310 support (88SX7042)
    libata: fix handling of port actions in per-dev action mask
    libata: initialize qc->dma_dir to DMA_NONE
    sata_via: add PCI ID 0x5337
    libata doc: "error : unterminated entity reference exceptions"

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
    hid-core.c: Adds GTCO CalComp Interwrite IPanel PIDs to blacklist
    HID: put usb_interface instead of usb_device into hid->dev to fix udevinfo breakage
    HID: add missing RX, RZ and RY enum values to hid-debug output
    HID: hid/hid-input.c doesn't need to include linux/usb/input.h
    HID: compilation fix when DEBUG_DATA is defined
    HID: proper LED-mapping for SpaceNavigator
    HID: update MAINTAINERS entry for USB-HID
    HID: GEYSER4_ISO needs quirk
    HID: fix some ARM builds due to HID brokenness - make USB_HID depend on INPUT

    Linus Torvalds
     
  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
    [POWERPC] Update defconfigs
    [POWERPC] atomic_dec_if_positive sign extension fix
    [POWERPC] Fix OF node refcnt underflow in 836x and 832x platform code
    [POWERPC] Make it blatantly clear; mpc5200 device tree is not yet stable
    [POWERPC] Fix broken DMA on non-LPAR pSeries
    [POWERPC] Fix cell's mmio nvram to properly parse device tree
    [POWERPC] Remove bogus sanity check in pci -> OF node code

    Linus Torvalds
     
  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
    V4L/DVB (5023): Fix compilation on ppc32 architecture
    V4L/DVB (5071): Tveeprom: autodetect LG TAPC G701D as tuner type 37
    V4L/DVB (5069): Fix bttv and friends on 64bit machines with lots of memory
    V4L/DVB (5033): MSI TV@nywhere Plus fixes
    V4L/DVB (5029): Ks0127 status flags
    V4L/DVB (5024): Fix quickcam communicator driver for big endian architectures
    V4L/DVB (5021): Cx88xx: Fix lockup on suspend
    V4L/DVB (5020): Fix: disable interrupts while at KM_BOUNCE_READ
    V4L/DVB (5019): Fix the frame->grabstate update in read() entry point.

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
    mmc: Correct definition of R6
    omap: Update MMC response types

    Linus Torvalds
     

22 Jan, 2007

2 commits

  • On 64-bit machines, if an atomic counter is explicitly set to a
    negative value, the atomic_dec_if_positive function will decrement and
    store the next smallest value in the atomic counter, contrary to its
    intended operation.

    The comparison to determine if the decrement will make the result
    negative was done by the "addic." instruction, which operates on a
    64-bit value, namely the zero-extended word loaded from the atomic
    variable. This patch uses an explicit word compare (cmpwi) and
    changes the addic. to an addi (also changing "=&r" to "=&b" so that r0
    isn't used, and addi doesn't become li).

    This also fixes a bug for both 32-bit and 64-bit in that previously
    0x80000000 was considered positive, since the result after
    decrementing is positive. Now it is considered negative.

    Also, I clarify the return value in the comments just to make it clear
    that the value returned is always the decremented value, even if that
    value is not stored back to the atomic counter.

    Signed-off-by: Robert Jennings
    Signed-off-by: Paul Mackerras

    Robert Jennings
     
  • This trivial change adds some missing enum values to the hid-debug output.

    Signed-off-by: Simon Budig
    Signed-off-by: Jiri Kosina

    Simon Budig
     

20 Jan, 2007

1 commit

  • libata didn't used to init qc->dma_dir to any specific value on qc
    initialization and command translation path didn't set qc->dma_dir if
    the command doesn't need data transfer. This made non-data commands
    to have random qc->dma_dir.

    This usually doesn't cause problem because LLDs usually check
    qc->protocol first and look at qc->dma_dir iff the command needs data
    transfer but this doesn't hold for all LLDs.

    It might be worthwhile to rename qc->dma_dir to qc->data_dir as we use
    the field to tag data direction for both PIO and DMA protocols.

    This problem has been spotted by James Bottomley.

    Signed-off-by: Tejun Heo
    Cc: James Bottomley
    Signed-off-by: Jeff Garzik

    Tejun Heo
     

18 Jan, 2007

1 commit


16 Jan, 2007

1 commit

  • There's a problem, pointed by Meelis Roos , that, on ppc32 arch,
    with some gcc versions (noticed with prerelease 4.1.2 20061115), compilation
    fails, due the lack of __ucmpdi2 to do the required 64-bit comparision.
    This patch takes some sugestions made by Andrew Morton ,
    Stelian Pop and Segher Boessenkool

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     

15 Jan, 2007

1 commit

  • During development of SDHC support, it was discovered that the definition
    for R6 was incorrect. This patch fixes that and patches the drivers that
    do switch on the response type.

    Signed-off-by: Philip Langdale
    Cc: Alex Dubov
    Cc: Pavel Pisa
    Signed-off-by: Pierre Ossman

    Philip Langdale
     

12 Jan, 2007

4 commits

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
    Revert "ACPI: ibm-acpi: make non-generic bay support optional"
    ACPI: update MAINTAINERS
    ACPI: schedule obsolete features for deletion
    ACPI: delete two spurious ACPI messages
    ACPI: rename cstate_entry_s to cstate_entry
    ACPI: ec: enable printk on cmdline use
    ACPI: Altix: ACPI _PRT support

    Linus Torvalds
     
  • unionfs managed to hit this on s390. Some architectures use __ptr_t in their
    FD_ZERO implementation. We don't have a __ptr_t. Switch them over to plain
    old void*.

    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Al Viro
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: "Luck, Tony"
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: Josef 'Jeff' Sipek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Revert bd_mount_mutex back to a semaphore so that xfs_freeze -f /mnt/newtest;
    xfs_freeze -u /mnt/newtest works safely and doesn't produce lockdep warnings.

    (XFS unlocks the semaphore from a different task, by design. The mutex
    code warns about this)

    Signed-off-by: Dave Chinner
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Chinner
     
  • NFS: Fix race in nfs_release_page()

    invalidate_inode_pages2() may find the dirty bit has been set on a page
    owing to the fact that the page may still be mapped after it was locked.
    Only after the call to unmap_mapping_range() are we sure that the page
    can no longer be dirtied.
    In order to fix this, NFS has hooked the releasepage() method and tries
    to write the page out between the call to unmap_mapping_range() and the
    call to remove_mapping(). This, however leads to deadlocks in the page
    reclaim code, where the page may be locked without holding a reference
    to the inode or dentry.

    Fix is to add a new address_space_operation, launder_page(), which will
    attempt to write out a dirty page without releasing the page lock.

    Signed-off-by: Trond Myklebust

    Also, the bare SetPageDirty() can skew all sort of accounting leading to
    other nasties.

    [akpm@osdl.org: cleanup]
    Signed-off-by: Peter Zijlstra
    Cc: Trond Myklebust
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Trond Myklebust