17 Oct, 2008

2 commits


10 Oct, 2008

6 commits

  • Linus Torvalds
     
  • This is debatable, but while we're debating it, let's disallow the
    combination of splice and an O_APPEND destination.

    It's not entirely clear what the semantics of O_APPEND should be, and
    POSIX apparently expects pwrite() to ignore O_APPEND, for example. So
    we could make up any semantics we want, including the old ones.

    But Miklos convinced me that we should at least give it some thought,
    and that accepting writes at arbitrary offsets is wrong at least for
    IS_APPEND() files (which always have O_APPEND set, even if the reverse
    isn't true: you can obviously have O_APPEND set on a regular file).

    So disallow O_APPEND entirely for now. I doubt anybody cares, and this
    way we have one less gray area to worry about.

    Reported-and-argued-for-by: Miklos Szeredi
    Acked-by: Jens Axboe
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
    hwmon: (abituguru3) Enable DMI probing feature on Abit AT8 32X
    hwmon: (abituguru3) Enable reading from AUX3 fan on Abit AT8 32X
    hwmon: (adt7473) Fix some bogosity in documentation file
    hwmon: Define sysfs interface for energy consumption register
    hwmon: (it87) Prevent power-off on Shuttle SN68PT
    eeepc-laptop: Fix hwmon interface

    Linus Torvalds
     
  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
    [CPUFREQ] correct broken links and email addresses

    Linus Torvalds
     
  • This fixes the previous fix, which was completely wrong on closer
    inspection. This version has been manually tested with a user-space
    test harness and generates sane values. A nearly identical patch has
    been boot-tested.

    The problem arose from changing how kmalloc/kfree handled alignment
    padding without updating ksize to match. This brings it in sync.

    Signed-off-by: Matt Mackall
    Signed-off-by: Linus Torvalds

    Matt Mackall
     
  • Replace the no longer working links and email address in the
    documentation and in source code.

    Signed-off-by: Márton Németh
    Signed-off-by: Dave Jones

    Németh Márton
     

09 Oct, 2008

9 commits


08 Oct, 2008

6 commits

  • Because of rounding, in certain conditions, i.e. when in congestion
    avoidance state rho is smaller than 1/128 of the current cwnd, TCP
    Hybla congestion control starves and the cwnd is kept constant
    forever.

    This patch forces an increment by one segment after #send_cwnd calls
    without increments(newreno behavior).

    Signed-off-by: Daniele Lacamera
    Signed-off-by: David S. Miller

    Daniele Lacamera
     
  • Benjamin Thery tracked down a bug that explains many instances
    of the error

    unregister_netdevice: waiting for %s to become free. Usage count = %d

    It turns out that netdev_run_todo can dead-lock with itself if
    a second instance of it is run in a thread that will then free
    a reference to the device waited on by the first instance.

    The problem is really quite silly. We were trying to create
    parallelism where none was required. As netdev_run_todo always
    follows a RTNL section, and that todo tasks can only be added
    with the RTNL held, by definition you should only need to wait
    for the very ones that you've added and be done with it.

    There is no need for a second mutex or spinlock.

    This is exactly what the following patch does.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • David S. Miller
     
  • From: Ali Saidi

    When TCP receive copy offload is enabled it's possible that
    tcp_rcv_established() will cause two acks to be sent for a single
    packet. In the case that a tcp_dma_early_copy() is successful,
    copied_early is set to true which causes tcp_cleanup_rbuf() to be
    called early which can send an ack. Further along in
    tcp_rcv_established(), __tcp_ack_snd_check() is called and will
    schedule a delayed ACK. If no packets are processed before the delayed
    ack timer expires the packet will be acked twice.

    Signed-off-by: David S. Miller

    Ali Saidi
     
  • Jesper Dangaard Brouer reported a bug when setting a VLAN
    device down that is in promiscous mode:

    When the VLAN device is set down, the promiscous count on the real
    device is decremented by one by vlan_dev_stop(). When removing the
    promiscous flag from the VLAN device afterwards, the promiscous
    count on the real device is decremented a second time by the
    vlan_change_rx_flags() callback.

    The root cause for this is that the ->change_rx_flags() callback is
    invoked while the device is down. The synchronization is meant to mirror
    the behaviour of the ->set_rx_mode callbacks, meaning the ->open function
    is responsible for doing a full sync on open, the ->close() function is
    responsible for doing full cleanup on ->stop() and ->change_rx_flags()
    is meant to do incremental changes while the device is UP.

    Only invoke ->change_rx_flags() while the device is UP to provide the
    intended behaviour.

    Tested-by: Jesper Dangaard Brouer

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

    Patrick McHardy
     
  • SLOB's ksize calculation was braindamaged and generally harmlessly
    underreported the allocation size. But for very small buffers, it could
    in fact overreport them, leading code depending on krealloc to overrun
    the allocation and trample other data.

    Signed-off-by: Matt Mackall
    Tested-by: Peter Zijlstra
    Signed-off-by: Linus Torvalds

    Matt Mackall
     

07 Oct, 2008

15 commits

  • This reverts commit 135aedc38e812b922aa56096f36a3d72ffbcf2fb, as
    requested by Hans Verkuil.

    It was a patch for 2.6.28 where the BKL was pushed down from v4l core to
    the drivers, not for 2.6.27!

    Requested-by: Hans Verkuil
    Cc: Mauro Carvalho Chehab
    Signed-of-by: Linus Torvalds

    Linus Torvalds
     
  • Linus Torvalds
     
  • * Theodore Ts'o (tytso@mit.edu) wrote:
    >
    > I've been playing with adding some markers into ext4 to see if they
    > could be useful in solving some problems along with Systemtap. It
    > appears, though, that as of 2.6.27-rc8, markers defined in code which is
    > compiled directly into the kernel (i.e., not as modules) don't show up
    > in Module.markers:
    >
    > kvm_trace_entryexit arch/x86/kvm/kvm-intel %u %p %u %u %u %u %u %u
    > kvm_trace_handler arch/x86/kvm/kvm-intel %u %p %u %u %u %u %u %u
    > kvm_trace_entryexit arch/x86/kvm/kvm-amd %u %p %u %u %u %u %u %u
    > kvm_trace_handler arch/x86/kvm/kvm-amd %u %p %u %u %u %u %u %u
    >
    > (Note the lack of any of the kernel_sched_* markers, and the markers I
    > added for ext4_* and jbd2_* are missing as wel.)
    >
    > Systemtap apparently depends on in-kernel trace_mark being recorded in
    > Module.markers, and apparently it's been claimed that it used to be
    > there. Is this a bug in systemtap, or in how Module.markers is getting
    > built? And is there a file that contains the equivalent information
    > for markers located in non-modules code?

    I think the problem comes from "markers: fix duplicate modpost entry"
    (commit d35cb360c29956510b2fe1a953bd4968536f7216)

    Especially :

    - add_marker(mod, marker, fmt);
    + if (!mod->skip)
    + add_marker(mod, marker, fmt);
    }
    return;
    fail:

    Here is a fix that should take care if this problem.

    Thanks for the bug report!

    Signed-off-by: Mathieu Desnoyers
    Tested-by: "Theodore Ts'o"
    CC: Greg KH
    CC: David Smith
    CC: Roland McGrath
    CC: Sam Ravnborg
    CC: Wenji Huang
    CC: Takashi Nishiie
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:
    kgdb: call touch_softlockup_watchdog on resume
    kgdb, x86: Avoid invoking kgdb_nmicallback twice per NMI

    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: gart iommu have direct mapping when agp is present too

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
    ide: workaround for bogus gcc warning in ide_sysfs_register_port()
    ide-cd: Optiarc DVD RW AD-7200A does play audio
    IDE: Fix platform device registration in Swarm IDE driver (v2)
    ide-dma: fix ide_build_dmatable() for TRM290
    ide-cd: temporary tray close fix

    Linus Torvalds
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
    [MIPS] IP27: Fix build errors if CONFIG_MAPPED_KERNEL=y
    [MIPS] Fix CMP Kconfig configuration and mark as broken.

    Linus Torvalds
     
  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (33 commits)
    V4L/DVB (9103): em28xx: HVR-900 B3C0 - fix audio clicking issue
    V4L/DVB (9099): em28xx: Add detection for K-WORLD DVB-T 310U
    V4L/DVB (9092): gspca: Bad init values for sonixj ov7660.
    V4L/DVB (9080): gspca: Add a delay after writing to the sonixj sensors.
    V4L/DVB (9075): gspca: Bad check of returned status in i2c_read() spca561.
    V4L/DVB (9053): fix buffer overflow in uvc-video
    V4L/DVB (9043): S5H1420: Fix size of shadow-array to avoid overflow
    V4L/DVB (9037): Fix support for Hauppauge Nova-S SE
    V4L/DVB (9029): Fix deadlock in demux code
    V4L/DVB (8979): sms1xxx: Add new USB product ID for Hauppauge WinTV MiniStick
    V4L/DVB (8978): sms1xxx: fix product name for Hauppauge WinTV MiniStick
    V4L/DVB (8967): Use correct XC3028L firmware for AMD ATI TV Wonder 600
    V4L/DVB (8963): s2255drv field count fix
    V4L/DVB (8961): zr36067: Fix RGBR pixel format
    V4L/DVB (8960): drivers/media/video/cafe_ccic.c needs mm.h
    V4L/DVB (8958): zr36067: Return proper bytes-per-line value
    V4L/DVB (8957): zr36067: Restore the default pixel format
    V4L/DVB (8955): bttv: Prevent NULL pointer dereference in radio_open
    V4L/DVB (8935): em28xx-cards: Remove duplicate entry (EM2800_BOARD_KWORLD_USB2800)
    V4L/DVB (8933): gspca: Disable light frquency for zc3xx cs2102 Kokom.
    ...

    Linus Torvalds
     
  • The atmel-mci driver sometimes fails data transfers like this:

    mmcblk0: error -5 transferring data
    end_request: I/O error, dev mmcblk0, sector 2749769
    end_request: I/O error, dev mmcblk0, sector 2749777

    It turns out that this might be caused by the BLKR register (which
    contains the block size and the number of blocks being transfered) being
    initialized too late. This patch moves the initialization of BLKR so
    that it contains the correct value before the block transfer command is
    sent.

    This error is difficult to reproduce, but if you insert a long delay
    (mdelay(10) or thereabouts) between the calls to atmci_start_command()
    and atmci_submit_data(), all transfers seem to fail without this patch,
    while I haven't seen any failures with this patch.

    Reported-by: Hein_Tibosch
    Signed-off-by: Haavard Skinnemoen
    Signed-off-by: Pierre Ossman
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     
  • While debugging another bug it was found that NetRom socks
    are sometimes seen unorphaned in sk_free(). This patch moves
    sock_orphan() in nr_release() to the beginning (like in ax25,
    or rose).

    Reported-and-tested-by: Bernard Pidoux f6bvp
    Signed-off-by: Jarek Poplawski
    Signed-off-by: David S. Miller

    Jarek Poplawski
     
  • Since we reverted 30902dc3cb0ea1cfc7ac2b17bcf478ff98420d74 ("ax25: Fix
    std timer socket destroy handling.") we have to put some kind of fix
    in to cure the issue whereby unaccepted connections do not get destroyed.

    The approach used here is from Tihomir Heidelberg - 9a4gl

    Signed-off-by: David S. Miller

    David S. Miller
     
  • This reverts commit 30902dc3cb0ea1cfc7ac2b17bcf478ff98420d74.

    It causes all kinds of problems, based upon a report by
    Bernard (f6bvp) and analysis by Jarek Poplawski.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • The softlockup watchdog needs to be touched when resuming the from the
    kgdb stopped state to avoid the printk that a CPU is stuck if the
    debugger was active for longer than the softlockup threshold.

    Signed-off-by: Jason Wessel

    Jason Wessel
     
  • Stress-testing KVM's latest NMI support with kgdbts inside an SMP guest,
    I came across spurious unhandled NMIs while running the singlestep test.
    Looking closer at the code path each NMI takes when KGDB is enabled, I
    noticed that kgdb_nmicallback is called twice per event: One time via
    DIE_NMI_IPI notification, the second time on DIE_NMI. Removing the first
    invocation cures the unhandled NMIs here.

    Signed-off-by: Jan Kiszka
    Signed-off-by: Jason Wessel

    Jan Kiszka
     
  • There is a bug in the BIOSes of some HP boxes with AMD Turions which
    connects IO-APIC pins with ACPI thermal trip points in such a way that
    if the state of the IO-APIC is not as expected by the (buggy) BIOS, the
    thermal trip points are set to insanely low values (usually all of them
    become 16 degrees Celsius). As a result, thermal throttling kicks in
    and knock the system down to its shoes.

    Unfortunately some of the recent IO-APIC changes made the bug show up.
    To prevent this from happening, blacklist machines that are known to be
    affected (nx6115 and 6715b in this particular case).

    This fixes http://bugzilla.kernel.org/show_bug.cgi?id=11516 listed as
    a regression from 2.6.26.

    On my box it was caused by:

    commit 691874fa96d6349a8b60f8ea9c2bae52ece79941
    Author: Maciej W. Rozycki
    Date: Tue May 27 21:19:51 2008 +0100

    x86: I/O APIC: timer through 8259A second-chance

    Signed-off-by: Maciej W. Rozycki
    Signed-off-by: Ingo Molnar

    and the whole story is described in this (huge) thread:

    http://marc.info/?l=linux-kernel&m=121358440508410&w=4

    Matthew Garrett told us about that happening on the nx6125:

    http://marc.info/?l=linux-kernel&m=121396307411930&w=4

    and then Maciej analysed the breakage on the basis of a DSDT from the
    nx6325:

    http://marc.info/?l=linux-kernel&m=121401068718826&w=4

    As far as the Dmitry's and Jason's boxes are concerned, I recognized the
    symptoms and asked them to verify that the blacklisting helped.

    It appears that the buggy BIOS code has been copy-pasted to the entire
    range of machines, for no good reason.

    Signed-off-by: Rafael J. Wysocki
    Tested-by: Dmitry Torokhov
    Tested-by: Jason Vas Dias
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     

06 Oct, 2008

2 commits