17 Nov, 2010

1 commit

  • scripts/headers_install.pl prevents "__user" from being exported
    to userspace headers, so just use compiler.h to make sure that
    __user is defined and avoid the error.

    unifdef: linux-next-20101112/xx64/usr/include/xen/privcmd.h.tmp: 79: Premature EOF (#if line 33 depth 1)

    Signed-off-by: Randy Dunlap
    Cc: Jeremy Fitzhardinge
    Cc: Konrad Rzeszutek Wilk
    Cc: xen-devel@lists.xensource.com (moderated for non-subscribers)
    Cc: virtualization@lists.osdl.org
    Cc: Tony Finch
    Signed-off-by: Jeremy Fitzhardinge

    Randy Dunlap
     

12 Nov, 2010

1 commit


30 Oct, 2010

1 commit


21 Oct, 2010

12 commits


15 Oct, 2010

4 commits

  • Linus Torvalds
     
  • Tony Luck reports that the addition of the access_ok() check in commit
    0eead9ab41da ("Don't dump task struct in a.out core-dumps") broke the
    ia64 compile due to missing the necessary header file includes.

    Rather than add yet another include () to make everything
    happy, just uninline the silly core dump helper functions and move the
    bodies to fs/exec.c where they make a lot more sense.

    dump_seek() in particular was too big to be an inline function anyway,
    and none of them are in any way performance-critical. And we really
    don't need to mess up our include file headers more than they already
    are.

    Reported-and-tested-by: Tony Luck
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    ehea: Fix a checksum issue on the receive path
    net: allow FEC driver to use fixed PHY support
    tg3: restore rx_dropped accounting
    b44: fix carrier detection on bind
    net: clear heap allocations for privileged ethtool actions
    NET: wimax, fix use after free
    ATM: iphase, remove sleep-inside-atomic
    ATM: mpc, fix use after free
    ATM: solos-pci, remove use after free
    net/fec: carrier off initially to avoid root mount failure
    r8169: use device model DMA API
    r8169: allocate with GFP_KERNEL flag when able to sleep

    Linus Torvalds
     
  • akiphie points out that a.out core-dumps have that odd task struct
    dumping that was never used and was never really a good idea (it goes
    back into the mists of history, probably the original core-dumping
    code). Just remove it.

    Also do the access_ok() check on dump_write(). It probably doesn't
    matter (since normal filesystems all seem to do it anyway), but he
    points out that it's normally done by the VFS layer, so ...

    [ I suspect that we should possibly do "vfs_write()" instead of
    calling ->write directly. That also does the whole fsnotify and write
    statistics thing, which may or may not be a good idea. ]

    And just to be anal, do this all for the x86-64 32-bit a.out emulation
    code too, even though it's not enabled (and won't currently even
    compile)

    Reported-by: akiphie
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

14 Oct, 2010

11 commits

  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:
    ioat2: fix performance regression

    Linus Torvalds
     
  • * 'for-2.6.36' of git://linux-nfs.org/~bfields/linux:
    nfsd: fix BUG at fs/nfsd/nfsfh.h:199 on unlink

    Linus Torvalds
     
  • …/git/tip/linux-2.6-tip

    * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    ring-buffer: Fix typo of time extends per page
    perf, MIPS: Support cross compiling of tools/perf for MIPS
    perf: Fix incorrect copy_from_user() usage

    Linus Torvalds
     
  • * master.kernel.org:/home/rmk/linux-2.6-arm:
    ARM: relax ioremap prohibition (309caa9) for -final and -stable
    ARM: 6440/1: ep93xx: DMA: fix channel_disable
    cpuimx27: fix i2c bus selection
    cpuimx27: fix compile when ULPI is selected
    ARM: 6435/1: Fix HWCAP_TLS flag for ARM11MPCore/Cortex-A9
    ARM: 6436/1: AT91: Fix power-saving in idle-mode on 926T processors
    ARM: fix section mismatch warnings in Versatile Express
    ARM: 6412/1: kprobes-decode: add support for MOVW instruction
    ARM: 6419/1: mmu: Fix MT_MEMORY and MT_MEMORY_NONCACHED pte flags
    ARM: 6416/1: errata: faulty hazard checking in the Store Buffer may lead to data corruption

    Linus Torvalds
     
  • …/git/tmlind/linux-omap-2.6

    * 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6:
    omap: iommu-load cam register before flushing the entry

    Linus Torvalds
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm/radeon/kms: Silent spurious error message
    drm/radeon/kms: fix bad cast/shift in evergreen.c
    drm/radeon/kms: make TV/DFP table info less verbose
    drm/radeon/kms: leave certain CP int bits enabled
    drm/radeon/kms: avoid corner case issue with unmappable vram V2

    Linus Torvalds
     
  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, numa: For each node, register the memory blocks actually used
    x86, AMD, MCE thresholding: Fix the MCi_MISCj iteration order
    x86, mce, therm_throt.c: Fix missing curly braces in error handling logic

    Linus Torvalds
     
  • Commit 0793448 "DMAENGINE: generic channel status v2" changed the interface for
    how dma channel progress is retrieved. It inadvertently exported an internal
    helper function ioat_tx_status() instead of ioat_dma_tx_status(). The latter
    polls the hardware to get the latest completion state, while the helper just
    evaluates the current state without touching hardware. The effect is that we
    end up waiting for completion timeouts or descriptor allocation errors before
    the completion state is updated.

    iperf (before fix):
    [SUM] 0.0-41.3 sec 364 MBytes 73.9 Mbits/sec

    iperf (after fix):
    [SUM] 0.0- 4.5 sec 499 MBytes 940 Mbits/sec

    This is a regression starting with 2.6.35.

    Cc:
    Cc: Dave Jiang
    Cc: Jesse Brandeburg
    Cc: Linus Walleij
    Cc: Maciej Sosnowski
    Reported-by: Richard Scobie
    Signed-off-by: Dan Williams

    Dan Williams
     
  • Currently we set all skbs with CHECKSUM_UNNECESSARY, even
    those whose protocol we don't know. This patch just
    add the CHECKSUM_COMPLETE tag for non TCP/UDP packets.

    Reported-by: Eric Dumazet
    Signed-off-by: Breno Leitao
    Signed-off-by: Jay Vosburgh
    Signed-off-by: David S. Miller

    Breno Leitao
     
  • As of commit 43a9aa64a2f4330a9cb59aaf5c5636566bce067c "NFSD:
    Fill in WCC data for REMOVE, RMDIR, MKNOD, and MKDIR", we sometimes call
    fh_unlock on a filehandle that isn't fully initialized.

    We should fix up the callers, but as a quick fix it is also sufficient
    just to remove this assertion.

    Reported-by: Marius Tolzmann
    Cc: Chuck Lever
    Signed-off-by: J. Bruce Fields

    J. Bruce Fields
     
  • At least one board using the FEC driver does not have a conventional
    PHY attached to it, it is directly connected to a somewhat simple
    ethernet switch (the board is the SnapGear/LITE, and the attached
    4-port ethernet switch is a RealTek RTL8305). This switch does not
    present the usual register interface of a PHY, it presents nothing.
    So a PHY scan will find nothing - it finds ID's of 0 for each PHY
    on the attached MII bus.

    After the FEC driver was changed to use phylib for supporting PHYs
    it no longer works on this particular board/switch setup.

    Add code support to use a fixed phy if no PHY is found on the MII bus.
    This is based on the way the cpmac.c driver solved this same problem.

    Signed-off-by: Greg Ungerer
    Signed-off-by: David S. Miller

    Greg Ungerer
     

13 Oct, 2010

5 commits

  • ... but produce a big warning about the problem as encouragement
    for people to fix their drivers.

    Signed-off-by: Russell King

    Russell King
     
  • Russell King
     
  • When channel_disable() is called, it disables per channel interrupts and
    waits until channels state becomes STATE_STALL, and then disables the
    channel. Now, if the DMA transfer is disabled while the channel is in
    STATE_NEXT we will not wait anything and disable the channel immediately.
    This seems to cause weird data corruption for example in audio transfers.

    Fix is to wait while we are in STATE_NEXT or STATE_ON and only then
    disable the channel.

    Signed-off-by: Mika Westerberg
    Acked-by: Ryan Mallon
    Signed-off-by: Russell King

    Mika Westerberg
     
  • * 'kvm-updates/2.6.36' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: x86: Move TSC reset out of vmcb_init
    KVM: x86: Fix SVM VMCB reset

    Linus Torvalds
     
  • Time stamps for the ring buffer are created by the difference between
    two events. Each page of the ring buffer holds a full 64 bit timestamp.
    Each event has a 27 bit delta stamp from the last event. The unit of time
    is nanoseconds, so 27 bits can hold ~134 milliseconds. If two events
    happen more than 134 milliseconds apart, a time extend is inserted
    to add more bits for the delta. The time extend has 59 bits, which
    is good for ~18 years.

    Currently the time extend is committed separately from the event.
    If an event is discarded before it is committed, due to filtering,
    the time extend still exists. If all events are being filtered, then
    after ~134 milliseconds a new time extend will be added to the buffer.

    This can only happen till the end of the page. Since each page holds
    a full timestamp, there is no reason to add a time extend to the
    beginning of a page. Time extends can only fill a page that has actual
    data at the beginning, so there is no fear that time extends will fill
    more than a page without any data.

    When reading an event, a loop is made to skip over time extends
    since they are only used to maintain the time stamp and are never
    given to the caller. As a paranoid check to prevent the loop running
    forever, with the knowledge that time extends may only fill a page,
    a check is made that tests the iteration of the loop, and if the
    iteration is more than the number of time extends that can fit in a page
    a warning is printed and the ring buffer is disabled (all of ftrace
    is also disabled with it).

    There is another event type that is called a TIMESTAMP which can
    hold 64 bits of data in the theoretical case that two events happen
    18 years apart. This code has not been implemented, but the name
    of this event exists, as well as the structure for it. The
    size of a TIMESTAMP is 16 bytes, where as a time extend is only
    8 bytes. The macro used to calculate how many time extends can fit on
    a page used the TIMESTAMP size instead of the time extend size
    cutting the amount in half.

    The following test case can easily trigger the warning since we only
    need to have half the page filled with time extends to trigger the
    warning:

    # cd /sys/kernel/debug/tracing/
    # echo function > current_tracer
    # echo 'common_pid < 0' > events/ftrace/function/filter
    # echo > trace
    # echo 1 > trace_marker
    # sleep 120
    # cat trace

    Enabling the function tracer and then setting the filter to only trace
    functions where the process id is negative (no events), then clearing
    the trace buffer to ensure that we have nothing in the buffer,
    then write to trace_marker to add an event to the beginning of a page,
    sleep for 2 minutes (only 35 seconds is probably needed, but this
    guarantees the bug), and then finally reading the trace which will
    trigger the bug.

    This patch fixes the typo and prevents the false positive of that warning.

    Reported-by: Hans J. Koch
    Tested-by: Hans J. Koch
    Cc: Thomas Gleixner
    Cc: Stable Kernel
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

12 Oct, 2010

5 commits