02 Dec, 2006

1 commit


30 Nov, 2006

2 commits


29 Nov, 2006

5 commits

  • MAX_HEADER is either set to LL_MAX_HEADER or LL_MAX_HEADER + 48, and
    this is controlled by a set of CONFIG_* ifdef tests.

    It is trying to use LL_MAX_HEADER + 48 when any of the tunnels are
    enabled which set hard_header_len like this:

    dev->hard_header_len = LL_MAX_HEADER + sizeof(struct xxx);

    The correct set of tunnel drivers which do this are:

    ipip
    ip_gre
    ip6_tunnel
    sit

    so make the ifdef test match.

    Noticed by Patrick McHardy and with help from Herbert Xu.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • * 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6:
    [PATCH] x86-64: Use stricter in process stack check for unwinder
    [PATCH] i386: Fix compilation with UP genericarch
    [PATCH] x86-64: Fix warning in io_apic.c
    [PATCH] x86-64: work around gcc4 issue with -Os in Dwarf2 stack unwind
    [PATCH] x86_64: Align data segment to PAGE_SIZE boundary

    Linus Torvalds
     
  • * 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa:
    [ALSA] version 1.0.13
    [ALSA] snd-emu10k1: Fix capture for one variant.
    [ALSA] Fix hang-up at disconnection of usb-audio
    [ALSA] hda: fix typo for xw4400 PCI sub-ID
    [ALSA] hda: fix sigmatel dell system detection
    [ALSA] Enable stereo line input for TAS codec
    [ALSA] rtctimer: handle RTC interrupts with a tasklet

    Linus Torvalds
     
  • include/scsi/libsas.h:479: error: field 'smp_req' has incomplete type
    include/scsi/libsas.h:480: error: field 'smp_resp' has incomplete type

    Signed-off-by: Dave Jones
    Signed-off-by: Linus Torvalds

    Dave Jones
     
  • Fix

    arch/i386/mach-generic/built-in.o: In function `apicid_to_node':
    summit.c:(.text+0x2f): undefined reference to `apicid_2_node'

    with CONFIG_GENERICH_ARCH and !CONFIG_SMP
    Signed-off-by: Andi Kleen

    Andi Kleen
     

28 Nov, 2006

1 commit


27 Nov, 2006

3 commits

  • You wouldn't think that doing an ALIGN() macro that aligns something up
    to a power-of-two boundary would be likely to have bugs, would you?

    But hey, in the wonderful world of mixing integer types, you have to be
    careful. This just makes sure that the alignment is interpreted in the
    same type as the thing to be aligned.

    Thanks to Roland Dreier, who noticed that the amso1100 driver got broken
    by the previous fix (that just extended the mask to "unsigned long", but
    was still broken in "unsigned long long" - it just happened to be the
    same on 64-bit architectures).

    See commit 4c8bd7eeee4c8f157fb61fb64b57500990b42e0e for the history of
    bugs here...

    Acked-by: Roland Dreier
    Cc: Andrew Morton
    Cc: David Miller
    Cc: Al Viro
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • I still think using BUILD_BUG_ON() is unacceptable, especially given how
    vague the error message was.

    Signed-off-by: Kyle McMartin
    [ And I already removed gthe BUILD_BUG_ON() in the previous commit ]
    Signed-off-by: Linus Torvalds

    Kyle McMartin
     
  • This reverts commit ee3ce191e8eaa4cc15c51a28b34143b36404c4f5, since it
    broke on at least ARM, MIPS and PA-RISC due to complicated header file
    dependencies.

    Conflicts in include/linux/spinlock.h (due to the "nested" variety
    fixes) fixed up by hand.

    Cc: Alexey Dobriyan
    Cc: Ralf Baechle
    Cc: Kyle McMartin
    Cc: Russell King
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

26 Nov, 2006

4 commits

  • Restoring old, correct comment for sk_filter_release, moving it to
    where it should actually be, and changing new comment into proper
    comment for sk_filter_rcu_free, where it actually makes sense.

    The original fix submitted for this on Oct 23 mistakenly documented
    the wrong function.

    Signed-off-by: Paul Bonser
    Signed-off-by: David S. Miller

    Paul Bonser
     
  • Introduce spin_lock_irqsave_nested(); implementation from:
    http://lkml.org/lkml/2006/6/1/122
    Patch from:
    http://lkml.org/lkml/2006/9/13/258

    [akpm@osdl.org: two compile fixes]
    Signed-off-by: Arjan van de Ven
    Signed-off-by: Jiri Kosina
    Signed-off-by: Peter Zijlstra
    Acked-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     
  • Make it break or warn if you pass to spin_lock_irqsave() and friends
    something different from "unsigned long flags;". Suprisingly large amount
    of these was caught by recent commit
    c53421b18f205c5f97c604ae55c6a921f034b0f6 and others.

    Idea is largely from FRV typechecking. Suggestions from Andrew Morton.
    All stupid typos in first version fixed.

    Passes allmodconfig on i386, x86_64, alpha, arm as well as my usual config.

    Note #1: checking with sparse is still needed, because a driver can save
    and pass around flags or something. So far patch is very intrusive.
    Note #2: techically, we should break only if
    sizeof(flags) < sizeof(unsigned long),
    however, the more pain for getting suspicious code into kernel,
    the better.

    Signed-off-by: Alexey Dobriyan
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • OpenVZ developers team has encountered the following problem in 2.6.19-rc6
    kernel. After some seconds of running script

    while [[ 1 ]]
    do
    find /proc -name mountstats | xargs cat
    done

    this Oops appears:

    BUG: unable to handle kernel NULL pointer dereference at virtual address
    00000010
    printing eip:
    c01a6b70
    *pde = 00000000
    Oops: 0000 [#1]
    SMP
    Modules linked in: xt_length ipt_ttl xt_tcpmss ipt_TCPMSS iptable_mangle
    iptable_filter xt_multiport xt_limit ipt_tos ipt_REJECT ip_tables x_tables
    parport_pc lp parport sunrpc af_packet thermal processor fan button battery
    asus_acpi ac ohci_hcd ehci_hcd usbcore i2c_nforce2 i2c_core tg3 floppy
    pata_amd
    ide_cd cdrom sata_nv libata
    CPU: 1
    EIP: 0060:[] Not tainted VLI
    EFLAGS: 00010246 (2.6.19-rc6 #2)
    EIP is at mountstats_open+0x70/0xf0
    eax: 00000000 ebx: e6247030 ecx: e62470f8 edx: 00000000
    esi: 00000000 edi: c01a6b00 ebp: c33b83c0 esp: f4105eb4
    ds: 007b es: 007b ss: 0068
    Process cat (pid: 6044, ti=f4105000 task=f4104a70 task.ti=f4105000)
    Stack: c33b83c0 c04ee940 f46a4a80 c33b83c0 e4df31b4 c01a6b00 f4105000 c0169231
    e4df31b4 c33b83c0 c33b83c0 f4105f20 00000003 f4105000 c0169445 f2503cf0
    f7f8c4c0 00008000 c33b83c0 00000000 00008000 c0169350 f4105f20 00008000
    Call Trace:
    [] mountstats_open+0x0/0xf0
    [] __dentry_open+0x181/0x250
    [] nameidata_to_filp+0x35/0x50
    [] do_filp_open+0x50/0x60
    [] seq_read+0xc6/0x300
    [] get_unused_fd+0x31/0xc0
    [] do_sys_open+0x63/0x110
    [] sys_open+0x27/0x30
    [] sysenter_past_esp+0x56/0x79
    =======================
    Code: 45 74 8b 54 24 20 89 44 24 08 8b 42 f0 31 d2 e8 47 cb f8 ff 85 c0 89 c3
    74 51 8d 80 a0 04 00 00 e8 46 06 2c 00 8b 83 48 04 00 00 78 10 85 ff 74
    03
    f0 ff 07 b0 01 86 83 a0 04 00 00 f0 ff 4b
    EIP: [] mountstats_open+0x70/0xf0 SS:ESP 0068:f4105eb4

    The problem is that task->nsproxy can be equal NULL for some time during
    task exit. This patch fixes the BUG.

    Signed-off-by: Vasily Tarasov
    Cc: Herbert Poetzl
    Cc: "Serge E. Hallyn"
    Cc: "Eric W. Biederman"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vasily Tarasov
     

24 Nov, 2006

1 commit


23 Nov, 2006

2 commits

  • The Au1xx IDE controller driver doesn't compile:

    CC drivers/ide/mips/au1xxx-ide.o
    /linux-2.6.19-rc6-work/drivers/ide/mips/au1xxx-ide.c:480: error: conflicting types for 'auide_ddma_tx_callback'
    include2/asm/mach-au1x00/au1xxx_ide.h:174: error: previous declaration of 'auide_ddma_tx_callback' was here
    /linux-2.6.19-rc6-work/drivers/ide/mips/au1xxx-ide.c:486: error: conflicting types for 'auide_ddma_rx_callback'
    include2/asm/mach-au1x00/au1xxx_ide.h:176: error: previous declaration of 'auide_ddma_rx_callback' was here

    Signed-off-by: Manuel Lauss
    Signed-off-by: Ralf Baechle

    Manuel Lauss
     
  • /*
    * Note: Drivers should NOT use this function directly, as it will break
    * platforms with CONFIG_DMABOUNCE.
    * Use the driver DMA support - see dma-mapping.h (dma_sync_*)
    */

    Signed-off-by: Dan Williams
    Signed-off-by: Russell King

    Dan Williams
     

22 Nov, 2006

3 commits


21 Nov, 2006

2 commits

  • This is a quick hack to overcome the fact that SRCU currently does not
    allow static initializers, and we need to sometimes initialize those
    things before any other initializers (even "core" ones) can do so.

    Currently we don't allow this at all for modules, and the only user that
    needs is right now is cpufreq. As reported by Thomas Gleixner:

    "Commit b4dfdbb3c707474a2254c5b4d7e62be31a4b7da9 ("[PATCH] cpufreq:
    make the transition_notifier chain use SRCU breaks cpu frequency
    notification users, which register the callback > on core_init
    level."

    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: Arjan van de Ven
    Cc: Andrew Morton ,
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Switch to using irq_handler_t for interrupt function handler pointers.

    Change name of m68knommu's irq_hanlder_t data structure so it doesn't
    clash with the common type (include/linux/interrupt.h).

    Signed-off-by: Greg Ungerer
    Signed-off-by: Linus Torvalds

    Greg Ungerer
     

20 Nov, 2006

2 commits


17 Nov, 2006

2 commits

  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
    [TG3]: Disable TSO on 5906 if CLKREQ is enabled.
    [TCP]: Fix up sysctl_tcp_mem initialization.
    [NETFILTER]: ip6_tables: use correct nexthdr value in ipv6_find_hdr()
    [NETFILTER]: ip6_tables: fixed conflicted optname for getsockopt
    [NETFILTER]: Use pskb_trim in {ip,ip6,nfnetlink}_queue
    [NETFILTER]: nfnetlink_log: fix byteorder of NFULA_SEQ_GLOBAL
    [TG3]: Increase 5906 firmware poll time.

    Linus Torvalds
     
  • This adds fat_getattr() for setting stat->blksize. (FAT uses the size
    of cluster for proper I/O)

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

    OGAWA Hirofumi
     

16 Nov, 2006

4 commits


15 Nov, 2006

2 commits

  • * 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6:
    [PATCH] x86-64: Fix race in exit_idle
    [PATCH] x86-64: Fix vgetcpu when CONFIG_HOTPLUG_CPU is disabled
    [PATCH] x86: Add acpi_user_timer_override option for Asus boards
    [PATCH] x86-64: setup saved_max_pfn correctly (kdump)
    [PATCH] x86-64: Handle reserve_bootmem_generic beyond end_pfn
    [PATCH] x86-64: shorten the x86_64 boot setup GDT to what the comment says
    [PATCH] x86-64: Fix PTRACE_[SG]ET_THREAD_AREA regression with ia32 emulation.
    [PATCH] x86-64: Fix partial page check to ensure unusable memory is not being marked usable.
    Revert "[PATCH] MMCONFIG and new Intel motherboards"

    Linus Torvalds
     
  • (David:)

    If hugetlbfs_file_mmap() returns a failure to do_mmap_pgoff() - for example,
    because the given file offset is not hugepage aligned - then do_mmap_pgoff
    will go to the unmap_and_free_vma backout path.

    But at this stage the vma hasn't been marked as hugepage, and the backout path
    will call unmap_region() on it. That will eventually call down to the
    non-hugepage version of unmap_page_range(). On ppc64, at least, that will
    cause serious problems if there are any existing hugepage pagetable entries in
    the vicinity - for example if there are any other hugepage mappings under the
    same PUD. unmap_page_range() will trigger a bad_pud() on the hugepage pud
    entries. I suspect this will also cause bad problems on ia64, though I don't
    have a machine to test it on.

    (Hugh:)

    prepare_hugepage_range() should check file offset alignment when it checks
    virtual address and length, to stop MAP_FIXED with a bad huge offset from
    unmapping before it fails further down. PowerPC should apply the same
    prepare_hugepage_range alignment checks as ia64 and all the others do.

    Then none of the alignment checks in hugetlbfs_file_mmap are required (nor
    is the check for too small a mapping); but even so, move up setting of
    VM_HUGETLB and add a comment to warn of what David Gibson discovered - if
    hugetlbfs_file_mmap fails before setting it, do_mmap_pgoff's unmap_region
    when unwinding from error will go the non-huge way, which may cause bad
    behaviour on architectures (powerpc and ia64) which segregate their huge
    mappings into a separate region of the address space.

    Signed-off-by: Hugh Dickins
    Cc: "Luck, Tony"
    Cc: "David S. Miller"
    Acked-by: Adam Litke
    Acked-by: David Gibson
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     

14 Nov, 2006

4 commits

  • When another interrupt happens in exit_idle the exit idle notifier
    could be called an incorrect number of times.

    Add a test_and_clear_bit_pda and use it handle the bit
    atomically against interrupts to avoid this.

    Pointed out by Stephane Eranian

    Signed-off-by: Andi Kleen

    Andi Kleen
     
  • The vgetcpu per CPU initialization previously relied on CPU hotplug
    events for all CPUs to initialize the per CPU state. That only
    worked only on kernels with CONFIG_HOTPLUG_CPU enabled. On the
    others some CPUs didn't get their state initialized properly
    and vgetcpu wouldn't work.

    Change the initialization sequence to instead run in a normal
    initcall (which runs after the normal CPU bootup) and initialize
    all running CPUs there. Later hotplug CPUs are still handled
    with an hotplug notifier.

    This actually simplifies the code somewhat.

    Signed-off-by: Andi Kleen

    Andi Kleen
     
  • Timer overrides are normally disabled on Nvidia board because
    they are commonly wrong, except on new ones with HPET support.
    Unfortunately there are quite some Asus boards around that
    don't have HPET, but need a timer override.

    We don't know yet how to handle this transparently,
    but at least add a command line option to force the timer override
    and let them boot.

    Cc: len.brown@intel.com

    Signed-off-by: Andi Kleen

    Andi Kleen
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
    [IPVS]: More endianness fixed.
    [IPVS]: Compile fix for annotations in userland.

    Linus Torvalds
     

13 Nov, 2006

2 commits

  • If you call set_personality() with an expression such as:

    set_personality(foo ? PERS_FOO1 : PERS_FOO2);

    then this evaluates to:

    ((current->personality == foo ? PERS_FOO1 : PERS_FOO2) ? ...

    which is obviously not the intended result. Add the missing parents
    to ensure this gets evaluated as expected:

    ((current->personality == (foo ? PERS_FOO1 : PERS_FOO2)) ? ...

    Signed-off-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Russell King
     
  • Fix MSPEC driver to build for non SN2 enabled configs as the driver should
    work in cached and uncached modes (no fetchop) on these systems. In
    addition make MSPEC select IA64_UNCACHED_ALLOCATOR, which is required for
    it and move it to arch/ia64/Kconfig to avoid warnings on non ia64
    architectures running allmodconfig. Once the Kconfig code is fixed, we can
    move it back.

    Signed-off-by: Jes Sorensen
    Cc: Fernando Luis Vzquez Cao
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jes Sorensen