02 Oct, 2007

1 commit

  • TCP V4 sequence numbers are 32bits, and RFC 793 assumed a 250 KHz clock.
    In order to follow network speed increase, we can use a faster clock, but
    we should limit this clock so that the delay between two rollovers is
    greater than MSL (TCP Maximum Segment Lifetime : 2 minutes)

    Choosing a 64 nsec clock should be OK, since the rollovers occur every
    274 seconds.

    Problem spotted by Denys Fedoryshchenko

    [ This bug was introduced by f85958151900f9d30fa5ff941b0ce71eaa45a7de ]

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     

01 Oct, 2007

1 commit

  • When calling the RELDISP VT ioctl, we are reading vt_newvt while the
    console workqueue could be messing with it (through change_console()). We
    fix this race by taking the console semaphore before reading vt_newvt.

    Signed-off-by: Samuel Ortiz
    Acked-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Samuel Ortiz
     

30 Sep, 2007

1 commit

  • The new behaviour of CFS exposes a race which occurs if a switch is
    requested when vt_mode.mode is VT_PROCESS.

    The process with vc->vt_pid is signaled before vc->vt_newvt is set.
    This causes the switch to fail when triggered by the monitoing process
    because the target is still -1.

    [ If the signal sending fails, the subsequent "reset_vc(vc)" will then
    reset vt_newvt to -1, so this works for that case too. - Linus ]

    Signed-off-by: Jan Lübbe
    Signed-off-by: Linus Torvalds

    Jan Lübbe
     

28 Sep, 2007

1 commit

  • This code is ported from the DRM git tree and allows the vblank interrupts
    to function on the i965 hw. It also requires a change in Mesa's 965 driver
    to actually use them.

    [ Without this patch, my 965GM drops vblank interrupts - Jesse ]

    Signed-off-by: Dave Airlie
    Acked-by: Jesse Barnes
    Signed-off-by: Linus Torvalds

    Dave Airlie
     

27 Sep, 2007

1 commit

  • Following patch silents;

    ...
    drivers/char/hpet.c:72: warning: 'clocksource_hpet' defined but not used
    drivers/char/hpet.c:81: warning: 'hpet_clocksource' defined but not used
    ...

    build warnings on i386, they appeared after commit 3b2b64fd311c92f2137eb7cee7025794cd854057

    Signed-off-by: S.Çağlar Onur
    Signed-off-by: Linus Torvalds
    --
    drivers/char/hpet.c | 3 +++
    1 files changed, 3 insertions(+), 0 deletions(-)

    S.Çağlar Onur
     

26 Sep, 2007

2 commits

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
    ACPI: hpet: ACPI Error (utglobal-0126): Unknown exception code: 0xFFFFFFF0
    ACPI: CONFIG_ACPI_SLEEP=n power off regression in 2.6.23-rc8 (NOT in rc7)
    ACPI: suspend: build-fix for CONFIG_SUSPEND=n and CONFIG_HIBERNATION=y

    Linus Torvalds
     
  • If hpet has been initialized before registering hpet driver, the callback
    function of hpet_resources will return the status code of -EBUSY, which is
    not defined in the ACPI exception table. So when ACPI checks the status
    code of callback function, it will report the unknown exception code.

    So the status code in ACPI is used instead of the generic error code in the
    ACPI callback function of hpet_resources.
    For example: -EBUSY is replaced by AE_ALREADY_EXISTS
    -EINVAL is replaced by AE_NO_MEMORY

    http://bugzilla.kernel.org/show_bug.cgi?id=8630

    Signed-off-by: Zhao Yakui
    Signed-off-by: Len Brown

    Zhao Yakui
     

25 Sep, 2007

1 commit

  • The vma_data structure may be shared by vma's from multiple tasks, with no
    way of knowing which areas are shared or not shared, so release/clear pages
    only when the refcount (of vma's) goes to zero.

    Signed-off-by: Cliff Wickman
    Cc: Jes Sorensen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cliff Wickman
     

20 Sep, 2007

3 commits

  • The mask on i830 should be 0x70 always, later chips 0xF0 should be okay.

    Signed-off-by: Dave Airlie
    Acked-by: Zhenyu Wang
    Cc: Michael Haas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Airlie
     
  • Fix a couple drivers that do not correctly terminate their pci_device_id
    lists. This results in garbage being spewed into modules.pcimap when the
    module happens to not have 28 NULL bytes following the table, and/or the
    last PCI ID is actually truncated from the table when calculating the
    modules.alias PCI aliases, cause those unfortunate device IDs to not
    auto-load.

    Signed-off-by: Kees Cook
    Acked-by: Corey Minyard
    Cc: David Woodhouse
    Acked-by: Jeff Garzik
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kees Cook
     
  • The shrinking of a virtual memory area that is mmap(2)'d to a memory
    special file (device drivers/char/mspec.c) can cause a panic.

    If the mapped size of the vma (vm_area_struct) is very large, mspec allocates
    a large vma_data structure with vmalloc(). But such a vma can be shrunk by
    an munmap(2). The current driver uses the current size of each vma to
    deduce whether its vma_data structure was allocated by kmalloc() or vmalloc().
    So if the vma was shrunk it appears to have been allocated by kmalloc(),
    and mspec attempts to free it with kfree(). This results in a panic.

    This patch avoids the panic (by preserving the type of the allocation) and
    also makes mspec work correctly as the vma is split into pieces by the
    munmap(2)'s.

    All vma's derived from such a split vma share the same vma_data structure that
    represents all the pages mapped into this set of vma's. The mpec driver
    must be made capable of using the right portion of the structure for each
    member vma. In other words, it must index into the array of page addresses
    using the portion of the array that represents the current vma. This is
    enabled by storing the vma group's vm_start in the vma_data structure.

    The shared vma_data's are not protected by mm->mmap_sem in the fork() case
    so the reference count is left as atomic_t.

    Signed-off-by: Cliff Wickman
    Acked-by: Jes Sorensen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cliff Wickman
     

15 Sep, 2007

1 commit

  • Add Guards around TIOCSLCKTRMIOS and TIOCGLCKTRMIOS.

    Several architectures are still broken. Put temporary-for-2.6.23 ifdef guards
    around the offending code.

    Signed-off-by: Tony Breeds
    Cc: Alan Cox
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: Heiko Carstens
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by:: Linus Torvalds

    Tony Breeds
     

12 Sep, 2007

3 commits

  • G33 has 1MB GTT table range. Fix GTT mapping in case like 512MB aperture
    size.

    Signed-off-by: Zhenyu Wang
    Acked-by: Dave Airlie
    Cc: Dave Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zhenyu Wang
     
  • G33 GTT stolen memory is below graphics data stolen memory and be seperate,
    so don't subtract it in stolen mem counting.

    Signed-off-by: Zhenyu Wang
    Acked-by: Dave Airlie
    Cc: Dave Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zhenyu Wang
     
  • I ran into a few problems.

    n_tty_ioctl() for instance:

    drivers/char/tty_ioctl.c:799: error: $,1rxstruct termios$,1ry has no
    member named $,1rxc_ispeed$,1ry

    This is calling the copy interface that is supposed to be using
    a termios2 when the new interfaces are defined, however:

    case TIOCGLCKTRMIOS:
    if (kernel_termios_to_user_termios((struct termios __user *)arg, real_tty->termios_locked))
    return -EFAULT;
    return 0;

    This is going to write over the end of the userspace
    structure by a few bytes, and wasn't caught by you yet
    because the i386 implementation is simply copy_to_user()
    which does zero type checking.

    Signed-off-by: Alan Cox
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Miller
     

01 Sep, 2007

1 commit

  • The HPET clocksource in drivers/char/hpet.c was written as generic code
    for ia64, but it is not yet ready to replace the native HPET clocksource
    implementations that the i386/x86-64 architectures use.

    On x86[-64], trying to register this clocksource results in potentially
    multiple hpet-based clocksources being registered, and if the ia64 one
    is chosen on x86_64 some users have experienced hangs.

    Eventually all three architectures may end up using the same code, but
    that is not the case right now.

    Cc: John Stultz
    Cc: Tony Luck
    Cc: Paolo Ornati
    Cc: Bob Picco
    Cc: Thomas Gleixner
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

27 Aug, 2007

1 commit


25 Aug, 2007

6 commits


24 Aug, 2007

2 commits


23 Aug, 2007

4 commits

  • Get module reference on open() by generic HDLC to prevent module from
    unloading while interface is active.

    Signed-off-by: Paul Fulghum
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Fulghum
     
  • trivial change: fix warning

    Signed-off-by: Mijo Safradin
    Acked-by: Christian Krafft
    Signed-off-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mijo Safradin
     
  • m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible

    drivers/char/keyboard.c: In function 'kbd_keycode':
    drivers/char/keyboard.c:1142: error: implicit declaration of function 'mac_hid_mouse_emulate_buttons'

    The forward declaration of mac_hid_mouse_emulate_buttons() is not visible on
    m68k because it's hidden in the middle of a big #ifdef block.

    Move it to , correct the type of the second parameter, and
    include where needed.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Fix up the maintainers info in the tpm drivers. Kylene will be out for
    some time, so copying the sourceforge list is the best way to get some
    attention.

    Cc: Marcel Selhorst
    Cc: Kylene Jo Hall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kent Yoder
     

17 Aug, 2007

2 commits

  • From: Andrey Borzenkov

    They are apparently pretty close (even lspci combines them). The patch
    adds support for 0x1533 bridge in addition to 0x1535.

    Tested on Toshiba Portege 4000 with

    00:07.0 ISA bridge [0601]: ALi Corporation M1533/M1535 PCI to ISA Bridge
    [Aladdin IV/V/V+] [10b9:1533]
    00:08.0 Bridge [0680]: ALi Corporation M7101 Power Management Controller
    [PMU] [10b9:7101]

    with result

    [ 2090.906736] PCI: Enabling device 0000:00:08.0 (0000 -> 0001)
    [ 2090.914034] ALi_M1535: initialized. timeout=3D60 sec (nowayout=3D0)

    Signed-off-by: Andrey Borzenkov
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Andrew Morton

    Andrey Borzenkov
     
  • Clean-up history and add a comment about the fact that
    the watchdog is actually part of the SMSC FDC 37B782
    super I/O chipset.

    Signed-off-by: Wim Van Sebroeck

    Wim Van Sebroeck
     

12 Aug, 2007

4 commits

  • Len Brown
     
  • Files using bits from paravirt.h should explicitly include it rather than
    relying on it being pulled in by something else.

    Signed-off-by: Jes Sorensen
    Cc: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jes Sorensen
     
  • Patch c5c34d4862e18ef07c1276d233507f540fb5a532 (tty: flush flip buffer on
    ldisc input queue flush) introduces a race condition which can lead to memory
    leaks.

    The problem can be triggered when tcflush() is called when data are being
    pushed to the line discipline driver by flush_to_ldisc().

    flush_to_ldisc() releases tty->buf.lock when calling the line discipline
    receive_buf function. At that poing tty_buffer_flush() kicks in and sets both
    tty->buf.head and tty->buf.tail to NULL. When flush_to_ldisc() finishes, it
    restores tty->buf.head but doesn't touch tty->buf.tail. This corrups the
    buffer queue, and the next call to tty_buffer_request_room() will allocate a
    new buffer and overwrite tty->buf.head. The previous buffer is then lost
    forever without being released.

    (Thanks to Laurent for the above text, for finding, disgnosing and reporting
    the bug)

    - Use tty->flags bits for the flush status.

    - Wait for the flag to clear again before returning

    - Fix the doc error noted

    - Fix flush of empty queue leaving stale flushpending

    [akpm@linux-foundation.org: cleanup]
    Signed-off-by: Alan Cox
    Acked-by: Paul Fulghum
    Cc: Laurent Pinchart
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • cm4000_cs.c and cm4040_cs.c call the internal release function with
    an argument of wrong type. this fixes bug #8485

    Signed-off-by: Daniel Ritz
    Cc: Bill McConnaughey
    Cc: Natalie Protasevich
    Cc: Harald Welte
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Ritz
     

07 Aug, 2007

1 commit

  • This 965G and above chipsets moved the batch buffer non-secure bits to
    another place. This means that previous drm's allowed in-secure batchbuffers
    to be submitted to the hardware from non-privileged users who are logged
    into X and and have access to direct rendering.

    Signed-off-by: Dave Airlie
    Signed-off-by: Linus Torvalds

    Dave Airlie
     

06 Aug, 2007

1 commit


04 Aug, 2007

1 commit


01 Aug, 2007

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: (28 commits)
    [WATCHDOG] Fix pcwd_init_module crash
    [WATCHDOG] ICH9 support for iTCO_wdt
    [WATCHDOG] 631xESB/632xESB support for iTCO_wdt - add all LPC bridges
    [WATCHDOG] 631xESB/632xESB support for iTCO_wdt
    [WATCHDOG] omap_wdt.c - default error for IOCTL is -ENOTTY
    [WATCHDOG] Return value of nonseekable_open
    [WATCHDOG] mv64x60_wdt: Rework the timeout register manipulation
    [WATCHDOG] mv64x60_wdt: disable watchdog timer when driver is probed
    [WATCHDOG] mv64x60_wdt: Support the WDIOF_MAGICCLOSE feature
    [WATCHDOG] mv64x60_wdt: Add a module parameter to change nowayout setting
    [WATCHDOG] mv64x60_wdt: Add WDIOC_SETOPTIONS ioctl support
    [WATCHDOG] mv64x60_wdt: Support for WDIOC_SETTIMEOUT ioctl
    [WATCHDOG] mv64x60_wdt: Fix WDIOC_GETTIMEOUT return value
    [WATCHDOG] mv64x60_wdt: Check return value of nonseekable_open
    [WATCHDOG] mv64x60_wdt: Add arch/powerpc platform support
    [WATCHDOG] mv64x60_wdt: Get register address from platform data
    [WATCHDOG] mv64x60_wdt: set up platform_device in platform code
    [WATCHDOG] ensure mouse and keyboard ignored in w83627hf_wdt
    [WATCHDOG] s3c2410_wdt: fixup after arch include moves
    [WATCHDOG] git-watchdog-typo
    ...

    Linus Torvalds
     
  • CONFIG_PCI=n:

    drivers/char/ip2/ip2main.c: In function `ip2_loadmain':
    drivers/char/ip2/ip2main.c:503: warning: unused variable `status'

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton