24 Oct, 2014

6 commits

  • Code before the .fixup section needs to have the .insn directive.
    This has no side effects on MIPS32/64 but it affects the way microMIPS
    loads the address for the return label.

    Fixes the following build problem:
    mips-linux-gnu-ld: arch/mips/built-in.o: .fixup+0x4a0: Unsupported jump between
    ISA modes; consider recompiling with interlinking enabled.
    mips-linux-gnu-ld: final link failed: Bad value
    Makefile:819: recipe for target 'vmlinux' failed

    The fix is similar to 1658f914ff91c3bf ("MIPS: microMIPS:
    Disable LL/SC and fix linker bug.")

    Signed-off-by: Markos Chandras
    Cc: stable@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/8117/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • When CONFIG_MIPS_MT_SMP is enabled, the following compilation error
    occurs:

    arch/mips/pmcs-msp71xx/msp_irq_cic.c:134: error: ‘irq’ undeclared

    This code clearly never saw a compiler.
    The surrounding code suggests, that 'd->irq' was intended, not
    'irq'.

    This error was found with vampyr.

    Signed-off-by: Stefan Hengelein
    Fixes: d7881fbdf866d7d0 ("MIPS: msp71xx: Convert to new irq_chip functions")
    Acked-by: Geert Uytterhoeven
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/8116/
    Signed-off-by: Ralf Baechle

    Stefan Hengelein
     
  • The malta-amon.c file provides functions to access the YAMON Monitoring
    interface to bring up secondary VPEs in case of SMP/CMP. As a
    result of which, there is no need to build it if CMP is not used.

    Signed-off-by: Markos Chandras
    Reviewed-by: Paul Burton
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/7993/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • The no-op cases of cop2_save & cop2_restore lead to the following
    warnings being emitted during build with recent versions of gcc (tested
    using gcc 4.8.3 from the Mentor Sourcery CodeBench 2014.05 toolchain):

    In file included from ./arch/mips/include/asm/switch_to.h:18:0,
    from kernel/sched/core.c:78:
    kernel/sched/core.c: In function 'finish_task_switch':
    include/asm-generic/current.h:6:45: warning: value computed is not used [-Wunused-value]
    #define get_current() (current_thread_info()->task)
    ^
    ./arch/mips/include/asm/cop2.h:48:32: note: in definition of macro 'cop2_restore'
    #define cop2_restore(r) do { (r); } while (0)
    ^
    include/asm-generic/current.h:7:17: note: in expansion of macro 'get_current'
    #define current get_current()
    ^
    ./arch/mips/include/asm/switch_to.h:114:16: note: in expansion of macro 'current'
    cop2_restore(current); \
    ^
    kernel/sched/core.c:2225:2: note: in expansion of macro 'finish_arch_switch'
    finish_arch_switch(prev);
    ^

    Avoid the warning by "using" the value by casting to void.

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

    Paul Burton
     
  • The MIPS_CPS_PM and MIPS_CPS_CPUIDLE implementation should depend
    on the MIPS_CPS symbol to avoid the following build problem

    arch/mips/kernel/pm-cps.c: In function 'cps_pm_enter_state':
    arch/mips/kernel/pm-cps.c:164:26: error: 'cpu_coherent_mask' undeclared
    (first use in this function)
    cpumask_clear_cpu(cpu, &cpu_coherent_mask);
    ^
    Signed-off-by: Markos Chandras
    Cc: Paul Burton
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/7798/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     
  • The __pastwait symbol was only used by the address_is_in_r4k_wait_irqoff
    function but this is no longer used since the SMTC removal in commit
    b633648c5ad3 ('MIPS: MT: Remove SMTC support'). That symbol also led to
    build failures under certain random configuration due to the way the
    compiler compiled the r4k_wait_irqoff function. If that function was
    called multiple times, the __pastwait symbol was redefined breaking the
    build like this:

    CHK include/generated/compile.h
    CC arch/mips/kernel/idle.o
    {standard input}: Assembler messages:
    {standard input}:527: Error: symbol `__pastwait' is already defined

    Link: http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=1244879922.24479.30.camel%40falcon
    Signed-off-by: Markos Chandras
    Cc: linux-mips@linux-mips.org
    Cc: Markos Chandras
    Patchwork: https://patchwork.linux-mips.org/patch/7791/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     

23 Oct, 2014

8 commits

  • Fixes the following randconfig build problem:

    arch/mips/built-in.o: In function `show_cpuinfo':
    proc.c:(.text+0xde84): undefined reference to `get_system_type'
    arch/mips/built-in.o: In function `sb1250_setup':
    (.init.text+0x428): undefined reference to `get_system_type'
    arch/mips/built-in.o: In function `setup_arch':
    (.init.text+0x178c): undefined reference to `plat_mem_setup'
    Makefile:930: recipe for target 'vmlinux' failed

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

    Markos Chandras
     
  • Commit a79ebea62010 (MIPS: ptrace: Fix user pt_regs definition,
    use in ptrace_{get, set}regs()) converted struct pt_regs to use __u64.
    Some userspace applications (e.g. GDB) include this file directly,
    and fail to see this type. Fix by including .

    The patch fixes the following build failure with GDB 7.8 when using
    GLIBC headers created against Linux 3.17:

    In file included from /home/aaro/los/work/shared/gdb-7.8/gdb/mips-linux-nat.c:37:0:
    /home/aaro/los/work/mips/rootfs/mips-linux-gnu/usr/include/asm/ptrace.h:32:2: error: unknown type name '__u64'
    __u64 regs[32];
    ^
    /home/aaro/los/work/mips/rootfs/mips-linux-gnu/usr/include/asm/ptrace.h:35:2: error: unknown type name '__u64'
    __u64 lo;
    ^
    /home/aaro/los/work/mips/rootfs/mips-linux-gnu/usr/include/asm/ptrace.h:36:2: error: unknown type name '__u64'
    __u64 hi;
    ^

    Fixes: a79ebea62010 ("MIPS: ptrace: Fix user pt_regs definition, use in ptrace_{get, set}regs()")
    Cc: stable@vger.kernel.org # 3.17
    Signed-off-by: Aaro Koskinen
    Cc: Alex Smith
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/8067/
    Signed-off-by: Ralf Baechle

    Aaro Koskinen
     
  • When CONFIG_PCI is disabled, 'db120_pci_init()' had a different
    signature than when was enabled. Therefore, compilation failed when
    CONFIG_PCI was not present.

    arch/mips/ath79/mach-db120.c:132: error: too many arguments to function 'db120_pci_init'

    This error was found with vampyr.

    Signed-off-by: Stefan Hengelein
    Reviewed-by: Markos Chandras
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Cc: geert@linux-m68k.org
    Patchwork: https://patchwork.linux-mips.org/patch/8119/
    Signed-off-by: Ralf Baechle

    Stefan Hengelein
     
  • When CONFIG_MIPS_MT is defined, code is enabled that tries to call
    'set_vi_handler()'. This function is declared in but the
    header is never included. Therefore, the compilation breaks.

    arch/mips/pmcs-msp71xx/msp_irq.c:133: error: implicit declaration of function 'set_vi_handler'

    This error was found with vampyr.

    Signed-off-by: Stefan Hengelein
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Cc: ryazanov.s.a@gmail.com
    Patchwork: https://patchwork.linux-mips.org/patch/8122/
    Signed-off-by: Ralf Baechle

    Stefan Hengelein
     
  • There is no reason to have the kernel to append commands when running
    under the simulator, the simulator is perfectly capable of supplying
    the necessary command line arguments. Furthermore, if the simulator
    needs something different than what is hard coded in the kernel, it
    cannot get it if the kernel overrides it.

    Fix/Simplify the whole thing by removing this bit.

    Signed-off-by: David Daney
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/8152/
    Signed-off-by: Ralf Baechle

    David Daney
     
  • In commit 8393c524a25609 (MIPS: tlbex: Fix a missing statement for
    HUGETLB), the TLB Refill handler was fixed so that non-OCTEON targets
    would work properly with huge pages. The change was incorrect in that
    it broke the OCTEON case.

    The problem is shown here:

    xxx0: df7a0000 ld k0,0(k1)
    .
    .
    .
    xxxc0: df610000 ld at,0(k1)
    xxxc4: 335a0ff0 andi k0,k0,0xff0
    xxxc8: e825ffcd bbit1 at,0x5,0x0
    xxxcc: 003ad82d daddu k1,at,k0
    .
    .
    .

    In the non-octeon case there is a destructive test for the huge PTE
    bit, and then at 0, $k0 is reloaded (that is what the 8393c524a25609
    patch added).

    In the octeon case, we modify k1 in the branch delay slot, but we
    never need k0 again, so the new load is not needed, but since k1 is
    modified, if we do the load, we load from a garbage location and then
    get a nested TLB Refill, which is seen in userspace as either SIGBUS
    or SIGSEGV (depending on the garbage).

    The real fix is to only do this reloading if it is needed, and never
    where it is harmful.

    Signed-off-by: David Daney
    Cc: Huacai Chen
    Cc: Fuxin Zhang
    Cc: Zhangjin Wu
    Cc: stable@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/8151/
    Signed-off-by: Ralf Baechle

    David Daney
     
  • During 3.16 merge window, parts of the commit 8e8acb32960f
    (MIPS/loongson2_cpufreq: Fix CPU clock rate setting) seem to have
    been deleted probably due to a mismerge, and as a result cpufreq
    is broken again on Loongson2 boards in 3.16 and newer kernels.
    Fix by repeating the fix.

    Signed-off-by: Aaro Koskinen
    Cc: stable@vger.kernel.org # 3.16
    Cc: Rafael J. Wysocki
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/7835/
    Signed-off-by: Ralf Baechle

    Aaro Koskinen
     
  • Sanity check on resource happening with devm_ioremap_resource()

    Signed-off-by: Varka Bhadram
    Acked-by: John Crispin
    Cc: linux-mips@linux-mips.org
    Cc: Varka Bhadram
    Patchwork: https://patchwork.linux-mips.org/patch/8199/
    Signed-off-by: Ralf Baechle

    Varka Bhadram
     

21 Oct, 2014

2 commits

  • The picvue_proc.c file creates the /proc interface for the PICVUE LCD
    display driver. As a result of which, it needs to depend on the PROC_FS
    symbol to avoid build problems like the following one when
    CONFIG_PROC_FS is not enabled.

    arch/mips/lasat/picvue_proc.c:26:14: error: 'pvc_linename'
    defined but not used [-Werror=unused-variable]
    static char *pvc_linename[PVC_NLINES] = {"line1", "line2"};
    ^

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

    Markos Chandras
     
  • Commit 08a07904e1828 ("MIPS: math-emu: Remove most ifdefery") removed
    the #ifdef ISA conditions and switched to runtime detection. However,
    according to the instruction set manual, the cop1x_op instructions are
    available in >=MIPS32r2 as well. This fixes a problem on MIPS32r2
    with the ntpd package which failed to execute with a SIGILL exit code due
    to the fact that a madd.d instruction was not being emulated.

    Signed-off-by: Markos Chandras
    Fixes: 08a07904e1828 ("MIPS: math-emu: Remove most ifdefery")
    Cc: # v3.16+
    Cc: linux-mips@linux-mips.org
    Reviewed-by: Paul Burton
    Reviewed-by: James Hogan
    Cc: Markos Chandras
    Patchwork: https://patchwork.linux-mips.org/patch/8173/
    Signed-off-by: Ralf Baechle

    Markos Chandras
     

20 Oct, 2014

15 commits

  • Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "A batch of fixes that have come in during the merge window.

    Some of them are defconfig updates for things that have now landed,
    some errata additions and a few general scattered fixes.

    There's also a qcom DT update that adds support for SATA on AP148, and
    basic support for Sony Xperia Z1 and CM-QS600 platforms that seemed
    isolated enough that we could merge it even if it's late"

    * tag 'arm-soc-fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    MAINTAINERS: corrected bcm2835 search
    ARM: dts: Explicitly set dr_mode on exynos5420-arndale-octa
    ARM: dts: Explicitly set dr_mode on exynos Peach boards
    ARM: dts: qcom: add CM-QS600 board
    ARM: dts: qcom: Add initial DTS file for Sony Xperia Z1 phone
    ARM: dts: qcom: Add SATA support on IPQ8064/AP148
    MAINTAINERS: Update Santosh Shilimkar's email id
    ARM: sunxi_defconfig: enable CONFIG_REGULATOR
    ARM: dts: Disable smc91x on n900 until bootloader dependency is removed
    ARM: omap2plus_defconfig: Enable ARM erratum 430973 for omap3
    ARM: exynos_defconfig: enable USB gadget support
    ARM: exynos_defconfig: Enable Maxim 77693 and I2C GPIO drivers
    ARM: mm: Fix ifdef around cpu_*_do_[suspend, resume] ops
    ARM: EXYNOS: Fix build with PM_SLEEP=n and ARM_EXYNOS_CPUIDLE=n
    ARM: SAMSUNG: Restore Samsung PM Debug functionality
    ARM: dts: Fix pull setting in sd4_width8 pin group for exynos4x12
    ARM: exynos_defconfig: Enable SBS battery support
    ARM: exynos_defconfig: Enable Control Groups support
    ARM: exynos_defconfig: Enable Atmel maXTouch support
    ARM: exynos_defconfig: Enable MAX77802

    Linus Torvalds
     
  • Pull audit updates from Eric Paris:
    "So this change across a whole bunch of arches really solves one basic
    problem. We want to audit when seccomp is killing a process. seccomp
    hooks in before the audit syscall entry code. audit_syscall_entry
    took as an argument the arch of the given syscall. Since the arch is
    part of what makes a syscall number meaningful it's an important part
    of the record, but it isn't available when seccomp shoots the
    syscall...

    For most arch's we have a better way to get the arch (syscall_get_arch)
    So the solution was two fold: Implement syscall_get_arch() everywhere
    there is audit which didn't have it. Use syscall_get_arch() in the
    seccomp audit code. Having syscall_get_arch() everywhere meant it was
    a useless flag on the stack and we could get rid of it for the typical
    syscall entry.

    The other changes inside the audit system aren't grand, fixed some
    records that had invalid spaces. Better locking around the task comm
    field. Removing some dead functions and structs. Make some things
    static. Really minor stuff"

    * git://git.infradead.org/users/eparis/audit: (31 commits)
    audit: rename audit_log_remove_rule to disambiguate for trees
    audit: cull redundancy in audit_rule_change
    audit: WARN if audit_rule_change called illegally
    audit: put rule existence check in canonical order
    next: openrisc: Fix build
    audit: get comm using lock to avoid race in string printing
    audit: remove open_arg() function that is never used
    audit: correct AUDIT_GET_FEATURE return message type
    audit: set nlmsg_len for multicast messages.
    audit: use union for audit_field values since they are mutually exclusive
    audit: invalid op= values for rules
    audit: use atomic_t to simplify audit_serial()
    kernel/audit.c: use ARRAY_SIZE instead of sizeof/sizeof[0]
    audit: reduce scope of audit_log_fcaps
    audit: reduce scope of audit_net_id
    audit: arm64: Remove the audit arch argument to audit_syscall_entry
    arm64: audit: Add audit hook in syscall_trace_enter/exit()
    audit: x86: drop arch from __audit_syscall_entry() interface
    sparc: implement is_32bit_task
    sparc: properly conditionalize use of TIF_32BIT
    ...

    Linus Torvalds
     
  • …galak/linux-qcom into fixes

    Merge "qcom DT changes for v3.18-3" from Kumar Gala:

    Qualcomm ARM Based Device Tree Updates for v3.18-3

    * Added Board support for CM-QS600 and Sony Xperia Z1 phone
    * Added SATA support on IPQ8064/AP148

    * tag 'qcom-dt-for-3.18-3' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom:
    ARM: dts: qcom: add CM-QS600 board
    ARM: dts: qcom: Add initial DTS file for Sony Xperia Z1 phone
    ARM: dts: qcom: Add SATA support on IPQ8064/AP148

    Olof Johansson
     
  • …ne/linux-samsung into fixes

    Pull more fixes from Kukjin Kim:

    2nd Samsung fixes for v3.18
    - Explicitly set dr_mode on exynos5800-peach-pi, exynos5420-peach-pit
    and exynos5420-arndale-octa boards, because the USB dwc3 controller
    will not work properly without dr_mode as host on above boards if
    the USB host and gadget are enabled in kernel configuration both.

    * tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
    ARM: dts: Explicitly set dr_mode on exynos5420-arndale-octa
    ARM: dts: Explicitly set dr_mode on exynos Peach boards

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • Corrected bcm2835 maintainer info by using N: to specify any files with
    bcm2835 in are directed to the proper maintainer.
    Also corrected minor mispelling of ARCHITECTURE in 2 comment locations.

    Signed-off-by: Scott Branden
    Signed-off-by: Stephen Warren
    Signed-off-by: Olof Johansson

    Scott Branden
     
  • Pull ntb (non-transparent bridge) updates from Jon Mason:
    "Add support for Haswell NTB split BARs, a debugfs entry for basic
    debugging info, and some code clean-ups"

    * tag 'ntb-3.18' of git://github.com/jonmason/ntb:
    ntb: Adding split BAR support for Haswell platforms
    ntb: use errata flag set via DID to implement workaround
    ntb: conslidate reading of PPD to move platform detection earlier
    ntb: move platform detection to separate function
    NTB: debugfs device entry

    Linus Torvalds
     
  • Pull i2c updates from Wolfram Sang:
    "Highlights from the I2C subsystem for 3.18:

    - new drivers for Axxia AM55xx, and Hisilicon hix5hd2 SoC.

    - designware driver gained AMD support, exynos gained exynos7 support

    The rest is usual driver stuff. Hopefully no lowlights this time"

    * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: i801: Add Device IDs for Intel Sunrise Point PCH
    i2c: hix5hd2: add i2c controller driver
    i2c-imx: Disable the clock on probe failure
    i2c: designware: Add support for AMD I2C controller
    i2c: designware: Rework probe() to get clock a bit later
    i2c: designware: Default to fast mode in case of ACPI
    i2c: axxia: Add I2C driver for AXM55xx
    i2c: exynos: add support for HSI2C module on Exynos7
    i2c: mxs: detect No Slave Ack on SELECT in PIO mode
    i2c: cros_ec: Remove EC_I2C_FLAG_10BIT
    i2c: cros-ec-tunnel: Add of match table
    i2c: rcar: remove sign-compare flaw
    i2c: ismt: Use minimum descriptor size
    i2c: imx: Add arbitration lost check
    i2c: rk3x: Remove unlikely() annotations
    i2c: rcar: check for no IRQ in rcar_i2c_irq()
    i2c: rcar: make rcar_i2c_prepare_msg() *void*
    i2c: rcar: simplify check for last message
    i2c: designware: add support of platform data to set I2C mode
    i2c: designware: add support of I2C standard mode

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "Here are a collection of small fixes after 3.18 merge.

    The urgent one is the fix for kernel panics with linked PCM substream
    triggered by the recent nonatomic PCM ops support. Other two fixes
    (emu10k1 and bebob) are stable fixes, and one easy PCI ID addition for
    a new Intel HD-audio controller"

    * tag 'sound-fix-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda_intel: Add Device IDs for Intel Sunrise Point PCH
    ALSA: emu10k1: Fix deadlock in synth voice lookup
    ALSA: pcm: Fix referred substream in snd_pcm_action_group() unlock loop
    ALSA: bebob: Fix failure to detect source of clock for Terratec Phase 88

    Linus Torvalds
     
  • Pull second round of input updates from Dmitry Torokhov:
    "Mostly simple bug fixes, although we do have one brand new driver for
    Microchip AR1021 i2c touchscreen.

    Also there is the change to stop trying to use i8042 active
    multiplexing by default (it is still possible to activate it via
    i8042.nomux=0 on boxes that implement it)"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: xpad - add Thrustmaster as Xbox 360 controller vendor
    Input: xpad - add USB ID for Thrustmaster Ferrari 458 Racing Wheel
    Input: max77693-haptic - fix state check in imax77693_haptic_disable()
    Input: xen-kbdfront - free grant table entry in xenkbd_disconnect_backend
    Input: alps - fix v4 button press recognition
    Input: i8042 - disable active multiplexing by default
    Input: i8042 - add noloop quirk for Asus X750LN
    Input: synaptics - gate forcepad support by DMI check
    Input: Add Microchip AR1021 i2c touchscreen
    Input: cros_ec_keyb - add of match table
    Input: serio - avoid negative serio device numbers
    Input: avoid negative input device numbers
    Input: automatically set EV_ABS bit in input_set_abs_params
    Input: adp5588-keys - cancel workqueue in failure path
    Input: opencores-kbd - switch to using managed resources
    Input: evdev - fix EVIOCG{type} ioctl

    Linus Torvalds
     
  • Pull infiniband/RDMA updates from Roland Dreier:
    - large set of iSER initiator improvements
    - hardware driver fixes for cxgb4, mlx5 and ocrdma
    - small fixes to core midlayer

    * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (47 commits)
    RDMA/cxgb4: Fix ntuple calculation for ipv6 and remove duplicate line
    RDMA/cxgb4: Add missing neigh_release in find_route
    RDMA/cxgb4: Take IPv6 into account for best_mtu and set_emss
    RDMA/cxgb4: Make c4iw_wr_log_size_order static
    IB/core: Fix XRC race condition in ib_uverbs_open_qp
    IB/core: Clear AH attr variable to prevent garbage data
    RDMA/ocrdma: Save the bit environment, spare unncessary parenthesis
    RDMA/ocrdma: The kernel has a perfectly good BIT() macro - use it
    RDMA/ocrdma: Don't memset() buffers we just allocated with kzalloc()
    RDMA/ocrdma: Remove a unused-label warning
    RDMA/ocrdma: Convert kernel VA to PA for mmap in user
    RDMA/ocrdma: Get vlan tag from ib_qp_attrs
    RDMA/ocrdma: Add default GID at index 0
    IB/mlx5, iser, isert: Add Signature API additions
    Target/iser: Centralize ib_sig_domain setting
    IB/iser: Centralize ib_sig_domain settings
    IB/mlx5: Use extended internal signature layout
    IB/iser: Set IP_CSUM as default guard type
    IB/iser: Remove redundant assignment
    IB/mlx5: Use enumerations for PI copy mask
    ...

    Linus Torvalds
     
  • Pull more perf updates from Ingo Molnar:
    "A second (and last) round of late coming fixes and changes, almost all
    of them in perf tooling:

    User visible tooling changes:

    - Add period data column and make it default in 'perf script' (Jiri
    Olsa)

    - Add a visual cue for toggle zeroing of samples in 'perf top'
    (Taeung Song)

    - Improve callchains when using libunwind (Namhyung Kim)

    Tooling fixes and infrastructure changes:

    - Fix for double free in 'perf stat' when using some specific invalid
    command line combo (Yasser Shalabi)

    - Fix off-by-one bugs in map->end handling (Stephane Eranian)

    - Fix off-by-one bug in maps__find(), also related to map->end
    handling (Namhyung Kim)

    - Make struct symbol->end be the first addr after the symbol range,
    to make it match the convention used for struct map->end. (Arnaldo
    Carvalho de Melo)

    - Fix perf_evlist__add_pollfd() error handling in 'perf kvm stat
    live' (Jiri Olsa)

    - Fix python test build by moving callchain_param to an object linked
    into the python binding (Jiri Olsa)

    - Document sysfs events/ interfaces (Cody P Schafer)

    - Fix typos in perf/Documentation (Masanari Iida)

    - Add missing 'struct option' forward declaration (Arnaldo Carvalho
    de Melo)

    - Add option to copy events when queuing for sorting across cpu
    buffers and enable it for 'perf kvm stat live', to avoid having
    events left in the queue pointing to the ring buffer be rewritten
    in high volume sessions. (Alexander Yarygin, improving work done
    by David Ahern):

    - Do not include a struct hists per perf_evsel, untangling the
    histogram code from perf_evsel, to pave the way for exporting a
    minimalistic tools/lib/api/perf/ library usable by tools/perf and
    initially by the rasd daemon being developed by Borislav Petkov,
    Robert Richter and Jean Pihet. (Arnaldo Carvalho de Melo)

    - Make perf_evlist__open(evlist, NULL, NULL), i.e. without cpu and
    thread maps mean syswide monitoring, reducing the boilerplate for
    tools that only want system wide mode. (Arnaldo Carvalho de Melo)

    - Move exit stuff from perf_evsel__delete to perf_evsel__exit, delete
    should be just a front end for exit + free (Arnaldo Carvalho de
    Melo)

    - Add support to new style format of kernel PMU event. (Kan Liang)

    and other misc fixes"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (45 commits)
    perf script: Add period as a default output column
    perf script: Add period data column
    perf evsel: No need to drag util/cgroup.h
    perf evlist: Add missing 'struct option' forward declaration
    perf evsel: Move exit stuff from __delete to __exit
    kprobes/x86: Remove stale ARCH_SUPPORTS_KPROBES_ON_FTRACE define
    perf kvm stat live: Enable events copying
    perf session: Add option to copy events when queueing
    perf Documentation: Fix typos in perf/Documentation
    perf trace: Use thread_{,_set}_priv helpers
    perf kvm: Use thread_{,_set}_priv helpers
    perf callchain: Create an address space per thread
    perf report: Set callchain_param.record_mode for future use
    perf evlist: Fix for double free in tools/perf stat
    perf test: Add test case for pmu event new style format
    perf tools: Add support to new style format of kernel PMU event
    perf tools: Parse the pmu event prefix and suffix
    Revert "perf tools: Default to cpu// for events v5"
    perf Documentation: Remove Ruplicated docs for powerpc cpu specific events
    perf Documentation: sysfs events/ interfaces
    ...

    Linus Torvalds
     
  • Pull sparc fixes from David Miller:
    "Here we have two bug fixes:

    1) The current thread's fault_code is not setup properly upon entry to
    do_sparc64_fault() in some paths, leading to spurious SIGBUS.

    2) Don't use a zero length array at the end of thread_info on sparc64,
    otherwise end_of_stack() isn't right"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sparc64: Do not define thread fpregs save area as zero-length array.
    sparc64: Fix corrupted thread fault code.

    Linus Torvalds
     
  • Pull networking fixes from David Miller:
    "A quick batch of bug fixes:

    1) Fix build with IPV6 disabled, from Eric Dumazet.

    2) Several more cases of caching SKB data pointers across calls to
    pskb_may_pull(), thus referencing potentially free'd memory. From
    Li RongQing.

    3) DSA phy code tests operation presence improperly, instead of going:

    if (x->ops->foo)
    r = x->ops->foo(args);

    it was going:

    if (x->ops->foo(args))
    r = x->ops->foo(args);

    Fix from Andew Lunn"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    Net: DSA: Fix checking for get_phy_flags function
    ipv6: fix a potential use after free in sit.c
    ipv6: fix a potential use after free in ip6_offload.c
    ipv4: fix a potential use after free in gre_offload.c
    tcp: fix build error if IPv6 is not enabled

    Linus Torvalds
     
  • The check for the presence or not of the optional switch function
    get_phy_flags() called the function, rather than checked to see if it
    is a NULL pointer. This causes a derefernce of a NULL pointer on all
    switch chips except the sf2, the only switch to implement this call.

    Signed-off-by: Andrew Lunn
    Fixes: 6819563e646a ("net: dsa: allow switch drivers to specify phy_device::dev_flags")
    Cc: Florian Fainelli
    Signed-off-by: David S. Miller

    Andrew Lunn
     

19 Oct, 2014

9 commits

  • This breaks the stack end corruption detection facility.

    What that facility does it write a magic value to "end_of_stack()"
    and checking to see if it gets overwritten.

    "end_of_stack()" is "task_thread_info(p) + 1", which for sparc64 is
    the beginning of the FPU register save area.

    So once the user uses the FPU, the magic value is overwritten and the
    debug checks trigger.

    Fix this by making the size explicit.

    Due to the size we use for the fpsaved[], gsr[], and xfsr[] arrays we
    are limited to 7 levels of FPU state saves. So each FPU register set
    is 256 bytes, allocate 256 * 7 for the fpregs area.

    Reported-by: Meelis Roos
    Signed-off-by: David S. Miller

    David S. Miller
     
  • Every path that ends up at do_sparc64_fault() must install a valid
    FAULT_CODE_* bitmask in the per-thread fault code byte.

    Two paths leading to the label winfix_trampoline (which expects the
    FAULT_CODE_* mask in register %g4) were not doing so:

    1) For pre-hypervisor TLB protection violation traps, if we took
    the 'winfix_trampoline' path we wouldn't have %g4 initialized
    with the FAULT_CODE_* value yet. Resulting in using the
    TLB_TAG_ACCESS register address value instead.

    2) In the TSB miss path, when we notice that we are going to use a
    hugepage mapping, but we haven't allocated the hugepage TSB yet, we
    still have to take the window fixup case into consideration and
    in that particular path we leave %g4 not setup properly.

    Errors on this sort were largely invisible previously, but after
    commit 4ccb9272892c33ef1c19a783cfa87103b30c2784 ("sparc64: sun4v TLB
    error power off events") we now have a fault_code mask bit
    (FAULT_CODE_BAD_RA) that triggers due to this bug.

    FAULT_CODE_BAD_RA triggers because this bit is set in TLB_TAG_ACCESS
    (see #1 above) and thus we get seemingly random bus errors triggered
    for user processes.

    Fixes: 4ccb9272892c ("sparc64: sun4v TLB error power off events")
    Reported-by: Meelis Roos
    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull slave-dmaengine updates from Vinod Koul:
    "For dmaengine contributions we have:
    - designware cleanup by Andy
    - my series moving device_control users to dmanegine_xxx APIs for
    later removal of device_control API
    - minor fixes spread over drivers mainly mv_xor, pl330, mmp, imx-sdma
    etc"

    * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (60 commits)
    serial: atmel: add missing dmaengine header
    dmaengine: remove FSLDMA_EXTERNAL_START
    dmaengine: freescale: remove FSLDMA_EXTERNAL_START control method
    carma-fpga: move to fsl_dma_external_start()
    carma-fpga: use dmaengine_xxx() API
    dmaengine: freescale: add and export fsl_dma_external_start()
    dmaengine: add dmaengine_prep_dma_sg() helper
    video: mx3fb: use dmaengine_terminate_all() API
    serial: sh-sci: use dmaengine_terminate_all() API
    net: ks8842: use dmaengine_terminate_all() API
    mtd: sh_flctl: use dmaengine_terminate_all() API
    mtd: fsmc_nand: use dmaengine_terminate_all() API
    V4L2: mx3_camer: use dmaengine_pause() API
    dmaengine: coh901318: use dmaengine_terminate_all() API
    pata_arasan_cf: use dmaengine_terminate_all() API
    dmaengine: edma: check for echan->edesc => NULL in edma_dma_pause()
    dmaengine: dw: export probe()/remove() and Co to users
    dmaengine: dw: enable and disable controller when needed
    dmaengine: dw: always export dw_dma_{en,dis}able
    dmaengine: dw: introduce dw_dma_on() helper
    ...

    Linus Torvalds
     
  • Pull fbdev updates from Tomi Valkeinen:
    - new 6x10 font
    - various small fixes and cleanups

    * tag 'fbdev-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (30 commits)
    fonts: Add 6x10 font
    videomode: provide dummy inline functions for !CONFIG_OF
    video/atmel_lcdfb: Introduce regulator support
    fbdev: sh_mobile_hdmi: Re-init regs before irq re-enable on resume
    framebuffer: fix screen corruption when copying
    framebuffer: fix border color
    arm, fbdev, omap2, LLVMLinux: Remove nested function from omapfb
    arm, fbdev, omap2, LLVMLinux: Remove nested function from omap2 dss
    video: fbdev: valkyriefb.c: use container_of to resolve fb_info_valkyrie from fb_info
    video: fbdev: pxafb.c: use container_of to resolve pxafb_info/layer from fb_info
    video: fbdev: cyber2000fb.c: use container_of to resolve cfb_info from fb_info
    video: fbdev: controlfb.c: use container_of to resolve fb_info_control from fb_info
    video: fbdev: sa1100fb.c: use container_of to resolve sa1100fb_info from fb_info
    video: fbdev: stifb.c: use container_of to resolve stifb_info from fb_info
    video: fbdev: sis: sis_main.c: Cleaning up missing null-terminate in conjunction with strncpy
    video: valkyriefb: Fix unused variable warning in set_valkyrie_clock()
    video: fbdev: use %*ph specifier to dump small buffers
    video: mx3fb: always enable BACKLIGHT_LCD_SUPPORT
    video: fbdev: au1200fb: delete double assignment
    video: fbdev: sis: delete double assignment
    ...

    Linus Torvalds
     
  • Pull second batch of changes for KVM/{arm,arm64} from Marc Zyngier:
    "The most obvious thing is the sizeable MMU changes to support 48bit
    VAs on arm64.

    Summary:

    - support for 48bit IPA and VA (EL2)
    - a number of fixes for devices mapped into guests
    - yet another VGIC fix for BE
    - a fix for CPU hotplug
    - a few compile fixes (disabled VGIC, strict mm checks)"

    [ I'm pulling directly from Marc at the request of Paolo Bonzini, whose
    backpack was stolen at Düsseldorf airport and will do new keys and
    rebuild his web of trust. - Linus ]

    * tag 'kvm-arm-for-3.18-take-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm:
    arm/arm64: KVM: Fix BE accesses to GICv2 EISR and ELRSR regs
    arm: kvm: STRICT_MM_TYPECHECKS fix for user_mem_abort
    arm/arm64: KVM: Ensure memslots are within KVM_PHYS_SIZE
    arm64: KVM: Implement 48 VA support for KVM EL2 and Stage-2
    arm/arm64: KVM: map MMIO regions at creation time
    arm64: kvm: define PAGE_S2_DEVICE as read-only by default
    ARM: kvm: define PAGE_S2_DEVICE as read-only by default
    arm/arm64: KVM: add 'writable' parameter to kvm_phys_addr_ioremap
    arm/arm64: KVM: fix potential NULL dereference in user_mem_abort()
    arm/arm64: KVM: use __GFP_ZERO not memset() to get zeroed pages
    ARM: KVM: fix vgic-disabled build
    arm: kvm: fix CPU hotplug

    Linus Torvalds
     
  • Pull MIPS updates from Ralf Baechle:
    "This is the MIPS pull request for the next kernel:

    - Zubair's patch series adds CMA support for MIPS. Doing so it also
    touches ARM64 and x86.
    - remove the last instance of IRQF_DISABLED from arch/mips
    - updates to two of the MIPS defconfig files.
    - cleanup of how cache coherency bits are handled on MIPS and
    implement support for write-combining.
    - platform upgrades for Alchemy
    - move MIPS DTS files to arch/mips/boot/dts/"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (24 commits)
    MIPS: ralink: remove deprecated IRQF_DISABLED
    MIPS: pgtable.h: Implement the pgprot_writecombine function for MIPS
    MIPS: cpu-probe: Set the write-combine CCA value on per core basis
    MIPS: pgtable-bits: Define the CCA bit for WC writes on Ingenic cores
    MIPS: pgtable-bits: Move the CCA bits out of the core's ifdef blocks
    MIPS: DMA: Add cma support
    x86: use generic dma-contiguous.h
    arm64: use generic dma-contiguous.h
    asm-generic: Add dma-contiguous.h
    MIPS: BPF: Add new emit_long_instr macro
    MIPS: ralink: Move device-trees to arch/mips/boot/dts/
    MIPS: Netlogic: Move device-trees to arch/mips/boot/dts/
    MIPS: sead3: Move device-trees to arch/mips/boot/dts/
    MIPS: Lantiq: Move device-trees to arch/mips/boot/dts/
    MIPS: Octeon: Move device-trees to arch/mips/boot/dts/
    MIPS: Add support for building device-tree binaries
    MIPS: Create common infrastructure for building built-in device-trees
    MIPS: SEAD3: Enable DEVTMPFS
    MIPS: SEAD3: Regenerate defconfigs
    MIPS: Alchemy: DB1300: Add touch penirq support
    ...

    Linus Torvalds
     
  • Pull powerpc fix from Michael Ellerman:
    "There was a bit of a misunderstanding between us and the ARM guys in
    the device tree PCI code, which is breaking virtio on powerpc.

    This is the minimal fix until we can sort it out properly"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux:
    powerpc/pci: Fix IO space breakage after of_pci_range_to_resource() change

    Linus Torvalds
     
  • Pull cifs/smb3 updates from Steve French:
    "Improved SMB3 support (symlink and device emulation, and remapping by
    default the 7 reserved posix characters) and a workaround for cifs
    mounts to Mac (working around a commonly encountered Mac server bug)"

    * 'for-linus' of git://git.samba.org/sfrench/cifs-2.6:
    [CIFS] Remove obsolete comment
    Check minimum response length on query_network_interface
    Workaround Mac server problem
    Remap reserved posix characters by default (part 3/3)
    Allow conversion of characters in Mac remap range (part 2)
    Allow conversion of characters in Mac remap range. Part 1
    mfsymlinks support for SMB2.1/SMB3. Part 2 query symlink
    Add mfsymlinks support for SMB2.1/SMB3. Part 1 create symlink
    Allow mknod and mkfifo on SMB2/SMB3 mounts
    add defines for two new file attributes

    Linus Torvalds
     
  • Pull dlm fix from David Teigland:
    "This includes a single commit fixing a missing endian conversion"

    * tag 'dlm-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
    dlm: fix missing endian conversion of rcom_status flags

    Linus Torvalds