22 Oct, 2006

3 commits

  • Fix the following compile error with CONFIG_ATA=y, CONFIG_BLOCK=n:

    ...
    CC drivers/ata/libata-scsi.o
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c: In function ‘ata_scsi_dev_config’:
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:791: warning: implicit declaration of function ‘blk_queue_max_sectors’
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:799: error: ‘request_queue_t’ undeclared (first use in this function)
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:799: error: (Each undeclared identifier is reported only once
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:799: error: for each function it appears in.)
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:799: error: ‘q’ undeclared (first use in this function)
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:800: warning: implicit declaration of function ‘blk_queue_max_hw_segments’
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c: In function ‘ata_scsi_slave_config’:
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:831:
    warning: implicit declaration of function ‘blk_queue_max_phys_segments’
    make[3]: *** [drivers/ata/libata-scsi.o] Error 1

    Bug report by Jesper Juhl.

    Signed-off-by: Adrian Bunk
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Jeff Garzik

    Adrian Bunk
     
  • Use valid values for ICH8 map_db. With the old values, when the
    controller was in Native mode, and SCC was 1 (drives configured for
    IDE), any drive plugged into a slave port was not recognized. For
    Combined Mode (and SCC is still 1), 2 is a value value for MAP.map_value,
    and needs to be recognized.

    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Jeff Garzik

    Kristen Carlson Accardi
     
  • * 'splice' of git://brick.kernel.dk/data/git/linux-2.6-block:
    [PATCH] Remove SUID when splicing into an inode
    [PATCH] Add lockless helpers for remove_suid()
    [PATCH] Introduce generic_file_splice_write_nolock()
    [PATCH] Take i_mutex in splice_from_pipe()

    Linus Torvalds
     

21 Oct, 2006

37 commits

  • This was apparently missed by the move to the generic IRQ code.

    Signed-off-by: Nicolas Pitre
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nicolas Pitre
     
  • Use grep instead of make during interface changes.

    Signed-off-by: Olaf Hering
    Signed-off-by: Linus Torvalds

    Olaf Hering
     
  • check_perm() does not drop the reference to the module when kzalloc()
    failure occurs.

    Signed-Off-By: Chandra Seetharaman
    Signed-off-by: Joel Becker
    Signed-off-by: Mark Fasheh

    Chandra Seetharaman
     
  • The loop within ocfs2_zero_extend() can execute for a long time, causing
    spurious soft lockup warnings.

    Signed-off-by: Mark Fasheh

    Mark Fasheh
     
  • The page zeroing code was missing the region between old i_size and new
    i_size for those extends that didn't actually require a change in space
    allocation.

    Signed-off-by: Mark Fasheh

    Mark Fasheh
     
  • This was causing some folks to incorrectly get -EBUSY during rename.

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

    Sunil Mushran
     
  • This patch deletes redundant memcmp() while looking up in rb tree.

    Signed-off-by: Akinbou Mita
    Signed-off-by: Mark Fasheh

    Akinobu Mita
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
    [MIPS] Fix iounmap argument to const volatile.
    [MIPS] Reserve syscall numbers for kexec_load.
    [MIPS] Update tb0287_defconfig
    [MIPS] Update pnx8550-v2pci_defconfig
    [MIPS] Update pnx8500-jbs_defconfig
    [MIPS] More vr41xx pt_regs fixups
    [MIPS] save_context_stack fix
    [MIPS] Use compat_sys_mount.
    [MIPS] Fix O32 personality(2) call with 0xffffffff argument.
    [MIPS] A few more pt_regs fixups.
    [MIPS] Malta: Fix uninitialized regs pointer.
    [MIPS] Delete unneeded pt_regs forward declaration.
    [MIPS] Use kallsyms_lookup_size_offset() instead of kallsyms_lookup()

    Linus Torvalds
     
  • This reverts commit 4596c75c23dde2623cbeec69357d5eb13d28387e as
    requested by Olaf Hering. It causes compile errors, and says Olaf:

    "This change is also wrong, the autoloading works perfect with 2.6.18,
    no need to add random PCI ids.

    See commit a0245f7ad5214cb00131d7cd176446e067c913dc, platform devices
    have now a modalias entry in sysfs. The network card is not a PCI
    device."

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    [CRYPTO] api: Select cryptomgr where needed
    [CRYPTO] api: fix crypto_alloc_base() return value

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:
    [GFS2] gfs2_dir_read_data(): fix uninitialized variable usage
    [GFS2] fs/gfs2/ops_fstype.c:fill_super_meta(): fix NULL dereference
    [GFS2] fs/gfs2/dir.c:gfs2_dir_write_data(): don't use an uninitialized variable
    [GFS2] fs/gfs2/ops_fstype.c:gfs2_get_sb_meta(): remove unused variable
    [GFS2] fs/gfs2/dir.c:gfs2_dir_write_data(): remove dead code
    [GFS2] gfs2 endianness bug: be16 assigned to be32 field
    [GFS2] Fix bmap to map extents properly
    [DLM] fix iovec length in recvmsg

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
    [SPARC]: Clean up asm-sparc/elf.h pollution in userspace.
    [SPARC64]: Fix of_ioremap().
    [SPARC64]: Compute dma_end argument to sabre_pbm_init() correctly.

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (36 commits)
    [Bluetooth] Fix HID disconnect NULL pointer dereference
    [Bluetooth] Add missing entry for Nokia DTL-4 PCMCIA card
    [Bluetooth] Add support for newer ANYCOM USB dongles
    [NET]: Can use __get_cpu_var() instead of per_cpu() in loopback driver.
    [IPV4] inet_peer: Group together avl_left, avl_right, v4daddr to speedup lookups on some CPUS
    [TCP]: One NET_INC_STATS() could be NET_INC_STATS_BH in tcp_v4_err()
    [NETFILTER]: Missing check for CAP_NET_ADMIN in iptables compat layer
    [NETPOLL]: initialize skb for UDP
    [IPV6]: Fix route.c warnings when multiple tables are disabled.
    [TG3]: Bump driver version and release date.
    [TG3]: Add lower bound checks for tx ring size.
    [TG3]: Fix set ring params tx ring size implementation
    [NET]: reduce per cpu ram used for loopback stats
    [IPv6] route: Fix prohibit and blackhole routing decision
    [DECNET]: Fix input routing bug
    [TCP]: Bound TSO defer time
    [IPv4] fib: Remove unused fib_config members
    [IPV6]: Always copy rt->u.dst.error when copying a rt6_info.
    [IPV6]: Make IPV6_SUBTREES depend on IPV6_MULTIPLE_TABLES.
    [IPV6]: Clean up BACKTRACK().
    ...

    Linus Torvalds
     
  • Fix one more compile breakage caused by the post -rc1 IRQ changes.

    Signed-off-by: Adrian Bunk
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • This patch is suitable for just about any 2.6 kernel. It should go in
    2.6.19 and 2.6.18.2 and possible even the .17 and .16 stable series.

    This is a long standing bug that seems to have only recently become
    apparent, presumably due to increasing use of NFS over TCP - many
    distros seem to be making it the default.

    The SK_CONN bit gets set when a listening socket may be ready
    for an accept, just as SK_DATA is set when data may be available.

    It is entirely possible for svc_tcp_accept to be called with neither
    of these set. It doesn't happen often but there is a small race in
    svc_sock_enqueue as SK_CONN and SK_DATA are tested outside the
    spin_lock. They could be cleared immediately after the test and
    before the lock is gained.

    This normally shouldn't be a problem. The sockets are non-blocking so
    trying to read() or accept() when ther is nothing to do is not a problem.

    However: svc_tcp_recvfrom makes the decision "Should I accept() or
    should I read()" based on whether SK_CONN is set or not. This usually
    works but is not safe. The decision should be based on whether it is
    a TCP_LISTEN socket or a TCP_CONNECTED socket.

    Signed-off-by: Neil Brown
    Cc: Adrian Bunk
    Cc:
    Cc: Trond Myklebust
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • Signed-off-by: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • A disk generated some I/O error, after it, I hitted
    J_ASSERT(transaction->t_updates > 0) in journal_stop().

    It seems to happened on ext3_truncate() path from stack trace. Then,
    maybe the following case may trigger J_ASSERT(transaction->t_updates > 0).

    ext3_truncate()
    -> ext3_free_branches()
    -> ext3_journal_test_restart()
    -> ext3_journal_restart()
    -> journal_restart()
    transaction->t_updates--;
    /* another process aborted journal */
    -> start_this_handle()
    returns -EROFS without transaction->t_updates++;

    -> ext3_journal_stop()
    -> journal_stop()
    J_ASSERT(transaction->t_updates > 0)

    If journal was aborted in middle of journal_restart(), ext3_truncate()
    may trigger J_ASSERT().

    Signed-off-by: OGAWA Hirofumi
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    OGAWA Hirofumi
     
  • Clarify lockorder comments now that sys_msync dropps mmap_sem before
    calling do_fsync.

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

    Nick Piggin
     
  • Add a size check in smi_data_write to prevent possible wrapping problems
    with large pos values when calling smi_data_buf_realloc on 32-bit.

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

    Doug Warzecha
     
  • These returns should be negative, like the others in this function.

    Signed-off-by: Dave Jones
    Acked-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Jones
     
  • --=-=-=

    from mm/memory.c:
    1434 static inline void cow_user_page(struct page *dst, struct page *src, unsigned long va)
    1435 {
    1436 /*
    1437 * If the source page was a PFN mapping, we don't have
    1438 * a "struct page" for it. We do a best-effort copy by
    1439 * just copying from the original user address. If that
    1440 * fails, we just zero-fill it. Live with it.
    1441 */
    1442 if (unlikely(!src)) {
    1443 void *kaddr = kmap_atomic(dst, KM_USER0);
    1444 void __user *uaddr = (void __user *)(va & PAGE_MASK);
    1445
    1446 /*
    1447 * This really shouldn't fail, because the page is there
    1448 * in the page tables. But it might just be unreadable,
    1449 * in which case we just give up and fill the result with
    1450 * zeroes.
    1451 */
    1452 if (__copy_from_user_inatomic(kaddr, uaddr, PAGE_SIZE))
    1453 memset(kaddr, 0, PAGE_SIZE);
    1454 kunmap_atomic(kaddr, KM_USER0);
    #### D-cache have to be flushed here.
    #### It seems it is just forgotten.

    1455 return;
    1456
    1457 }
    1458 copy_user_highpage(dst, src, va);
    #### Ok here. flush_dcache_page() called from this func if arch need it
    1459 }

    Following is the patch fix this issue:

    Signed-off-by: Dmitriy Monakhov
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dmitriy Monakhov
     
  • Fixing cpu-hotplug documentation as follows:

    - moving confusing asterisk on additional_cpus descrition
    - fixing some typos
    - unifying indentation for source code and command line example

    Signed-off-by: Satoru Takeuchi
    Cc: Ashok Raj
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Satoru Takeuchi
     
  • ioremap must be balanced by an iounmap and failing to do so can result
    in a memory leak.

    Signed-off-by: Amol Lad
    Acked-by: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Amol Lad
     
  • Qooting Adrian:

    - net/sunrpc/svc.c uses highest_possible_node_id()

    - include/linux/nodemask.h says highest_possible_node_id() is
    out-of-line #if MAX_NUMNODES > 1

    - the out-of-line highest_possible_node_id() is in lib/cpumask.c

    - lib/Makefile: lib-$(CONFIG_SMP) += cpumask.o
    CONFIG_ARCH_DISCONTIGMEM_ENABLE=y, CONFIG_SMP=n, CONFIG_SUNRPC=y

    -> highest_possible_node_id() is used in net/sunrpc/svc.c
    CONFIG_NODES_SHIFT defined and > 0

    -> include/linux/numa.h: MAX_NUMNODES > 1

    -> compile error

    The bug is not present on architectures where ARCH_DISCONTIGMEM_ENABLE
    depends on NUMA (but m32r isn't the only affected architecture).

    So move the function into page_alloc.c

    Cc: Adrian Bunk
    Cc: Paul Jackson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Interrupts must be disabled during alternative instruction patching. On
    systems with high timer IRQ rates, or when running in an emulator, timing
    differences can result in random kernel panics because of running partially
    patched instructions. This doesn't yet fix NMIs, which requires extricating
    the patch code from the late bug checking and is logically separate (and also
    less likely to cause problems).

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

    Zachary Amsden
     
  • We are using NFS_REPLAY_ME as a special error value that is never leaked to
    clients. That works fine; the only problem is mixing host- and network-
    endian values in the same objects. Network-endian equivalent would work just
    as fine; switch to it.

    Signed-off-by: Al Viro
    Acked-by: Trond Myklebust
    Acked-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Acked-by: Trond Myklebust
    Acked-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Acked-by: Trond Myklebust
    Acked-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • don't use the same variable to store NFS and host error values

    Signed-off-by: Al Viro
    Acked-by: Trond Myklebust
    Acked-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Acked-by: Trond Myklebust
    Acked-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Acked-by: Trond Myklebust
    Acked-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • don't use the same variable to store NFS and host error values

    Signed-off-by: Al Viro
    Acked-by: Trond Myklebust
    Acked-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Acked-by: Trond Myklebust
    Acked-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Acked-by: Trond Myklebust
    Acked-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Acked-by: Trond Myklebust
    Acked-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Acked-by: Trond Myklebust
    Acked-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Signed-off-by: Al Viro
    Acked-by: Trond Myklebust
    Acked-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro