31 Aug, 2006

5 commits

  • One open question: Should these added pushes perhaps be made
    conditional upon CONFIG_STACK_UNWIND or CONFIG_UNWIND_INFO?
    [AK: Not needed -- these are all very slow paths]

    Signed-off-by: Jan Beulich
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • The check for the MCFG table being reserved in the e820 map was originally
    added to detect a broken BIOS in a preproduction Intel SDV. However it also
    breaks the Apple x86 Macs, which can't supply this properly, but need
    a working MCFG. With this patch they wouldn't use the MCFG and not work.

    After some discussion I think it's best to remove the heuristic again.
    It also failed on some other boxes (although it didn't cause much
    problems there because old style port access for PCI config space
    still works as fallback), but the preproduction SDVs can just use
    pci=nommcfg. Supporting production machines properly is more
    important.

    Edgar Hucek did all the debugging work.

    Cc: Arjan van de Ven
    Cc: Edgar Hucek
    Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • Signed-off-by: Andi Kleen
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
    [SUNLANCE]: Fix probing problem.
    [SPARC64]: Fix X server hangs due to large pages.

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
    [STRIP]: Fix neighbour table refcount leak.
    [IPV6]: ipv6_add_addr should install dstentry earlier
    [NETLINK]: Call panic if nl_table allocation fails
    [TCP]: Two RFC3465 Appropriate Byte Count fixes.
    [IPV6]: SNMPv2 "ipv6IfStatsInAddrErrors" counter error
    [E100]: Add module option to ignore bad EEPROM checksums.
    [SCTP]: Fix sctp_primitive_ABORT() call in sctp_close().

    Linus Torvalds
     

30 Aug, 2006

12 commits

  • The current probe table causes ledma and lebuffer
    "le" devices to get probed twice which is not what
    we want.

    Match just "le" and look directly at the parent to get the correct
    top-level node information.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: David S. Miller

    Krzysztof Helt
     
  • This problem was introduced by changeset
    14778d9072e53d2171f66ffd9657daff41acfaed

    Unlike the hugetlb code paths, the normal fault code is not setup to
    propagate PTE changes for large page sizes correctly like the ones we
    make for I/O mappings in io_remap_pfn_range().

    It is absolutely necessary to update all sub-ptes of a largepage
    mapping on a fault. Adding special handling for this would add
    considerably complexity to tlb_batch_add(). So let's just side-step
    the issue and forcefully dirty any writable PTEs created by
    io_remap_pfn_range().

    The only other real option would be to disable to large PTE code of
    io_remap_pfn_range() and we really don't want to do that.

    Much thanks to Mikael Pettersson for tracking down this problem and
    testing debug patches.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Found by inspection. The STRIP driver does neigh_lookup() but never
    releases. This driver shouldn't being doing gratuitous arp anyway.

    Untested, obviously, because of lack of hardware.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     
  • ipv6_add_addr allocates a struct inet6_ifaddr and a dstentry, but it
    doesn't install the dstentry in ifa->rt until after it releases the
    addrconf_hash_lock. This means other CPUs will be able to see the new
    address while it hasn't been initialized completely yet.

    One possible fix would be to grab the ifp->lock spinlock when
    creating the address struct; a simpler fix is to just move the
    assignment.

    Acked-by: jbeulich@novell.com
    Acked-by: okir@suse.de
    Acked-by: YOSHIFUJI Hideaki
    Signed-off-by: David S. Miller

    Keir Fraser
     
  • This patch makes crash happen if initialization of nl_table fails
    in initcalls. It is better than getting use after free crash later.

    Signed-off-by: Akinobu Mita
    Signed-off-by: David S. Miller

    Akinobu Mita
     
  • 1) fix slow start after retransmit timeout
    2) fix case of L=2*SMSS acked bytes comparison

    Signed-off-by: Daikichi Osuga
    Signed-off-by: David S. Miller

    Daikichi Osuga
     
  • When I tested Linux kernel 2.6.17.7 about statistics
    "ipv6IfStatsInAddrErrors", found that this counter couldn't increase
    correctly. The criteria is RFC2465:
    ipv6IfStatsInAddrErrors OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    "The number of input datagrams discarded because
    the IPv6 address in their IPv6 header's destination
    field was not a valid address to be received at
    this entity. This count includes invalid
    addresses (e.g., ::0) and unsupported addresses
    (e.g., addresses with unallocated prefixes). For
    entities which are not IPv6 routers and therefore
    do not forward datagrams, this counter includes
    datagrams discarded because the destination address
    was not a local address."
    ::= { ipv6IfStatsEntry 5 }

    When I send packet to host with destination that is ether invalid
    address(::0) or unsupported addresses(1::1), the Linux kernel just
    discard the packet, and the counter doesn't increase(in the function
    ip6_pkt_discard).

    Signed-off-by: Lv Liangying
    Signed-off-by: David S. Miller

    Lv Liangying
     
  • Several people run into the situation where the E100
    EEPROM contents are fine, but the checksum hasn't been
    set properly. This renders the device useless for
    them even though it would function correctly.

    The default is off, which retains the current behavior.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • With the recent fix, the callers of sctp_primitive_ABORT()
    need to create an ABORT chunk and pass it as an argument rather
    than msghdr that was passed earlier.

    Signed-off-by: Sridhar Samudrala
    Signed-off-by: David S. Miller

    Sridhar Samudrala
     
  • conversion.

    Since bma.conv is a char and XFS_BMAPI_CONVERT is 0x1000, bma.conv was
    always assigned zero. Spotted by the GNU C compiler (SVN version).

    SGI-PV: 947312
    SGI-Modid: xfs-linux-melb:xfs-kern:26887a

    Signed-off-by: Adrian Bunk
    Signed-off-by: Nathan Scott

    Adrian Bunk
     
  • Signed-off-by: Nathan Scott

    Nathan Scott
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
    [CIFS] Do not send Query All EAs SMB when mount option nouser_xattr
    [CIFS] endian errors in lanman protocol support
    [CIFS] Fix oops in cifs_close due to unitialized lock sem and list in
    [CIFS] Fix oops when negotiating lanman and no password specified
    [CIFS]
    [CIFS] Allow cifsd to suspend if connection is lost
    [CIFS] Make midState usage more consistent
    [CIFS] spinlock protect read of last srv response time in timeout path
    [CIFS] Do not time out posix brl requests when using new posix setfileinfo

    Linus Torvalds
     

29 Aug, 2006

2 commits

  • * master.kernel.org:/home/rmk/linux-2.6-serial:
    [SERIAL] Support for Intashield 2 port PCI serial card

    Linus Torvalds
     
  • * master.kernel.org:/home/rmk/linux-2.6-arm:
    [ARM] 3761/1: fix armv4t breakage after adding thumb interworking to userspace helpers
    [ARM] Add Integrator support for glibc outb() and friends
    [ARM] Move prototype for register_isa_ports to asm/io.h
    [ARM] Arrange for isa.c to use named initialisers
    [ARM] 3741/1: remove sa1111.c build warning on non-sa1100 systems
    [ARM] 3760/1: This patch adds timeouts while working with SSP registers. Such timeouts were en
    [ARM] 3758/1: Preserve signalling NaNs in conversion
    [ARM] 3749/3: Correct VFP single/double conversion emulation
    [ARM] 3748/3: Correct error check in vfp_raise_exceptions

    Linus Torvalds
     

28 Aug, 2006

21 commits

  • Patch from Lennert Buytenhek

    On armv4t systems, we have always compiled the kernel with -march=armv4
    instead of -march=armv4t, which means that any use of bx will bomb out.

    Commit ba9b5d76372dc290b6ca04dad93927a22c2ac49a introduced the use of
    bx in the kernel, which means we need to compile with -march=armv4t on
    armv4t systems now.

    Signed-off-by: Lennert Buytenhek
    Signed-off-by: Russell King

    Lennert Buytenhek
     
  • Add the necessary call to register_isa_ports() so that glibc knows
    where these are found on Integrator platforms.

    Signed-off-by: Russell King

    Russell King
     
  • Signed-off-by: Russell King

    Russell King
     
  • Convert isa.c (the glibc interface for emulating ISA IO) to use
    named initialisers.

    Signed-off-by: Russell King

    Russell King
     
  • Linus Torvalds
     
  • Unlike the other tty comment patch this one has code changes. Specifically
    it limits the queue size for a tty to 64K characters (128Kbytes) worst case
    even if the tty is ignoring tty->throttle. This is because certain drivers
    don't honour the throttle value correctly, although it is a useful
    safeguard anyway.

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

    Alan Cox
     
  • Doesn't fix them but does show up some interesting areas that need review
    and fixing.

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

    Alan Cox
     
  • Fix printk format warning:
    drivers/cdrom/gscd.c:269: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 2 has type ‘unsigned int’

    Signed-off-by: Randy Dunlap
    Cc: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • When we select NUMA with i386, the system is only X86_NUMAQ or using ACPI.

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

    KAMEZAWA Hiroyuki
     
  • None of the other /proc/meminfo lines have a space in the identifier. This
    post-2.6.17 addition has the potential to break existing parsers, so use an
    underscore instead (like Committed_AS).

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

    Andrew Morton
     
  • This fixes the locking error noticed by lockdep:

    =============================================
    [ INFO: possible recursive locking detected ]
    ---------------------------------------------
    init/1 is trying to acquire lock:
    (&sighand->siglock){....}, at: [] flush_old_exec+0x3ae/0x859

    but task is already holding lock:
    (&sighand->siglock){....}, at: [] flush_old_exec+0x39e/0x859

    other info that might help us debug this:
    2 locks held by init/1:
    #0: (tasklist_lock){..--}, at: [] flush_old_exec+0x38e/0x859
    #1: (&sighand->siglock){....}, at: [] flush_old_exec+0x39e/0x859

    stack backtrace:
    [] show_trace_log_lvl+0x54/0xfd
    [] show_trace+0xd/0x10
    [] dump_stack+0x19/0x1b
    [] __lock_acquire+0x773/0x997
    [] lock_acquire+0x4b/0x6c
    [] _spin_lock+0x19/0x28
    [] flush_old_exec+0x3ae/0x859
    [] load_elf_binary+0x4aa/0x1628
    [] search_binary_handler+0xa7/0x24e
    [] do_execve+0x15b/0x1f9
    [] sys_execve+0x29/0x4d
    [] syscall_call+0x7/0xb

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Dave Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Jones
     
  • reiserfs seems to have another locking level layer for the i_mutex due to the
    xattrs-are-a-directory thing.

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

    Ingo Molnar
     
  • idescsi_pc_intr() uses local_irq_enable() in IRQ context: annotate it.

    (this has no effect on kernels with lockdep disabled. On kernels with lockdep
    enabled this means that we wont actually disable interrupts, and the warning
    message will go away as well.)

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

    Ingo Molnar
     
  • In file included from include/asm/mmzone.h:18,
    from include/linux/mmzone.h:439,

    include/asm/srat.h:31:2: error: #error CONFIG_ACPI_SRAT not defined, and srat.h header has been included
    make[1]: *** [arch/i386/kernel/asm-offsets.s] Error 1

    This can happen with CONFIG_NUMA && !CONFIG_ACPI && !CONFIG_X86_NUMAQ

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

    KAMEZAWA Hiroyuki
     
  • cpuset_excl_nodes_overlap always returns 0 if current is exiting. This caused
    customer's systems to panic in the OOM killer when processes were having
    trouble getting memory for the final put_user in mm_release. Even though
    there were lots of processes to kill.

    Change to returning 1 in this case. This achieves parity with !CONFIG_CPUSETS
    case, and was observed to fix the problem.

    Signed-off-by: Nick Piggin
    Acked-by: Paul Jackson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • register_one_node()'s should be defined under CONFIG_NUMA=n.
    fixes following bug.

    CC init/version.o
    LD init/built-in.o
    LD .tmp_vmlinux1
    mm/built-in.o: In function `add_memory': undefined reference to `register_one_node'

    Signed-off-by: KAMEZAWA Hiroyuki
    Acked-by: Yasunori Goto
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • JBD currently allocates commit and frozen buffers from slabs. With
    CONFIG_SLAB_DEBUG, its possible for an allocation to cross the page
    boundary causing IO problems.

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

    So, instead of allocating these from regular slabs - manage allocation from
    its own slabs and disable slab debug for these slabs.

    [akpm@osdl.org: cleanups]
    Signed-off-by: Badari Pulavarty
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Badari Pulavarty
     
  • Change the list of cpus allowed to tasks in the top (root) cpuset to
    dynamically track what cpus are online, using a CPU hotplug notifier. Make
    this top cpus file read-only.

    On systems that have cpusets configured in their kernel, but that aren't
    actively using cpusets (for some distros, this covers the majority of
    systems) all tasks end up in the top cpuset.

    If that system does support CPU hotplug, then these tasks cannot make use
    of CPUs that are added after system boot, because the CPUs are not allowed
    in the top cpuset. This is a surprising regression over earlier kernels
    that didn't have cpusets enabled.

    In order to keep the behaviour of cpusets consistent between systems
    actively making use of them and systems not using them, this patch changes
    the behaviour of the 'cpus' file in the top (root) cpuset, making it read
    only, and making it automatically track the value of cpu_online_map. Thus
    tasks in the top cpuset will have automatic use of hot plugged CPUs allowed
    by their cpuset.

    Thanks to Anton Blanchard and Nathan Lynch for reporting this problem,
    driving the fix, and earlier versions of this patch.

    Signed-off-by: Paul Jackson
    Cc: Nathan Lynch
    Cc: Anton Blanchard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Jackson
     
  • A recent patch broke the ability to do a user-request check of a raid1.
    This patch fixes the breakage and also moves a comment that was dislocated
    by the same patch.

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

    NeilBrown
     
  • If we
    - shut down a clean array,
    - restart with one (or more) drive(s) missing
    - make some changes
    - pause, so that they array gets marked 'clean',
    the event count on the superblock of included drives
    will be the same as that of the removed drives.
    So adding the removed drive back in will cause it
    to be included with no resync.

    To avoid this, we only update the eventcount backwards when the array
    is not degraded. In this case there can (should) be no non-connected
    drives that we can get confused with, and this is the particular case
    where updating-backwards is valuable.

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

    NeilBrown
     
  • Fix two compile failures in eventpoll.c code which would happen if
    DEBUG_EPOLL is bigger than zero.

    Signed-off-by: Masoud Sharbiani
    Cc: Davide Libenzi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Masoud Asgharifard Sharbiani