22 Mar, 2006

1 commit


20 Mar, 2006

5 commits

  • Linus Torvalds
     
  • This address is going to be obsolete, so I should update it.

    Andrea Arcangeli
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
    [MIPS] SB1: Check for -mno-sched-prolog if building corelis debug kernel.
    [MIPS] Sibyte: Fix race in sb1250_gettimeoffset().
    [MIPS] Sibyte: Fix interrupt timer off by one bug.
    [MIPS] Sibyte: Fix M_SCD_TIMER_INIT and M_SCD_TIMER_CNT wrong field width.
    [MIPS] Protect more of timer_interrupt() by xtime_lock.
    [MIPS] Work around bad code generation for .
    [MIPS] Simple patch to power off DBAU1200
    [MIPS] Fix DBAu1550 software power off.
    [MIPS] local_r4k_flush_cache_page fix
    [MIPS] SB1: Fix interrupt disable hazard.
    [MIPS] Get rid of the IP22-specific code in arclib.
    Update MAINTAINERS entry for MIPS.

    Linus Torvalds
     
  • The 40-bit DMA workaround recently implemented for 5714, 5715, and
    5780 needs to be expanded because there may be other tg3 devices
    behind the EPB Express to PCIX bridge in the 5780 class device.

    For example, some 4-port card or mother board designs have 5704 behind
    the 5714.

    All devices behind the EPB require the 40-bit DMA workaround.

    Thanks to Chris Elmquist again for reporting the problem and testing
    the patch.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • If the AX.25 dialect chosen by the sysadmin is set to DAMA master / 3
    (or DAMA slave / 2, if CONFIG_AX25_DAMA_SLAVE=n) ax25_kick() will fall
    through the switch statement without calling ax25_send_iframe() or any
    other function that would eventually free skbn thus leaking the packet.

    Fix by restricting the sysctl inferface to allow only actually supported
    AX.25 dialects.

    The system administration mistake needed for this to happen is rather
    unlikely, so this is an uncritical hole.

    Coverity #651.

    Signed-off-by: Ralf Baechle DL5RB
    Signed-off-by: David S. Miller

    Ralf Baechle DL5RB
     

19 Mar, 2006

15 commits


18 Mar, 2006

1 commit


17 Mar, 2006

16 commits

  • Lee Revell reported 28ms latency when process with lots of swapped memory
    exits.

    2.6.15 introduced a latency regression when unmapping: in accounting the
    zap_work latency breaker, pte_none counted 1, pte_present PAGE_SIZE, but a
    swap entry counted nothing at all. We think of pages present as the slow
    case, but Lee's trace shows that free_swap_and_cache's radix tree lookup
    can make a lot of work - and we could have been doing it many thousands of
    times without a latency break.

    Move the zap_work update up to account swap entries like pages present.
    This does account non-linear pte_file entries, and unmap_mapping_range
    skipping over swap entries, by the same amount even though they're quick:
    but neither of those cases deserves complicating the code (and they're
    treated no worse than they were in 2.6.14).

    Signed-off-by: Hugh Dickins
    Acked-by: Nick Piggin
    Acked-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • Jiri Benc reported that modpost would stop with SIGABRT if
    used with long filepaths.
    The error looked like:
    > Building modules, stage 2.
    > MODPOST
    > *** glibc detected *** scripts/mod/modpost: realloc(): invalid next size:
    +0x0809f588 ***
    > [...]

    Fix this by allocating at least the required memory + SZ bytes each time.
    Before we sometimes ended up allocating too little memory resuting in the
    glibc detected bug above. Based on patch originally submitted by: Jiri
    Benc

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

    Sam Ravnborg
     
  • A user can use nfsservctl() to spam the logs.

    This can happen because the arguments to the nfsservctl() system call are
    versioned. This is a good thing. However, when a bad version is detected,
    the kernel prints a message and then returns an error.

    Signed-off-by: Peter Staubach
    Cc: Trond Myklebust
    Cc: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Staubach
     
  • We can call try_to_release_page() with PagePrivate off and a valid
    page->mapping This may cause all sorts of trouble for the filesystem
    *_releasepage() handlers. XFS bombs out in that case.

    Lock the page before checking for page private.

    Signed-off-by: Christoph Lameter
    Cc: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • The dm-stripe target currently does not enforce that the size of a stripe
    device be a multiple of the chunk-size. Under certain conditions, this can
    lead to I/O requests going off the end of an underlying device. This
    test-case shows one example.

    echo "0 100 linear /dev/hdb1 0" | dmsetup create linear0
    echo "0 100 linear /dev/hdb1 100" | dmsetup create linear1
    echo "0 200 striped 2 32 /dev/mapper/linear0 0 /dev/mapper/linear1 0" | \
    dmsetup create stripe0
    dd if=/dev/zero of=/dev/mapper/stripe0 bs=1k

    This will produce the output:
    dd: writing '/dev/mapper/stripe0': Input/output error
    97+0 records in
    96+0 records out

    And in the kernel log will be:
    attempt to access beyond end of device
    dm-0: rw=0, want=104, limit=100

    The patch will check that the table size is a multiple of the stripe
    chunk-size when the table is created, which will prevent the above striped
    device from being created.

    This should not affect tools like LVM or EVMS, since in all the cases I can
    think of, striped devices are always created with the sizes being a
    multiple of the chunk-size.

    The size of a stripe device must be a multiple of its chunk-size.

    (akpm: that typecast is quite gratuitous)

    Signed-off-by: Kevin Corry
    Signed-off-by: Alasdair G Kergon
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kevin Corry
     
  • Bryce reported a bug wherein offlining CPU0 (on x86 box) and then
    subsequently onlining it resulted in a lockup.

    On x86, CPU0 is never offlined. The subsequent attempt to online CPU0
    doesn't take that into account. It actually tries to bootup the already
    booted CPU. Following patch fixes the problem (as acknowledged by Bryce).
    Please consider for inclusion in 2.6.16.

    Check if cpu is already online.

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

    Srivatsa Vaddagiri
     
  • There is a d_drop in dir_release which caused problems as it invalidates
    dcache entries too soon. This was likely a part of the wierd cwd behavior
    folks were seeing.

    Signed-off-by: Eric Van Hensbergen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Van Hensbergen
     
  • When the posix-timer signal is ignored then the timer is rearmed by the
    callback function. The requeue pending accounting has to be fixed up else
    the state might be wrong.

    Signed-off-by: Roman Zippel
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • The pointer to the current time interpolator and the current list of time
    interpolators are typically only changed during bootup. Adding
    __read_mostly takes them away from possibly hot cachelines.

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

    Christoph Lameter
     
  • Currently the migration of anonymous pages will silently fail if no swap is
    setup. This patch makes page migration functions check for available swap
    and fail with -ENODEV if no swap space is available.

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

    Christoph Lameter
     
  • The sighand pointer only needs the rcu_read_lock on the
    read side. So only depending on task_lock protection
    when setting this pointer is not enough. We also need
    a memory barrier to ensure the initialization is seen first.

    Use rcu_assign_pointer as it does this for us, and clearly
    documents that we are setting an rcu readable pointer.

    Signed-off-by: Eric W. Biederman
    Acked-by: Paul E. McKenney
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • Adrian Bunk wrote:
    > The Coverity checker spotted the following two array overflows in
    > drivers/net/chelsio/sge.c (in both cases, the arrays contain 3
    > elements):
    [snip]

    This is a bug. The array should contain 2 elements. Here is the fix.

    Signed-off-by: Scott Bardone
    Signed-off-by: Jeff Garzik

    Scott Bardone
     
  • return -E_NO_BIG_ENDIAN_TESTING;

    [E1000]: Fix 4 missed endianness conversions on RX descriptor fields.

    Signed-off-by: David S. Miller
    Signed-off-by: Jeff Garzik

    David S. Miller
     
  • Jeff Garzik
     
  • Jeff Garzik
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge:
    powerpc: update defconfigs
    [PATCH] powerpc: properly configure DDR/P5IOC children devs
    [PATCH] powerpc: remove duplicate EXPORT_SYMBOLS
    [PATCH] powerpc: RTC memory corruption
    [PATCH] powerpc: enable NAP only on cpus who support it to avoid memory corruption
    [PATCH] powerpc: Clarify wording for CRASH_DUMP Kconfig option
    [PATCH] powerpc/64: enable CONFIG_BLK_DEV_SL82C105
    [PATCH] powerpc: correct cacheflush loop in zImage
    powerpc: Fix problem with time going backwards
    powerpc: Disallow lparcfg being a module

    Linus Torvalds
     

16 Mar, 2006

2 commits