05 Mar, 2008

4 commits

  • Fix NULL pointer dereference in fsync_buffers_list() introduced by recent fix
    of races in private_list handling. Since bh->b_assoc_map has been cleared in
    __remove_assoc_queue() we should really use original value stored in the
    'mapping' variable.

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

    Jan Kara
     
  • This makes the user_regset-based core dump code call user_regset writeback
    hooks when available. This is necessary groundwork to allow IA64 to set
    CORE_DUMP_USE_REGSET.

    Cc: Shaohua Li
    Signed-off-by: Roland McGrath
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roland McGrath
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2:
    [PATCH] fs/ocfs2/aops.c: Correct use of ! and &
    [2.6 patch] ocfs2: make dlm_do_assert_master() static
    [2.6 patch] make ocfs2_downconvert_thread() static
    [2.6 patch] fs/ocfs2/: possible cleanups
    [PATCH] ocfs2: le*_add_cpu conversion
    ocfs2: Fix writeout in ocfs2_data_convert_worker()
    ocfs2: Enable localalloc for local mounts

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    block: fix blkdev_issue_flush() not detecting and passing EOPNOTSUPP back
    block: fix shadowed variable warning in blk-map.c
    block: remove extern on function definition
    cciss: remove READ_AHEAD define and use block layer defaults
    make cdrom.c:check_for_audio_disc() static
    block/genhd.c: proper externs
    unexport blk_rq_map_user_iov
    unexport blk_{get,put}_queue
    block/genhd.c: cleanups
    proper prototype for blk_dev_init()
    block/blk-tag.c should #include "blk.h"
    Fix DMA access of block device in 64-bit kernel on some non-x86 systems with 4GB or upper 4GB memory
    block: separate out padding from alignment
    block: restore the meaning of rq->data_len to the true data length
    resubmit: cciss: procfs updates to display info about many
    splice: only return -EAGAIN if there's hope of more data
    block: fix kernel-docbook parameters and files

    Linus Torvalds
     

04 Mar, 2008

12 commits

  • This patch adds proper externs for two structs in include/linux/genhd.h

    Signed-off-by: Adrian Bunk
    Signed-off-by: Jens Axboe

    Adrian Bunk
     
  • sys_tee() currently is a bit eager in returning -EAGAIN, it may do so
    even if we don't have a chance of anymore data becoming available. So
    improve the logic and only return -EAGAIN if we have an attached writer
    to the input pipe.

    Reported by Johann Felix Soden and
    Patrick McManus .

    Tested-by: Johann Felix Soden
    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Steve French
     
  • In commit e6bafba5b4765a5a252f1b8d31cbf6d2459da337, a bug was fixed that
    involved converting !x & y to !(x & y). The code below shows the same
    pattern, and thus should perhaps be fixed in the same way.

    This is not tested and clearly changes the semantics, so it is only
    something to consider.

    Signed-off-by: Julia Lawall
    Signed-off-by: Mark Fasheh

    Julia Lawall
     
  • This patch makes the needlessly global dlm_do_assert_master() static.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Mark Fasheh

    Adrian Bunk
     
  • This patch makes the needlessly global ocfs2_downconvert_thread()
    static.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Mark Fasheh

    Adrian Bunk
     
  • This patch contains the following cleanups that are now possible:
    - make the following needlessly global functions static:
    - dlmglue.c:ocfs2_process_blocked_lock()
    - heartbeat.c:ocfs2_node_map_init()
    - #if 0 the following unused global function plus support functions:
    - heartbeat.c:ocfs2_node_map_is_only()

    Signed-off-by: Adrian Bunk
    Signed-off-by: Mark Fasheh

    Adrian Bunk
     
  • replace all:
    little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) +
    expression_in_cpu_byteorder);
    with:
    leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder);
    generated with semantic patch

    Signed-off-by: Marcin Slusarz
    Signed-off-by: Mark Fasheh

    Marcin Slusarz
     
  • Commit f1f540688eae66c274ff1c1133b5d9c687b28f58 "optimized"
    ocfs2_data_convert_worker() to "only do work for regular files".
    Unfortunately, I left out a '!', which casued it to *skip* regular files.
    This was hidden from testing until recently because the default data
    journaling mode (data=ordered) doesn't exercise this code.

    Signed-off-by: Mark Fasheh
    Signed-off-by: Joel Becker

    Mark Fasheh
     
  • Commit 2fbe8d1ebe004425b4f7b8bba345623d2280be82 disabled localalloc
    for local mounts. This caused issues as ocfs2 uses localalloc to
    provide write locality. This patch enables localalloc for local mounts.

    Signed-off-by: Sunil Mushran
    Signed-off-by: Mark Fasheh

    Sunil Mushran
     
  • Fix docbook problems in filesystems.tmpl.
    These cause the generated docbook to be incorrect.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • The new code that removed the limitation on the execve string size
    (which was historically 32 pages) replaced it with a much softer limit
    based on RLIMIT_STACK which is usually much larger than the traditional
    limit. See commit b6a2fea39318e43fee84fa7b0b90d68bed92d2ba ("mm:
    variable length argument support") for details.

    However, if you have a small stack limit (perhaps because you need lots
    of stacks in a threaded environment), the new heuristic of allowing up
    to 1/4th of RLIMIT_STACK to be used for argument and environment strings
    could actually be smaller than the old limit.

    So just say that it's ok to have up to ARG_MAX strings regardless of the
    value of RLIMIT_STACK, and check the rlimit only when going over that
    traditional limit.

    (Of course, if you actually have a *really* small stack limit, the whole
    stack itself will be limited before you hit ARG_MAX, but that has always
    been true and is clearly the right behaviour anyway).

    Acked-by: Carlos O'Donell
    Cc: Michael Kerrisk
    Cc: Peter Zijlstra
    Cc: Ollie Wild
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

02 Mar, 2008

1 commit


29 Feb, 2008

1 commit

  • the "ikeep" option is set rather than "noikeep".

    This regression was introduced in 970451.

    With no mount options specified, xfs_parseargs() does the following:

    int ikeep = 0;

    args->flags |= XFSMNT_BARRIER;

    args->flags2 |= XFSMNT2_COMPAT_IOSIZE;

    if (!options)

    goto done;

    It only sets the above two options by default and before, it also used to
    set XFSMNT_IDELETE by default.

    If options are specified, then

    if (!(args->flags & XFSMNT_DMAPI) && !ikeep)

    args->flags |= XFSMNT_IDELETE;

    is executed later on which is skipped by the "goto done;" above.

    The solution is to invert the logic.

    SGI-PV: 977771
    SGI-Modid: xfs-linux-melb:xfs-kern:30590a

    Signed-off-by: Niv Sardi
    Signed-off-by: Barry Naujok
    Signed-off-by: Josef 'Jeff' Sipek
    Signed-off-by: Lachlan McIlroy

    Josef Jeff Sipek
     

26 Feb, 2008

10 commits


25 Feb, 2008

3 commits

  • Change getting task_struct by get_proc_task() at read or write time,
    and returns -ESRCH if get_proc_task() returns NULL.
    This is same behavior as other /proc files.

    Signed-off-by: Hiroshi Shimamoto
    Signed-off-by: Ingo Molnar

    Hiroshi Shimamoto
     
  • At lstats_open(), calling get_proc_task() gets task struct, but it never put.
    put_task_struct() should be called when releasing.

    Signed-off-by: Hiroshi Shimamoto
    Signed-off-by: Ingo Molnar

    Hiroshi Shimamoto
     
  • Reading /proc//latency or /proc//task//latency could cause
    NULL pointer dereference.

    In lstats_open(), get_proc_task() can return NULL, in which case the kernel
    will oops at lstats_show_proc() because m->private is NULL.

    When get_proc_task() returns NULL, the kernel should return -ENOENT.

    This can be reproduced by the following script.
    while :
    do
    date
    bash -c 'ls > ls.$$' &
    pid=$!
    cat /proc/$pid/latency &
    cat /proc/$pid/latency &
    cat /proc/$pid/latency &
    cat /proc/$pid/latency
    done

    Signed-off-by: Hiroshi Shimamoto
    Signed-off-by: Ingo Molnar

    Hiroshi Shimamoto
     

24 Feb, 2008

5 commits

  • RLIMIT_RTTIME was introduced to allow the user to set a runtime timeout on
    real-time tasks: http://lkml.org/lkml/2007/12/18/218. This patch updates
    /proc//limits with the new rlimit.

    Signed-off-by: Eugene Teo
    Acked-by: Peter Zijlstra
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eugene Teo
     
  • Merge include/linux/efs_fs{_i,_dir}.h into fs/efs/efs.h. efs_vh.h remains
    there because this is the IRIX volume header and shouldn't really be
    handled by efs but by the partitioning code. efs_sb.h remains there for
    now because it's exported to userspace. Of course this wrong and aboot
    should have a copy of it's own, but I'll leave that to a separate patch to
    avoid any contention.

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

    Christoph Hellwig
     
  • There seems to be a bug in the PM_SPECIAL macro for /proc/pid/pagemap. I
    think masking out those other bits makes more sense then setting all those
    mask bits.

    Signed-off-by: Hans Rosenfeld
    Acked-by: Matt Mackall
    Cc: Dave Hansen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hans Rosenfeld
     
  • This bug snuck in with

    commit 252e211e90ce56bf005cb533ad5a297c18c19407
    Author: Mark Fortescue
    Date: Tue Oct 16 23:26:31 2007 -0700

    Add in SunOS 4.1.x compatible mode for UFS

    Signed-off-by: Roel Kluin
    Acked-by: Evgeniy Dushistov
    Cc: Mark Fortescue
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roel Kluin
     
  • I added a nasty local variable shadowing bug to fuse in 2.6.24, with the
    result, that the 'default_permissions' mount option is basically ignored.

    How did this happen?

    - old err declaration in inner scope
    - new err getting declared in outer scope
    - 'return err' from inner scope getting removed
    - old declaration not being noticed

    -Wshadow would have saved us, but it doesn't seem practical for
    the kernel :(

    More testing would have also saved us :((

    Signed-off-by: Miklos Szeredi
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     

23 Feb, 2008

1 commit

  • ext4_find_next_zero_bit and ext4_find_next_bit needs a long aligned
    address on x8_64. Add mb_find_next_zero_bit and mb_find_next_bit
    and use them in the mballoc.

    Fix: https://bugzilla.redhat.com/show_bug.cgi?id=433286

    Eric Sandeen debugged the problem and suggested the fix.

    Signed-off-by: Aneesh Kumar K.V
    Acked-by: Eric Sandeen
    Signed-off-by: Mingming Cao
    Signed-off-by: "Theodore Ts'o"

    Aneesh Kumar K.V
     

22 Feb, 2008

3 commits

  • * 'hotfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
    Wrap buffers used for rpc debug printks into RPC_IFDEBUG
    nfs: fix sparse warnings
    NFS: flush signals before taking down callback thread

    Linus Torvalds
     
  • Sorry for the noise, but here's the v3 of this compilation fix :)

    There are some places, which declare the char buf[...] on the stack
    to push it later into dprintk(). Since the dprintk sometimes (if the
    CONFIG_SYSCTL=n) becomes an empty do { } while (0) stub, these buffers
    cause gcc to produce appropriate warnings.

    Wrap these buffers with RPC_IFDEBUG macro, as Trond proposed, to
    compile them out when not needed.

    Signed-off-by: Pavel Emelyanov
    Acked-by: J. Bruce Fields
    Signed-off-by: Trond Myklebust

    Pavel Emelyanov
     
  • The recent patch to validate data lengths in rcom_names messages
    failed to account for fake messages a node directs to itself before
    ever sending it. In this case we need to fill in the message length
    in the header for the validation code to use.

    Signed-off-by: David Teigland

    David Teigland