31 Mar, 2014

1 commit

  • This patch adds a jited flag into sk_filter struct in order to indicate
    whether a filter is currently jited or not. The size of sk_filter is
    not being expanded as the 32 bit 'len' member allows upper bits to be
    reused since a filter can currently only grow as large as BPF_MAXINSNS.

    Therefore, there's enough room also for other in future needed flags to
    reuse 'len' field if necessary. The jited flag also allows for having
    alternative interpreter functions running as currently, we can only
    detect jit compiled filters by testing fp->bpf_func to not equal the
    address of sk_run_filter().

    Joint work with Alexei Starovoitov.

    Signed-off-by: Alexei Starovoitov
    Signed-off-by: Daniel Borkmann
    Cc: Pablo Neira Ayuso
    Signed-off-by: David S. Miller

    Daniel Borkmann
     

30 Mar, 2014

1 commit


29 Mar, 2014

1 commit

  • On x86 uniprocessor systems topology_physical_package_id() returns -1
    which causes rapl_cpu_prepare() to leave rapl_pmu variable uninitialized
    which leads to GPF in rapl_pmu_init().

    See arch/x86/kernel/cpu/perf_event_intel_rapl.c.

    It turns out that physical_package_id and core_id can actually be
    retreived for uniprocessor systems too. Enabling them also fixes
    rapl_pmu code.

    Signed-off-by: Artem Fetishev
    Cc: Stephane Eranian
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Artem Fetishev
     

27 Mar, 2014

1 commit

  • The packet hash can be considered a property of the packet, not just
    on RX path.

    This patch changes name of rxhash and l4_rxhash skbuff fields to be
    hash and l4_hash respectively. This includes changing uses of the
    field in the code which don't call the access functions.

    Signed-off-by: Tom Herbert
    Signed-off-by: Eric Dumazet
    Cc: Mahesh Bandewar
    Signed-off-by: David S. Miller

    Tom Herbert
     

26 Mar, 2014

1 commit


25 Mar, 2014

5 commits

  • This reverts commit a9c8e4beeeb64c22b84c803747487857fe424b68.

    PTEs in Xen PV guests must contain machine addresses if _PAGE_PRESENT
    is set and pseudo-physical addresses is _PAGE_PRESENT is clear.

    This is because during a domain save/restore (migration) the page
    table entries are "canonicalised" and uncanonicalised". i.e., MFNs are
    converted to PFNs during domain save so that on a restore the page
    table entries may be rewritten with the new MFNs on the destination.
    This canonicalisation is only done for PTEs that are present.

    This change resulted in writing PTEs with MFNs if _PAGE_PROTNONE (or
    _PAGE_NUMA) was set but _PAGE_PRESENT was clear. These PTEs would be
    migrated as-is which would result in unexpected behaviour in the
    destination domain. Either a) the MFN would be translated to the
    wrong PFN/page; b) setting the _PAGE_PRESENT bit would clear the PTE
    because the MFN is no longer owned by the domain; or c) the present
    bit would not get set.

    Symptoms include "Bad page" reports when munmapping after migrating a
    domain.

    Signed-off-by: David Vrabel
    Acked-by: Konrad Rzeszutek Wilk
    Cc: [3.12+]

    David Vrabel
     
  • Pull parisc updates from Helge Deller:
    - revert parts of the latest patch regarding font selection with STICON
    console
    - wire up the utimes() syscall for parisc
    - remove the unused parisc tmpalias code and unnecessary arch*relax
    defines

    * 'parisc-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    parisc: locks: remove redundant arch_*_relax operations
    parisc: wire up sys_utimes
    parisc: Remove unused CONFIG_PARISC_TMPALIAS code
    partly revert commit 8a10bc9: parisc/sti_console: prefer Linux fonts over built-in ROM fonts

    Linus Torvalds
     
  • Pull sparc fixes from David Miller:

    1) Do serial locking in a way that makes things clear that these are
    IRQ spinlocks.

    2) Conversion to generic idle loop broke first generation Niagara
    machines, need to have %pil interrupts enabled during cpu yield
    hypervisor call.

    3) Do not use magic constants for iterations over tsb tables, from Doug
    Wilson.

    4) Fix erroneous truncation of 64-bit system call return values to
    32-bit. From Dave Kleikamp.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sparc64: Make sure %pil interrupts are enabled during hypervisor yield.
    sparc64:tsb.c:use array size macro rather than number
    sparc64: don't treat 64-bit syscall return codes as 32-bit
    sparc: serial: Clean up the locking for -rt

    Linus Torvalds
     
  • Replace dev_kfree_skb with dev_consume_skb_any in uml_net_start_xmit
    as it can be called in hard irq and other contexts.

    dev_consume_skb_any is used as uml_net_start_xmit typically
    consumes (not drops) packets.

    Signed-off-by: "Eric W. Biederman"

    Eric W. Biederman
     
  • In arch_cpu_idle() we must enable %pil based interrupts before
    potentially invoking the hypervisor cpu yield call.

    As per the Hypervisor API documentation for cpu_yield:

    Interrupts which are blocked by some mechanism other that
    pstate.ie (for example %pil) are not guaranteed to cause
    a return from this service.

    It seems that only first generation Niagara chips are hit by this
    bug. My best guess is that later chips implement this in hardware
    and wake up anyways from %pil events, whereas in first generation
    chips the yield is implemented completely in hypervisor code and
    requires %pil to be enabled in order to wake properly from this
    call.

    Fixes: 87fa05aeb3a5 ("sparc: Use generic idle loop")
    Reported-by: Fabio M. Di Nitto
    Reported-by: Jan Engelhardt
    Tested-by: Jan Engelhardt
    Signed-off-by: David S. Miller

    David S. Miller
     

24 Mar, 2014

1 commit


23 Mar, 2014

3 commits

  • We seem to be nearly the only platform which does not provide the
    sys_utimes syscall. Adding it now makes our life much easier with
    userspace applications (like dietlibc and e2fsprogs) since we then
    behave like all other platforms too and don't need extra patches which
    are hard to get upstream anyway because we are not a mainstream
    architecture.

    Signed-off-by: Helge Deller
    Cc: stable@vger.kernel.org # v3.13

    Helge Deller
     
  • The attached change removes the unused and experimental
    CONFIG_PARISC_TMPALIAS code. It doesn't work and I don't believe it will
    ever be used.

    Signed-off-by: John David Anglin
    Signed-off-by: Helge Deller

    John David Anglin
     
  • Pull ARM SoC fixes from Olof Johansson:
    "Only two patches this time, one to fix ethernet probe order on at91
    (better fix with proper device aliasing will be done for 3.15, this is
    stop-gap), and one update to MAINTAINERS due to Freescale moving their
    repo to kernel.org"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: at91: fix network interface ordering for sama5d36
    MAINTAINERS: update IMX kernel git tree

    Linus Torvalds
     

21 Mar, 2014

1 commit

  • Pull MIPS fixes from Ralf Baechle:
    "Another set of five fixes. The most interesting one is a fix for race
    condition in the local_irq_disable() implementation used by .S code
    for pre-MIPS R2 processors only. It leaves a race that's hard but not
    impossible to hit; the others fairly obvious"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: Make local_irq_disable macro safe for non-Mipsr2
    MIPS: Octeon: Fix warning in of_device_alloc on cn3xxx
    MIPS: ftrace: Tweak safe_load()/safe_store() macros
    MIPS: BCM47XX: Check all (32) GPIOs when looking for a pin
    MIPS: Fix possible build error with transparent hugepages enabled

    Linus Torvalds
     

20 Mar, 2014

4 commits

  • For non-mipsr2 processors, the local_irq_disable contains an mfc0-mtc0
    pair with instructions inbetween. With preemption enabled, this sequence
    may get preempted and effect a stale value of CP0_STATUS when executing
    the mtc0 instruction. This commit avoids this scenario by incrementing
    the preempt count before the mfc0 and decrementing it after the mtc9.

    [ralf@linux-mips.org: This patch is sorting out the part that were missed
    by e97c5b6098 [MIPS: Make irqflags.h functions preempt-safe for non-mipsr2
    cpus.] I also re-enabled the inclusion of at the top
    of ].

    Signed-off-by: Jim Quinlan
    Cc: linux-mips@linux-mips.org
    Cc: cernekee@gmail.com
    Patchwork: https://patchwork.linux-mips.org/patch/6164/
    Signed-off-by: Ralf Baechle

    Jim Quinlan
     
  • Pull PCI resource management fix from Bjorn Helgaas:
    "This is a fix for an AGP regression exposed by e501b3d87f00 ("agp:
    Support 64-bit APBASE"), which we merged in v3.14-rc1.

    We've warned about the conflict between the GART and PCI resources and
    cleared out the PCI resource for a long time, but after e501b3d87f00,
    we still *use* that cleared-out PCI resource. I think the GART
    resource is incorrect, so this patch removes it"

    * tag 'pci-v3.14-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    Revert "[PATCH] Insert GART region into resource map"

    Linus Torvalds
     
  • Starting with commit 3da5278727a895d49a601f67fd49dffa0b80f9a5 (of/irq:
    Rework of_irq_count()) the following warning is triggered on octeon
    cn3xxx:

    [ 0.887281] WARNING: CPU: 0 PID: 1 at drivers/of/platform.c:171 of_device_alloc+0x228/0x230()
    [ 0.895642] Modules linked in:
    [ 0.898689] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.14.0-rc7-00012-g9ae51f2-dirty #41
    [ 0.906860] Stack : c8b439581166d96e ffffffff816b0000 0000000040808000 ffffffff81185ddc
    [ 0.906860] 0000000000000000 0000000000000000 0000000000000000 000000000000000b
    [ 0.906860] 000000000000000a 000000000000000a 0000000000000000 0000000000000000
    [ 0.906860] ffffffff81740000 ffffffff81720000 ffffffff81615900 ffffffff816b0177
    [ 0.906860] ffffffff81727d10 800000041f868fb0 0000000000000001 0000000000000000
    [ 0.906860] 0000000000000000 0000000000000038 0000000000000001 ffffffff81568484
    [ 0.906860] 800000041f86faa8 ffffffff81145ddc 0000000000000000 ffffffff811873f4
    [ 0.906860] 800000041f868b88 800000041f86f9c0 0000000000000000 ffffffff81569c9c
    [ 0.906860] 0000000000000000 0000000000000000 0000000000000000 0000000000000000
    [ 0.906860] 0000000000000000 ffffffff811205e0 0000000000000000 0000000000000000
    [ 0.906860] ...
    [ 0.971695] Call Trace:
    [ 0.974139] [] show_stack+0x68/0x80
    [ 0.979183] [] dump_stack+0x8c/0xe0
    [ 0.984196] [] warn_slowpath_common+0x84/0xb8
    [ 0.990110] [] of_device_alloc+0x228/0x230
    [ 0.995726] [] of_platform_device_create_pdata+0x48/0xd0
    [ 1.002593] [] of_platform_bus_create+0x134/0x1e8
    [ 1.008837] [] of_platform_bus_create+0x198/0x1e8
    [ 1.015064] [] of_platform_bus_probe+0xa4/0x100
    [ 1.021149] [] do_one_initcall+0xd8/0x128
    [ 1.026701] [] kernel_init_freeable+0x144/0x210
    [ 1.032753] [] kernel_init+0x14/0x110
    [ 1.037973] [] ret_from_kernel_thread+0x14/0x1c

    With this commit the kernel starts mapping the interrupts listed for
    gpio-controller node. irq_domain_ops for CIU (octeon_irq_ciu_map and
    octeon_irq_ciu_xlat) refuse to handle the GPIO lines (returning -EINVAL)
    and this is causing above warning in of_device_alloc().

    Modify irq_domain_ops for CIU and CIU2 to "gracefully handle" GPIO
    lines (neither return error code nor call octeon_irq_set_ciu_mapping
    for it). This should avoid the warning.

    (As before the real setup for GPIO lines will happen using
    irq_domain_ops of gpio-controller.)

    This patch is based on Wei's patch v2 (see
    http://marc.info/?l=linux-mips&m=139511814813247).

    Signed-off-by: Andreas Herrmann
    Reported-by: Yang Wei
    Acked-by: David Daney
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/6624/
    Signed-off-by: Ralf Baechle

    Andreas Herrmann
     
  • Due to name collision in ftrace safe_load and safe_store macros,
    these macros cannot take expressions as operands.

    For example, compiler will complain for a macro call like the following:
    safe_store_code(new_code2, ip + 4, faulted);

    arch/mips/include/asm/ftrace.h:61:6: note: in definition of macro 'safe_store'
    : [dst] "r" (dst), [src] "r" (src)\
    ^
    arch/mips/kernel/ftrace.c:118:2: note: in expansion of macro 'safe_store_code'
    safe_store_code(new_code2, ip + 4, faulted);
    ^
    arch/mips/kernel/ftrace.c:118:32: error: undefined named operand 'ip + 4'
    safe_store_code(new_code2, ip + 4, faulted);
    ^
    arch/mips/include/asm/ftrace.h:61:6: note: in definition of macro 'safe_store'
    : [dst] "r" (dst), [src] "r" (src)\
    ^
    arch/mips/kernel/ftrace.c:118:2: note: in expansion of macro 'safe_store_code'
    safe_store_code(new_code2, ip + 4, faulted);
    ^

    This build error is triggered by a4671094 [MIPS: ftrace: Fix icache flush
    range error]. Tweak variable naming in those macros to allow flexible
    operands.

    Signed-off-by: Viller Hsiao
    Cc: linux-mips@linux-mips.org
    Cc: rostedt@goodmis.org
    Cc: fweisbec@gmail.com
    Cc: mingo@redhat.com
    Cc: Qais.Yousef@imgtec.com
    Patchwork: https://patchwork.linux-mips.org/patch/6622/
    Signed-off-by: Ralf Baechle

    Viller Hsiao
     

19 Mar, 2014

3 commits

  • Broadcom boards support 32 GPIOs and NVRAM may have entires for higher
    ones too. Example:
    gpio23=wombo_reset

    Signed-off-by: Rafa? Mi?ecki
    Acked-by: Hauke Mehrtens
    Cc: linux-mips@linux-mips.org
    Cc: Rafał Miłecki
    Patchwork: https://patchwork.linux-mips.org/patch/6547/
    Signed-off-by: Ralf Baechle

    Rafał Miłecki
     
  • This reverts commit 56dd669a138c, which makes the GART visible in
    /proc/iomem. This fixes a regression: e501b3d87f00 ("agp: Support 64-bit
    APBASE") exposed an existing problem with a conflict between the GART
    region and a PCI BAR region.

    The GART addresses are bus addresses, not CPU addresses, and therefore
    should not be inserted in iomem_resource.

    On many machines, the GART region is addressable by the CPU as well as by
    an AGP master, but CPU addressability is not required by the spec. On some
    of these machines, the GART is mapped by a PCI BAR, and in that case, the
    PCI core automatically inserts it into iomem_resource, just as it does for
    all BARs.

    Inserting it here means we'll have a conflict if the PCI core later tries
    to claim the GART region, so let's drop the insertion here.

    The conflict indirectly causes X failures, as reported by Jouni in the
    bugzilla below. We detected the conflict even before e501b3d87f00, but
    after it the AGP code (fix_northbridge()) uses the PCI resource (which is
    zeroed because of the conflict) instead of reading the BAR again.

    Conflicts:
    arch/x86_64/kernel/aperture.c

    Fixes: e501b3d87f00 agp: Support 64-bit APBASE
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=72201
    Reported-and-tested-by: Jouni Mettälä
    Signed-off-by: Bjorn Helgaas

    Bjorn Helgaas
     
  • Pull another kvm fix from Paolo Bonzini:
    "A fix for a PowerPC bug that was introduced during the 3.14 merge
    window"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: PPC: Book3S HV: Fix register usage when loading/saving VRSAVE
    KVM: PPC: Book3S HV: Remove bogus duplicate code

    Linus Torvalds
     

18 Mar, 2014

4 commits

  • If CONFIG_TRANSPARENT_HUGEPAGE is enabled, but CONFIG_HUGETLB_PAGE is not,
    it is possible to end up with a configuration that fails to build with the
    following error:

    include/linux/huge_mm.h:125:2: error: #error "hugepages can't be allocated by the buddy allocator"

    This is due to CONFIG_FORCE_MAX_ZONEORDER defaulting to 11. It already has
    ranges that change the valid values when HUGETLB_PAGE is enabled, but this
    is not done for TRANSPARENT_HUGEPAGE. Fix by changing the HUGETLB_PAGE
    dependencies to MIPS_HUGE_TLB_SUPPORT, which includes both
    TRANSPARENT_HUGEPAGE and HUGETLB_PAGE.

    Signed-off-by: Alex Smith
    Reviewed-by: Markos Chandras
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/6391/
    Signed-off-by: Ralf Baechle

    Alex Smith
     
  • Pull MIPS updates from Ralf Baechle:
    "A fair number of fixes all across arch/mips. Nothing really stands
    out though APRP, the FPU code and syscall tracing code received
    multiple patches those all were small"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
    MIPS: mark O32+FP64 experimental for now
    MIPS: ftrace: Fix icache flush range error
    MIPS: Fix syscall tracing interface
    MIPS: asm: syscall: Fix copying system call arguments
    MIPS: Octeon: Fix fall through on bar type OCTEON_DMA_BAR_TYPE_SMALL
    MIPS: FPU: Fix conflict of register usage
    MIPS: Replace CONFIG_MIPS64 and CONFIG_MIPS32_R2
    MIPS: math-emu: Fix prefx detection and COP1X function field definition
    MIPS: APRP: Choose the correct VPE loader by fixing the linking
    MIPS: APRP: Unregister rtlx interrupt hook at module exit
    MIPS: APRP: Fix the linking of rtlx interrupt hook
    MIPS: bcm47xx: Include missing errno.h for ENXIO
    MIPS: Alchemy: Fix unchecked kstrtoul return value
    MIPS: Fix randconfig build error.

    Linus Torvalds
     
  • This is a small patch which uses ARRAY_SIZE macro
    rather than a number to make code readability better.

    Signed-off-by: Doug Wilson
    Signed-off-by: David S. Miller

    Doug Wilson
     
  • When checking a system call return code for an error,
    linux_sparc_syscall was sign-extending the lower 32-bit value and
    comparing it to -ERESTART_RESTARTBLOCK. lseek can return valid return
    codes whose lower 32-bits alone would indicate a failure (such as 4G-1).
    Use the whole 64-bit value to check for errors. Only the 32-bit path
    should sign extend the lower 32-bit value.

    Signed-off-by: Dave Kleikamp
    Acked-by: Bob Picco
    Acked-by: Allen Pais
    Cc: David S. Miller
    Cc: sparclinux@vger.kernel.org
    Signed-off-by: David S. Miller

    Dave Kleikamp
     

17 Mar, 2014

5 commits

  • Commit 597ce1723e0f "MIPS: Support for 64-bit FP with O32 binaries"
    introduced support for setting Status.FR=1 for O32 binaries with the
    EF_MIPS_FP64 ELF header flag set. Whilst this flag is currently
    supported by binutils it does introduce an ABI break within userland.
    Objects built with EF_MIPS_FP64 cannot be safely linked with those built
    without it since code in either object may assume behaviour specific to
    a value of FR.

    More recently there has been discussion around avoiding further
    fragmentation of the O32 ABI whilst still allowing the use of FR=1 and
    features such as MSA which depend upon it. Details of the plan to allow
    this are still being worked on, and whilst the kernel will need the
    ability to handle FR=1 with O32 tasks it is unclear what else it may
    need to provide to a userland which seeks to avoid another ABI break. In
    order to prevent the proliferation of userland which may rely upon the
    current EF_MIPS_FP64 behaviour this patch marks the kernel support for
    it experimental & disables it by default. Under current proposals it is
    likely that this support can simply be enabled again later, but possibly
    after the introduction of further interfaces with userland and support
    for the MIPS R5 UFR feature.

    Signed-off-by: Paul Burton
    Cc: Matthew Fortune
    Cc: linux-mips@linux-mips.org
    Cc: Paul Burton
    Patchwork: https://patchwork.linux-mips.org/patch/6549/
    Signed-off-by: Ralf Baechle

    Paul Burton
     
  • In 32-bit mode, the start address passed to flush_icache_range is
    shifted by 4 bytes before the second safe_store_code() call.

    This causes system crash from time to time because the first 4 bytes
    might not be flushed properly. This bug exists since linux-3.8.

    Also remove obsoleted comment while at it.

    Signed-off-by: Viller Hsiao
    Cc: linux-mips@linux-mips.org
    Cc: rostedt@goodmis.org
    Cc: fweisbec@gmail.com
    Cc: mingo@redhat.com
    Cc: Qais.Yousef@imgtec.com
    Patchwork: https://patchwork.linux-mips.org/patch/6586/
    Signed-off-by: Ralf Baechle

    Viller Hsiao
     
  • Fix pointer computation for stack-based arguments.

    Signed-off-by: Lars Persson
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/6620/
    Signed-off-by: Ralf Baechle

    Lars Persson
     
  • The syscall_get_arguments function expects the arguments to be copied
    to the '*args' argument but instead a local variable was used to hold
    the system call argument. As a result of which, this variable was
    never passed to the filter and any filter testing the system call
    arguments would fail. This is fixed by passing the '*args' variable
    as the destination memory for the system call arguments.

    Signed-off-by: Markos Chandras
    Reviewed-by: Paul Burton
    Reviewed-by: James Hogan
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/6402/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • Pull perf fixes from Ingo Molnar:
    "Misc smaller fixes"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/x86: Fix leak in uncore_type_init failure paths
    perf machine: Use map as success in ip__resolve_ams
    perf symbols: Fix crash in elf_section_by_name
    perf trace: Decode architecture-specific signal numbers

    Linus Torvalds
     

15 Mar, 2014

5 commits

  • Conflicts:
    drivers/net/usb/r8152.c
    drivers/net/xen-netback/netback.c

    Both the r8152 and netback conflicts were simple overlapping
    changes.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull x86 fixes from Peter Anvin:
    "Two x86 fixes: Suresh's eager FPU fix, and a fix to the NUMA quirk for
    AMD northbridges.

    This only includes Suresh's fix patch, not the "mostly a cleanup"
    patch which had __init issues"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/amd/numa: Fix northbridge quirk to assign correct NUMA node
    x86, fpu: Check tsk_used_math() in kernel_fpu_end() for eager FPU

    Linus Torvalds
     
  • Bar type OCTEON_DMA_BAR_TYPE_SMALL assigns lo and hi addresses and
    then falls through to OCTEON_DMA_BAR_TYPE_BIG that re-assignes lo and
    hi addresses with totally different values. Add a break so we don't
    fall through.

    Signed-off-by: Colin Ian King
    Acked-by: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/6529/
    Signed-off-by: Ralf Baechle

    Colin Ian King
     
  • In _restore_fp_context/_restore_fp_context32, t0 is used for both
    CP0_Status and CP1_FCSR. This is a mistake and cause FP exeception on
    boot, so fix it.

    Signed-off-by: Huacai Chen
    Tested-by: Aaro Koskinen
    Tested-by: Andreas Barth
    Cc: John Crispin
    Cc: Steven J. Hill
    Cc: Aurelien Jarno
    Cc: linux-mips@linux-mips.org
    Cc: Fuxin Zhang
    Cc: Zhangjin Wu
    Patchwork: https://patchwork.linux-mips.org/patch/6507/
    Signed-off-by: Ralf Baechle

    Huacai Chen
     
  • Commit 597ce1723e0f ("MIPS: Support for 64-bit FP with O32 binaries")
    introduced references to two undefined Kconfig macros. CONFIG_MIPS32_R2
    should clearly be replaced with CONFIG_CPU_MIPS32_R2. And CONFIG_MIPS64
    should be replaced with CONFIG_64BIT.

    Signed-off-by: Paul Bolle
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/6522/
    Tested-by: Aaro Koskinen
    Signed-off-by: Ralf Baechle

    Paul Bolle
     

14 Mar, 2014

3 commits

  • For systems with multiple servers and routed fabric, all
    northbridges get assigned to the first server. Fix this by also
    using the node reported from the PCI bus. For single-fabric
    systems, the northbriges are on PCI bus 0 by definition, which
    are on NUMA node 0 by definition, so this is invarient on most
    systems.

    Tested on fam10h and fam15h single and multi-fabric systems and
    candidate for stable.

    Signed-off-by: Daniel J Blueman
    Acked-by: Steffen Persvold
    Acked-by: Borislav Petkov
    Cc:
    Link: http://lkml.kernel.org/r/1394710981-3596-1-git-send-email-daniel@numascale.com
    Signed-off-by: Ingo Molnar

    Daniel J Blueman
     
  • Pull networking fixes from David Miller:
    "I know this is a bit more than you want to see, and I've told the
    wireless folks under no uncertain terms that they must severely scale
    back the extent of the fixes they are submitting this late in the
    game.

    Anyways:

    1) vmxnet3's netpoll doesn't perform the equivalent of an ISR, which
    is the correct implementation, like it should. Instead it does
    something like a NAPI poll operation. This leads to crashes.

    From Neil Horman and Arnd Bergmann.

    2) Segmentation of SKBs requires proper socket orphaning of the
    fragments, otherwise we might access stale state released by the
    release callbacks.

    This is a 5 patch fix, but the initial patches are giving
    variables and such significantly clearer names such that the
    actual fix itself at the end looks trivial.

    From Michael S. Tsirkin.

    3) TCP control block release can deadlock if invoked from a timer on
    an already "owned" socket. Fix from Eric Dumazet.

    4) In the bridge multicast code, we must validate that the
    destination address of general queries is the link local all-nodes
    multicast address. From Linus Lüssing.

    5) The x86 BPF JIT support for negative offsets puts the parameter
    for the helper function call in the wrong register. Fix from
    Alexei Starovoitov.

    6) The descriptor type used for RTL_GIGA_MAC_VER_17 chips in the
    r8169 driver is incorrect. Fix from Hayes Wang.

    7) The xen-netback driver tests skb_shinfo(skb)->gso_type bits to see
    if a packet is a GSO frame, but that's not the correct test. It
    should use skb_is_gso(skb) instead. Fix from Wei Liu.

    8) Negative msg->msg_namelen values should generate an error, from
    Matthew Leach.

    9) at86rf230 can deadlock because it takes the same lock from it's
    ISR and it's hard_start_xmit method, without disabling interrupts
    in the latter. Fix from Alexander Aring.

    10) The FEC driver's restart doesn't perform operations in the correct
    order, so promiscuous settings can get lost. Fix from Stefan
    Wahren.

    11) Fix SKB leak in SCTP cookie handling, from Daniel Borkmann.

    12) Reference count and memory leak fixes in TIPC from Ying Xue and
    Erik Hugne.

    13) Forced eviction in inet_frag_evictor() must strictly make sure all
    frags are deleted, otherwise module unload (f.e. 6lowpan) can
    crash. Fix from Florian Westphal.

    14) Remove assumptions in AF_UNIX's use of csum_partial() (which it
    uses as a hash function), which breaks on PowerPC. From Anton
    Blanchard.

    The main gist of the issue is that csum_partial() is defined only
    as a value that, once folded (f.e. via csum_fold()) produces a
    correct 16-bit checksum. It is legitimate, therefore, for
    csum_partial() to produce two different 32-bit values over the
    same data if their respective alignments are different.

    15) Fix endiannes bug in MAC address handling of ibmveth driver, also
    from Anton Blanchard.

    16) Error checks for ipv6 exthdrs offload registration are reversed,
    from Anton Nayshtut.

    17) Externally triggered ipv6 addrconf routes should count against the
    garbage collection threshold. Fix from Sabrina Dubroca.

    18) The PCI shutdown handler added to the bnx2 driver can wedge the
    chip if it was not brought up earlier already, which in particular
    causes the firmware to shut down the PHY. Fix from Michael Chan.

    19) Adjust the sanity WARN_ON_ONCE() in qdisc_list_add() because as
    currently coded it can and does trigger in legitimate situations.
    From Eric Dumazet.

    20) BNA driver fails to build on ARM because of a too large udelay()
    call, fix from Ben Hutchings.

    21) Fair-Queue qdisc holds locks during GFP_KERNEL allocations, fix
    from Eric Dumazet.

    22) The vlan passthrough ops added in the previous release causes a
    regression in source MAC address setting of outgoing headers in
    some circumstances. Fix from Peter Boström"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (70 commits)
    ipv6: Avoid unnecessary temporary addresses being generated
    eth: fec: Fix lost promiscuous mode after reconnecting cable
    bonding: set correct vlan id for alb xmit path
    at86rf230: fix lockdep splats
    net/mlx4_en: Deregister multicast vxlan steering rules when going down
    vmxnet3: fix building without CONFIG_PCI_MSI
    MAINTAINERS: add networking selftests to NETWORKING
    net: socket: error on a negative msg_namelen
    MAINTAINERS: Add tools/net to NETWORKING [GENERAL]
    packet: doc: Spelling s/than/that/
    net/mlx4_core: Load the IB driver when the device supports IBoE
    net/mlx4_en: Handle vxlan steering rules for mac address changes
    net/mlx4_core: Fix wrong dump of the vxlan offloads device capability
    xen-netback: use skb_is_gso in xenvif_start_xmit
    r8169: fix the incorrect tx descriptor version
    tools/net/Makefile: Define PACKAGE to fix build problems
    x86: bpf_jit: support negative offsets
    bridge: multicast: enable snooping on general queries only
    bridge: multicast: add sanity check for general query destination
    tcp: tcp_release_cb() should release socket ownership
    ...

    Linus Torvalds
     
  • …wireless-next into for-davem

    Conflicts:
    drivers/net/wireless/ath/ath9k/recv.c

    John W. Linville
     

13 Mar, 2014

1 commit

  • Commit 595e4f7e697e ("KVM: PPC: Book3S HV: Use load/store_fp_state
    functions in HV guest entry/exit") changed the register usage in
    kvmppc_save_fp() and kvmppc_load_fp() but omitted changing the
    instructions that load and save VRSAVE. The result is that the
    VRSAVE value was loaded from a constant address, and saved to a
    location past the end of the vcpu struct, causing host kernel
    memory corruption and various kinds of host kernel crashes.

    This fixes the problem by using register r31, which contains the
    vcpu pointer, instead of r3 and r4.

    Signed-off-by: Paul Mackerras
    Signed-off-by: Paolo Bonzini

    Paul Mackerras