15 Feb, 2009

24 commits


08 Feb, 2009

1 commit


07 Feb, 2009

13 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (37 commits)
    Btrfs: Make sure dir is non-null before doing S_ISGID checks
    Btrfs: Fix memory leak in cache_drop_leaf_ref
    Btrfs: don't return congestion in write_cache_pages as often
    Btrfs: Only prep for btree deletion balances when nodes are mostly empty
    Btrfs: fix btrfs_unlock_up_safe to walk the entire path
    Btrfs: change btrfs_del_leaf to drop locks earlier
    Btrfs: Change btrfs_truncate_inode_items to stop when it hits the inode
    Btrfs: Don't try to compress pages past i_size
    Btrfs: join the transaction in __btrfs_setxattr
    Btrfs: Handle SGID bit when creating inodes
    Btrfs: Make btrfs_drop_snapshot work in larger and more efficient chunks
    Btrfs: Change btree locking to use explicit blocking points
    Btrfs: hash_lock is no longer needed
    Btrfs: disable leak debugging checks in extent_io.c
    Btrfs: sort references by byte number during btrfs_inc_ref
    Btrfs: async threads should try harder to find work
    Btrfs: selinux support
    Btrfs: make btrfs acls selectable
    Btrfs: Catch missed bios in the async bio submission thread
    Btrfs: fix readdir on 32 bit machines
    ...

    Linus Torvalds
     
  • The addition of filename encryption caused a regression in unencrypted
    filename symlink support. ecryptfs_copy_filename() is used when dealing
    with unencrypted filenames and it reported that the new, copied filename
    was a character longer than it should have been.

    This caused the return value of readlink() to count the NULL byte of the
    symlink target. Most applications don't care about the extra NULL byte,
    but a version control system (bzr) helped in discovering the bug.

    Signed-off-by: Tyler Hicks
    Signed-off-by: Linus Torvalds

    Tyler Hicks
     
  • * 'x86/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland:
    x86-64: fix int $0x80 -ENOSYS return

    Linus Torvalds
     
  • One of my past fixes to this code introduced a different new bug.
    When using 32-bit "int $0x80" entry for a bogus syscall number,
    the return value is not correctly set to -ENOSYS. This only happens
    when neither syscall-audit nor syscall tracing is enabled (i.e., never
    seen if auditd ever started). Test program:

    /* gcc -o int80-badsys -m32 -g int80-badsys.c
    Run on x86-64 kernel.
    Note to reproduce the bug you need auditd never to have started. */

    #include
    #include

    int
    main (void)
    {
    long res;
    asm ("int $0x80" : "=a" (res) : "0" (99999));
    printf ("bad syscall returns %ld\n", res);
    return res != -ENOSYS;
    }

    The fix makes the int $0x80 path match the sysenter and syscall paths.

    Reported-by: Dmitry V. Levin
    Signed-off-by: Roland McGrath

    Roland McGrath
     
  • * 'to-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland:
    elf core dump: fix get_user use

    Linus Torvalds
     
  • The elf_core_dump() code does its work with set_fs(KERNEL_DS) in force,
    so vma_dump_size() needs to switch back with set_fs(USER_DS) to safely
    use get_user() for a normal user-space address.

    Checking for VM_READ optimizes out the case where get_user() would fail
    anyway. The vm_file check here was already superfluous given the control
    flow earlier in the function, so that is a cleanup/optimization unrelated
    to other changes but an obvious and trivial one.

    Reported-by: Gerald Schaefer
    Signed-off-by: Roland McGrath

    Roland McGrath
     
  • This is a modification of a patch by Bill Pemberton

    nobh_write_end() could call attach_nobh_buffers() with head == NULL.
    This would result in a trap when attach_nobh_buffers() attempted to
    access bh->b_this_page.

    This can be illustrated by running the writev01 testcase from LTP on jfs.

    This error was introduced by commit 5b41e74a "vfs: fix data leak in
    nobh_write_end()". That patch did not take into account that if
    PageMappedToDisk() is true upon entry to nobh_write_begin(), then no
    buffers will be allocated for the page. In that case, we won't have to
    worry about a failed write leaving unitialized data in the page.

    Of course, head != NULL implies !page_has_buffers(page), so no need to
    test both.

    Signed-off-by: Dave Kleikamp
    Cc: Bill Pemberton
    Cc: Dmitri Monakhov
    Signed-off-by: Linus Torvalds

    Dave Kleikamp
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: hda - Add missing COEF initialization for ALC887
    ALSA: hda - Add missing initialization for ALC272
    sound: usb-audio: handle wMaxPacketSize for FIXED_ENDPOINT devices
    ALSA: hda - Fix misc workqueue issues
    ALSA: hda - Add quirk for FSC Amilo Xi2550

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
    ieee1394: dv1394: move deprecation message from module init to file open
    firewire: core: Remove card from list of cards when enable fails

    Linus Torvalds
     
  • This fixes the shortlog attribution e.g. for 106757b38fff

    Signed-off-by: Uwe Kleine-König
    Acked-by: Sascha Hauer
    Acked-by: Wolfram Sang
    Signed-off-by: Linus Torvalds

    Uwe Kleine-König
     
  • I created commit 7971db5a4b4176ad5df590fce07a962c643a2740 on a machine
    where I forgot to set user.name and user.email before. The default
    values were not optimal.

    Signed-off-by: Uwe Kleine-König
    Acked-by: Wolfram Sang
    Signed-off-by: Linus Torvalds

    Uwe Kleine-König
     
  • I happened to forked lots of processes, and hit NULL pointer dereference.
    It is because in copy_process() after checking max_threads, 0 is returned
    but not -EAGAIN.

    The bug is introduced by "CRED: Detach the credentials from task_struct"
    (commit f1752eec6145c97163dbce62d17cf5d928e28a27).

    Signed-off-by: Li Zefan
    Signed-off-by: David Howells
    Acked-by: James Morris
    Signed-off-by: Linus Torvalds

    Li Zefan
     
  • The S_ISGID check in btrfs_new_inode caused an oops during subvol creation
    because sometimes the dir is null.

    Signed-off-by: Chris Mason

    Chris Mason
     

06 Feb, 2009

2 commits