1. 09 Jan, 2020 20 commits
    • Thomas Bogendoerfer's avatar
      MIPS: SGI-IP27: Use union instead of typedef · db96e058
      Thomas Bogendoerfer authored
      The upcoming header files for SGI-IP35 shouldn't add new typedef. To
      be able to share ip27-hubio.c we need to access register layouts no
      longer via a typedef.
      Signed-off-by: default avatarThomas Bogendoerfer <tbogendoerfer@suse.de>
      Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: James Hogan <jhogan@kernel.org>
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      db96e058
    • Thomas Bogendoerfer's avatar
      MIPS: SGI-IP27: Split kldir.h into generic SN and IP27 parts · aa2d74f9
      Thomas Bogendoerfer authored
      SGI-IP35 uses slightly different memory layout, so we move IP27
      defines to IP27 specific files and keep the common stuff in kldir.h
      Signed-off-by: default avatarThomas Bogendoerfer <tbogendoerfer@suse.de>
      Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: James Hogan <jhogan@kernel.org>
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      aa2d74f9
    • Thomas Bogendoerfer's avatar
      MIPS: SGI-IP27: Move get_nasid() to a IP27 specific file · e9d2eb99
      Thomas Bogendoerfer authored
      get_nasid() will be different for SGI-IP35, therefore move IP27
      implementation to IP27 specific file.
      Signed-off-by: default avatarThomas Bogendoerfer <tbogendoerfer@suse.de>
      Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: James Hogan <jhogan@kernel.org>
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      e9d2eb99
    • Thomas Bogendoerfer's avatar
      MIPS: SGI-IP27: move IP27 specific macro to IP27 specific header file · 58fd034d
      Thomas Bogendoerfer authored
      Extracting node id from HUB register is specific to IP27 alias SN0.
      Move the macro definition to a SN0 header file.
      Signed-off-by: default avatarThomas Bogendoerfer <tbogendoerfer@suse.de>
      Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: James Hogan <jhogan@kernel.org>
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      58fd034d
    • Thomas Bogendoerfer's avatar
      MIPS: SGI-IP27: get rid of asm/sn/sn0/ip27.h · 5388b581
      Thomas Bogendoerfer authored
      The only piece needed in ip27.h is SEND_NMI. Move the define to the only
      place where it's used and remove ip27.h
      Signed-off-by: default avatarThomas Bogendoerfer <tbogendoerfer@suse.de>
      Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: James Hogan <jhogan@kernel.org>
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      5388b581
    • Thomas Bogendoerfer's avatar
      MIPS: SGI-IP27: use asm/sn/agent.h for including HUB related stuff · b78e9d63
      Thomas Bogendoerfer authored
      By including agent.h where hub related defines/structs are needed, we
      have only one place to select, which agent chip (HUB or BEDROCK) is used.
      Signed-off-by: default avatarThomas Bogendoerfer <tbogendoerfer@suse.de>
      Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: James Hogan <jhogan@kernel.org>
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      b78e9d63
    • Thomas Bogendoerfer's avatar
      MIPS: SGI-IP27: use cpu physid already present while scanning for CPUs · d6972bb4
      Thomas Bogendoerfer authored
      By using cpu physid already present when scanning for CPUs
      get_cpu_slice() is unsued and can be removed together with two
      other then used functions.
      Signed-off-by: default avatarThomas Bogendoerfer <tbogendoerfer@suse.de>
      Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: James Hogan <jhogan@kernel.org>
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      d6972bb4
    • Thomas Bogendoerfer's avatar
      MIPS: SGI-IP27: use nodemask instead of cpumask · 2d11e6a4
      Thomas Bogendoerfer authored
      Replication is done on a per node basis, so the use of cpumask
      was a misusage here.
      Signed-off-by: default avatarThomas Bogendoerfer <tbogendoerfer@suse.de>
      Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: James Hogan <jhogan@kernel.org>
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      2d11e6a4
    • Paul Burton's avatar
      MIPS: BPF: Restore MIPS32 cBPF JIT · 36366e36
      Paul Burton authored
      Commit 716850ab ("MIPS: eBPF: Initial eBPF support for MIPS32
      architecture.") enabled our eBPF JIT for MIPS32 kernels, whereas it has
      previously only been availailable for MIPS64. It was my understanding at
      the time that the BPF test suite was passing & JITing a comparable
      number of tests to our cBPF JIT [1], but it turns out that was not the
      case.
      
      The eBPF JIT has a number of problems on MIPS32:
      
      - Most notably various code paths still result in emission of MIPS64
        instructions which will cause reserved instruction exceptions & kernel
        panics when run on MIPS32 CPUs.
      
      - The eBPF JIT doesn't account for differences between the O32 ABI used
        by MIPS32 kernels versus the N64 ABI used by MIPS64 kernels. Notably
        arguments beyond the first 4 are passed on the stack in O32, and this
        is entirely unhandled when JITing a BPF_CALL instruction. Stack space
        must be reserved for arguments even if they all fit in registers, and
        the callee is free to assume that stack space has been reserved for
        its use - with the eBPF JIT this is not the case, so calling any
        function can result in clobbering values on the stack & unpredictable
        behaviour. Function arguments in eBPF are always 64-bit values which
        is also entirely unhandled - the JIT still uses a single (32-bit)
        register per argument. As a result all function arguments are always
        passed incorrectly when JITing a BPF_CALL instruction, leading to
        kernel crashes or strange behavior.
      
      - The JIT attempts to bail our on use of ALU64 instructions or 64-bit
        memory access instructions. The code doing this at the start of
        build_one_insn() incorrectly checks whether BPF_OP() equals BPF_DW,
        when it should really be checking BPF_SIZE() & only doing so when
        BPF_CLASS() is one of BPF_{LD,LDX,ST,STX}. This results in false
        positives that cause more bailouts than intended, and that in turns
        hides some of the problems described above.
      
      - The kernel's cBPF->eBPF translation makes heavy use of 64-bit eBPF
        instructions that the MIPS32 eBPF JIT bails out on, leading to most
        cBPF programs not being JITed at all.
      
      Until these problems are resolved, revert the removal of the cBPF JIT
      performed by commit 716850ab ("MIPS: eBPF: Initial eBPF support for
      MIPS32 architecture."). Together with commit f8fffebd ("MIPS: BPF:
      Disable MIPS32 eBPF JIT") this restores MIPS32 BPF JIT behavior back to
      the same state it was prior to the introduction of the broken eBPF JIT
      support.
      
      [1] https://lore.kernel.org/linux-mips/MWHPR2201MB13583388481F01A422CE7D66D4410@MWHPR2201MB1358.namprd22.prod.outlook.com/Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      Fixes: 716850ab ("MIPS: eBPF: Initial eBPF support for MIPS32 architecture.")
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: Hassan Naveed <hnaveed@wavecomp.com>
      Cc: Tony Ambardar <itugrok@yahoo.com>
      Cc: bpf@vger.kernel.org
      Cc: netdev@vger.kernel.org
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      36366e36
    • Mao Wenan's avatar
      MIPS: Loongson2ef: drop pointless static qualifier in loongson_suspend_enter() · 11d06df7
      Mao Wenan authored
      There is no need to have the 'T *v' variable static
      since new value always be assigned before use it.
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarMao Wenan <maowenan@huawei.com>
      Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      Cc: <jiaxun.yang@flygoat.com>
      Cc: <ralf@linux-mips.org>
      Cc: <jhogan@kernel.org>
      Cc: <gregkh@linuxfoundation.org>
      Cc: <tglx@linutronix.de>
      Cc: <linux-mips@vger.kernel.org>
      Cc: <linux-kernel@vger.kernel.org>
      Cc: <kernel-janitors@vger.kernel.org>
      11d06df7
    • Thomas Bogendoerfer's avatar
      MIPS: mm: Place per_cpu on different nodes, if NUMA is enabled · f3c560a6
      Thomas Bogendoerfer authored
      Implement placing of per_cpu into memory, which is local to the CPU.
      Signed-off-by: default avatarThomas Bogendoerfer <tbogendoerfer@suse.de>
      Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: James Hogan <jhogan@kernel.org>
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      f3c560a6
    • Thomas Bogendoerfer's avatar
      MIPS: Loongson64: Fix node_distance() · a14879e1
      Thomas Bogendoerfer authored
      Local node distance is defined as LOCAL_DISTANCE, which is 10. Use the
      define to give back correct local distance.
      Signed-off-by: default avatarThomas Bogendoerfer <tbogendoerfer@suse.de>
      Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      Cc: Huacai Chen <chenhc@lemote.com>
      Cc: Jiaxun Yang <jiaxun.yang@flygoat.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: James Hogan <jhogan@kernel.org>
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      a14879e1
    • Thomas Bogendoerfer's avatar
      MIPS: SGI-IP27: Fix node_distance · a20ebc04
      Thomas Bogendoerfer authored
      node_distance must return values starting from 10 up to 255. 10 means
      local, 255 unreachable.
      Signed-off-by: default avatarThomas Bogendoerfer <tbogendoerfer@suse.de>
      Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: James Hogan <jhogan@kernel.org>
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      a20ebc04
    • 周琰杰 (Zhou Yanjie)'s avatar
      MIPS: X1830: Add X1830 system type. · b9bb868e
      周琰杰 (Zhou Yanjie) authored
      1.Add X1830 system type for cat /proc/cpuinfo to give out X1830.
      2.Change "PRID_IMP_XBURST" to "PRID_IMP_XBURST_REV1" and add a
        new "PRID_IMP_XBURST_REV2" for new Ingenic CPUs which has
        XBurst with MXU2 SIMD ISA.
      
      Notice:
      1."PRID_IMP_XBURST_REV2" is corresponds to the latest XBurst
        processor with 128bit MXU2 SIMD instruction set, not the upcoming
        XBurst2 processor. This version of the processors fixes issues
        such as BTB and HPTLB.
      2.In order to simplify and reuse the code, the "c->cputype" and
        the "c->writecombine" and the "__cpu_name[cpu]" in the original
        "PRID_IMP_XBURST" (now is "PRID_IMP_XBURST_REV1") are removed,
        and the corresponding settings are abtained through fall-through
        to "PRID_IMP_XBURST_REV2", which will cause the name that was
        previously mistakenly called "JZRISC" to become to the real name
        "XBurst".
      Signed-off-by: default avatar周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
      Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: yamada.masahiro@socionext.com
      Cc: tglx@linutronix.de
      Cc: chenhc@lemote.com
      Cc: tbogendoerfer@suse.de
      Cc: paul.burton@mips.com
      Cc: paul@crapouillou.net
      Cc: jhogan@kernel.org
      Cc: fancer.lancer@gmail.com
      Cc: ralf@linux-mips.org
      Cc: jiaxun.yang@flygoat.com
      b9bb868e
    • 周琰杰 (Zhou Yanjie)'s avatar
      MIPS: Ingenic: Add YSH & ATIL CU Neo board support. · 0cd2c6e5
      周琰杰 (Zhou Yanjie) authored
      Add a device tree for the Ingenic X1000 based YSH & ATIL CU Neo board.
      Signed-off-by: default avatar周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
      Acked-by: default avatarPaul Cercueil <paul@crapouillou.net>
      [paulburton@kernel.org:
        Drop stale mention of previously unselectable Kconfig entry.]
      Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: devicetree@vger.kernel.org
      Cc: robh+dt@kernel.org
      Cc: paul.burton@mips.com
      Cc: jhogan@kernel.org
      Cc: mripard@kernel.org
      Cc: shawnguo@kernel.org
      Cc: mark.rutland@arm.com
      Cc: alexandre.belloni@bootlin.com
      Cc: ralf@linux-mips.org
      Cc: heiko@sntech.de
      Cc: icenowy@aosc.io
      Cc: ak@linux.intel.com
      Cc: laurent.pinchart@ideasonboard.com
      Cc: krzk@kernel.org
      Cc: geert+renesas@glider.be
      Cc: prasannatsmkumar@gmail.com
      Cc: keescook@chromium.org
      Cc: ebiederm@xmission.com
      Cc: sernia.zhou@foxmail.com
      Cc: zhenwenjin@gmail.com
      Cc: 772753199@qq.com
      0cd2c6e5
    • 周琰杰 (Zhou Yanjie)'s avatar
      dt-bindings: MIPS: Add Ingenic XBurst based boards. · 4b396e56
      周琰杰 (Zhou Yanjie) authored
      Add Ingenic XBurst based boards, prepare for later dts.
      Signed-off-by: default avatar周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: devicetree@vger.kernel.org
      Cc: robh+dt@kernel.org
      Cc: paul.burton@mips.com
      Cc: jhogan@kernel.org
      Cc: mripard@kernel.org
      Cc: shawnguo@kernel.org
      Cc: mark.rutland@arm.com
      Cc: alexandre.belloni@bootlin.com
      Cc: ralf@linux-mips.org
      Cc: heiko@sntech.de
      Cc: icenowy@aosc.io
      Cc: ak@linux.intel.com
      Cc: laurent.pinchart@ideasonboard.com
      Cc: krzk@kernel.org
      Cc: geert+renesas@glider.be
      Cc: paul@crapouillou.net
      Cc: prasannatsmkumar@gmail.com
      Cc: keescook@chromium.org
      Cc: ebiederm@xmission.com
      Cc: sernia.zhou@foxmail.com
      Cc: zhenwenjin@gmail.com
      Cc: 772753199@qq.com
      4b396e56
    • 周琰杰 (Zhou Yanjie)'s avatar
      dt-bindings: Document yna vendor-prefix. · 9d022be3
      周琰杰 (Zhou Yanjie) authored
      The "yna" is an acronym of the "YSH & ATIL".
      Signed-off-by: default avatar周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
      Acked-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: devicetree@vger.kernel.org
      Cc: robh+dt@kernel.org
      Cc: paul.burton@mips.com
      Cc: jhogan@kernel.org
      Cc: mripard@kernel.org
      Cc: shawnguo@kernel.org
      Cc: mark.rutland@arm.com
      Cc: alexandre.belloni@bootlin.com
      Cc: ralf@linux-mips.org
      Cc: heiko@sntech.de
      Cc: icenowy@aosc.io
      Cc: ak@linux.intel.com
      Cc: laurent.pinchart@ideasonboard.com
      Cc: krzk@kernel.org
      Cc: geert+renesas@glider.be
      Cc: paul@crapouillou.net
      Cc: prasannatsmkumar@gmail.com
      Cc: keescook@chromium.org
      Cc: ebiederm@xmission.com
      Cc: sernia.zhou@foxmail.com
      Cc: zhenwenjin@gmail.com
      Cc: 772753199@qq.com
      9d022be3
    • 周琰杰 (Zhou Yanjie)'s avatar
      MIPS: Ingenic: Add Ingenic X1000 support. · 7a16ccd3
      周琰杰 (Zhou Yanjie) authored
      Support the Ingenic X1000 SoC using the code under arch/mips/jz4740.
      This is left unselectable in Kconfig until a X1000 based board is
      added in a later commit.
      Signed-off-by: default avatar周琰杰 (Zhou Yanjie) <zhouyanjie@wanyeetech.com>
      Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      Cc: linux-mips@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Cc: devicetree@vger.kernel.org
      Cc: robh+dt@kernel.org
      Cc: paul.burton@mips.com
      Cc: jhogan@kernel.org
      Cc: mripard@kernel.org
      Cc: shawnguo@kernel.org
      Cc: mark.rutland@arm.com
      Cc: alexandre.belloni@bootlin.com
      Cc: ralf@linux-mips.org
      Cc: heiko@sntech.de
      Cc: icenowy@aosc.io
      Cc: ak@linux.intel.com
      Cc: laurent.pinchart@ideasonboard.com
      Cc: krzk@kernel.org
      Cc: geert+renesas@glider.be
      Cc: paul@crapouillou.net
      Cc: prasannatsmkumar@gmail.com
      Cc: keescook@chromium.org
      Cc: ebiederm@xmission.com
      Cc: sernia.zhou@foxmail.com
      Cc: zhenwenjin@gmail.com
      Cc: 772753199@qq.com
      7a16ccd3
    • yu kuai's avatar
      MIPS: ralink: add missing put_device in ill_acc_of_setup · defed0bb
      yu kuai authored
      If of_find_device_by_node return 0 and ill_acc_of_setup return error,
      pdev don't have a corresponding object release.
      
      Fix it by adding put_device.
      Signed-off-by: default avataryu kuai <yukuai3@huawei.com>
      Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      Cc: <john@phrozen.org>
      Cc: <ralf@linux-mips.org>
      Cc: <jhogan@kernel.org>
      Cc: <linux-mips@vger.kernel.org>
      Cc: <linux-kernel@vger.kernel.org>
      Cc: <zhengbin13@huawei.com>
      Cc: <yi.zhang@huawei.com>
      defed0bb
    • James Hogan's avatar
      MAINTAINERS: Drop James Hogan as MIPS maintainer · 9c48c48c
      James Hogan authored
      I haven't been active for 18 months, and Paul seems to be doing a grand
      job, so drop me from MIPS maintainership.
      Signed-off-by: default avatarJames Hogan <jhogan@kernel.org>
      Cc: Paul Burton <paulburton@kernel.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: linux-mips@vger.kernel.org
      Signed-off-by: default avatarPaul Burton <paulburton@kernel.org>
      9c48c48c
  2. 05 Jan, 2020 7 commits
    • Linus Torvalds's avatar
      Linux 5.5-rc5 · c79f46a2
      Linus Torvalds authored
      c79f46a2
    • Linus Torvalds's avatar
      Merge tag 'riscv/for-v5.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux · 768fc661
      Linus Torvalds authored
      Pull RISC-V fixes from Paul Walmsley:
       "Several fixes for RISC-V:
      
         - Fix function graph trace support
      
         - Prefix the CSR IRQ_* macro names with "RV_", to avoid collisions
           with macros elsewhere in the Linux kernel tree named "IRQ_TIMER"
      
         - Use __pa_symbol() when computing the physical address of a kernel
           symbol, rather than __pa()
      
         - Mark the RISC-V port as supporting GCOV
      
        One DT addition:
      
         - Describe the L2 cache controller in the FU540 DT file
      
        One documentation update:
      
         - Add patch acceptance guideline documentation"
      
      * tag 'riscv/for-v5.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux:
        Documentation: riscv: add patch acceptance guidelines
        riscv: prefix IRQ_ macro names with an RV_ namespace
        clocksource: riscv: add notrace to riscv_sched_clock
        riscv: ftrace: correct the condition logic in function graph tracer
        riscv: dts: Add DT support for SiFive L2 cache controller
        riscv: gcov: enable gcov for RISC-V
        riscv: mm: use __pa_symbol for kernel symbols
      768fc661
    • Paul Walmsley's avatar
      Documentation: riscv: add patch acceptance guidelines · 0e194d9d
      Paul Walmsley authored
      Formalize, in kernel documentation, the patch acceptance policy for
      arch/riscv.  In summary, it states that as maintainers, we plan to
      only accept patches for new modules or extensions that have been
      frozen or ratified by the RISC-V Foundation.
      
      We've been following these guidelines for the past few months.  In the
      meantime, we've received quite a bit of feedback that it would be
      helpful to have these guidelines formally documented.
      
      Based on a suggestion from Matthew Wilcox, we also add a link to this
      file to Documentation/process/index.rst, to make this document easier
      to find.  The format of this document has also been changed to align
      to the format outlined in the maintainer entry profiles, in accordance
      with comments from Jon Corbet and Dan Williams.
      Signed-off-by: default avatarPaul Walmsley <paul.walmsley@sifive.com>
      Reviewed-by: default avatarPalmer Dabbelt <palmerdabbelt@google.com>
      Cc: Palmer Dabbelt <palmer@dabbelt.com>
      Cc: Albert Ou <aou@eecs.berkeley.edu>
      Cc: Krste Asanovic <krste@berkeley.edu>
      Cc: Andrew Waterman <waterman@eecs.berkeley.edu>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      0e194d9d
    • Paul Walmsley's avatar
      riscv: prefix IRQ_ macro names with an RV_ namespace · 2f3035da
      Paul Walmsley authored
      "IRQ_TIMER", used in the arch/riscv CSR header file, is a sufficiently
      generic macro name that it's used by several source files across the
      Linux code base.  Some of these other files ultimately include the
      arch/riscv CSR include file, causing collisions.  Fix by prefixing the
      RISC-V csr.h IRQ_ macro names with an RV_ prefix.
      
      Fixes: a4c3733d ("riscv: abstract out CSR names for supervisor vs machine mode")
      Reported-by: default avatarOlof Johansson <olof@lixom.net>
      Acked-by: default avatarOlof Johansson <olof@lixom.net>
      Signed-off-by: default avatarPaul Walmsley <paul.walmsley@sifive.com>
      2f3035da
    • Zong Li's avatar
      clocksource: riscv: add notrace to riscv_sched_clock · 9d05c18e
      Zong Li authored
      When enabling ftrace graph tracer, it gets the tracing clock in
      ftrace_push_return_trace().  Eventually, it invokes riscv_sched_clock()
      to get the clock value.  If riscv_sched_clock() isn't marked with
      'notrace', it will call ftrace_push_return_trace() and cause infinite
      loop.
      
      The result of failure as follow:
      
      command: echo function_graph >current_tracer
      [   46.176787] Unable to handle kernel paging request at virtual address ffffffe04fb38c48
      [   46.177309] Oops [#1]
      [   46.177478] Modules linked in:
      [   46.177770] CPU: 0 PID: 256 Comm: $d Not tainted 5.5.0-rc1 #47
      [   46.177981] epc: ffffffe00035e59a ra : ffffffe00035e57e sp : ffffffe03a7569b0
      [   46.178216]  gp : ffffffe000d29b90 tp : ffffffe03a756180 t0 : ffffffe03a756968
      [   46.178430]  t1 : ffffffe00087f408 t2 : ffffffe03a7569a0 s0 : ffffffe03a7569f0
      [   46.178643]  s1 : ffffffe00087f408 a0 : 0000000ac054cda4 a1 : 000000000087f411
      [   46.178856]  a2 : 0000000ac054cda4 a3 : 0000000000373ca0 a4 : ffffffe04fb38c48
      [   46.179099]  a5 : 00000000153e22a8 a6 : 00000000005522ff a7 : 0000000000000005
      [   46.179338]  s2 : ffffffe03a756a90 s3 : ffffffe00032811c s4 : ffffffe03a756a58
      [   46.179570]  s5 : ffffffe000d29fe0 s6 : 0000000000000001 s7 : 0000000000000003
      [   46.179809]  s8 : 0000000000000003 s9 : 0000000000000002 s10: 0000000000000004
      [   46.180053]  s11: 0000000000000000 t3 : 0000003fc815749c t4 : 00000000000efc90
      [   46.180293]  t5 : ffffffe000d29658 t6 : 0000000000040000
      [   46.180482] status: 0000000000000100 badaddr: ffffffe04fb38c48 cause: 000000000000000f
      Signed-off-by: default avatarZong Li <zong.li@sifive.com>
      Reviewed-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      [paul.walmsley@sifive.com: cleaned up patch description]
      Fixes: 92e0d143 ("clocksource/drivers/riscv_timer: Provide the sched_clock")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarPaul Walmsley <paul.walmsley@sifive.com>
      9d05c18e
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · 36487907
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "17 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        hexagon: define ioremap_uc
        ocfs2: fix the crash due to call ocfs2_get_dlm_debug once less
        ocfs2: call journal flush to mark journal as empty after journal recovery when mount
        mm/hugetlb: defer freeing of huge pages if in non-task context
        mm/gup: fix memory leak in __gup_benchmark_ioctl
        mm/oom: fix pgtables units mismatch in Killed process message
        fs/posix_acl.c: fix kernel-doc warnings
        hexagon: work around compiler crash
        hexagon: parenthesize registers in asm predicates
        fs/namespace.c: make to_mnt_ns() static
        fs/nsfs.c: include headers for missing declarations
        fs/direct-io.c: include fs/internal.h for missing prototype
        mm: move_pages: return valid node id in status if the page is already on the target node
        memcg: account security cred as well to kmemcg
        kcov: fix struct layout for kcov_remote_arg
        mm/zsmalloc.c: fix the migrated zspage statistics.
        mm/memory_hotplug: shrink zones when offlining memory
      36487907
    • Linus Torvalds's avatar
      Merge tag 'apparmor-pr-2020-01-04' of... · a125bcda
      Linus Torvalds authored
      Merge tag 'apparmor-pr-2020-01-04' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor
      
      Pull apparmor fixes from John Johansen:
      
       - performance regression: only get a label reference if the fast path
         check fails
      
       - fix aa_xattrs_match() may sleep while holding a RCU lock
      
       - fix bind mounts aborting with -ENOMEM
      
      * tag 'apparmor-pr-2020-01-04' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor:
        apparmor: fix aa_xattrs_match() may sleep while holding a RCU lock
        apparmor: only get a label reference if the fast path check fails
        apparmor: fix bind mounts aborting with -ENOMEM
      a125bcda
  3. 04 Jan, 2020 13 commits
    • John Johansen's avatar
      apparmor: fix aa_xattrs_match() may sleep while holding a RCU lock · 8c62ed27
      John Johansen authored
      aa_xattrs_match() is unfortunately calling vfs_getxattr_alloc() from a
      context protected by an rcu_read_lock. This can not be done as
      vfs_getxattr_alloc() may sleep regardles of the gfp_t value being
      passed to it.
      
      Fix this by breaking the rcu_read_lock on the policy search when the
      xattr match feature is requested and restarting the search if a policy
      changes occur.
      
      Fixes: 8e51f908 ("apparmor: Add support for attaching profiles via xattr, presence and value")
      Reported-by: default avatarJia-Ju Bai <baijiaju1990@gmail.com>
      Reported-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarJohn Johansen <john.johansen@canonical.com>
      8c62ed27
    • Linus Torvalds's avatar
      Merge tag 'mips_fixes_5.5_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · c420ddda
      Linus Torvalds authored
      Pull MIPS fixes from Paul Burton:
       "A collection of MIPS fixes:
      
         - Fill the struct cacheinfo shared_cpu_map field with sensible
           values, notably avoiding issues with perf which was unhappy in the
           absence of these values.
      
         - A boot fix for Loongson 2E & 2F machines which was fallout from
           some refactoring performed this cycle.
      
         - A Kconfig dependency fix for the Loongson CPU HWMon driver.
      
         - A couple of VDSO fixes, ensuring gettimeofday() behaves
           appropriately for kernel configurations that don't include support
           for a clocksource the VDSO can use & fixing the calling convention
           for the n32 & n64 VDSOs which would previously clobber the $gp/$28
           register.
      
         - A build fix for vmlinuz compressed images which were
           inappropriately building with -fsanitize-coverage despite not being
           part of the kernel proper, then failing to link due to the missing
           __sanitizer_cov_trace_pc() function.
      
         - A couple of eBPF JIT fixes, including disabling it for MIPS32 due
           to a large number of issues with the code generated there &
           reflecting ISA dependencies in Kconfig to enforce that systems
           which don't support the JIT must include the interpreter"
      
      * tag 'mips_fixes_5.5_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
        MIPS: Avoid VDSO ABI breakage due to global register variable
        MIPS: BPF: eBPF JIT: check for MIPS ISA compliance in Kconfig
        MIPS: BPF: Disable MIPS32 eBPF JIT
        MIPS: Prevent link failure with kcov instrumentation
        MIPS: Kconfig: Use correct form for 'depends on'
        mips: Fix gettimeofday() in the vdso library
        MIPS: Fix boot on Fuloong2 systems
        mips: cacheinfo: report shared CPU map
      c420ddda
    • Nick Desaulniers's avatar
      hexagon: define ioremap_uc · 7312b706
      Nick Desaulniers authored
      Similar to commit 38e45d81 ("sparc64: implement ioremap_uc") define
      ioremap_uc for hexagon to avoid errors from
      -Wimplicit-function-definition.
      
      Link: http://lkml.kernel.org/r/20191209222956.239798-2-ndesaulniers@google.com
      Link: https://github.com/ClangBuiltLinux/linux/issues/797
      Fixes: e537654b ("lib: devres: add a helper function for ioremap_uc")
      Signed-off-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Suggested-by: default avatarNathan Chancellor <natechancellor@gmail.com>
      Acked-by: default avatarBrian Cain <bcain@codeaurora.org>
      Cc: Lee Jones <lee.jones@linaro.org>
      Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
      Cc: Tuowen Zhao <ztuowen@gmail.com>
      Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
      Cc: Luis Chamberlain <mcgrof@kernel.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Alexios Zavras <alexios.zavras@intel.com>
      Cc: Allison Randal <allison@lohutok.net>
      Cc: Will Deacon <will@kernel.org>
      Cc: Richard Fontana <rfontana@redhat.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Boqun Feng <boqun.feng@gmail.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Christoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7312b706
    • Gang He's avatar
      ocfs2: fix the crash due to call ocfs2_get_dlm_debug once less · b73eba2a
      Gang He authored
      Because ocfs2_get_dlm_debug() function is called once less here, ocfs2
      file system will trigger the system crash, usually after ocfs2 file
      system is unmounted.
      
      This system crash is caused by a generic memory corruption, these crash
      backtraces are not always the same, for exapmle,
      
          ocfs2: Unmounting device (253,16) on (node 172167785)
          general protection fault: 0000 [#1] SMP PTI
          CPU: 3 PID: 14107 Comm: fence_legacy Kdump:
          Hardware name: QEMU Standard PC (i440FX + PIIX, 1996)
          RIP: 0010:__kmalloc+0xa5/0x2a0
          Code: 00 00 4d 8b 07 65 4d 8b
          RSP: 0018:ffffaa1fc094bbe8 EFLAGS: 00010286
          RAX: 0000000000000000 RBX: d310a8800d7a3faf RCX: 0000000000000000
          RDX: 0000000000000000 RSI: 0000000000000dc0 RDI: ffff96e68fc036c0
          RBP: d310a8800d7a3faf R08: ffff96e6ffdb10a0 R09: 00000000752e7079
          R10: 000000000001c513 R11: 0000000004091041 R12: 0000000000000dc0
          R13: 0000000000000039 R14: ffff96e68fc036c0 R15: ffff96e68fc036c0
          FS:  00007f699dfba540(0000) GS:ffff96e6ffd80000(0000) knlGS:00000
          CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
          CR2: 000055f3a9d9b768 CR3: 000000002cd1c000 CR4: 00000000000006e0
          Call Trace:
           ext4_htree_store_dirent+0x35/0x100 [ext4]
           htree_dirblock_to_tree+0xea/0x290 [ext4]
           ext4_htree_fill_tree+0x1c1/0x2d0 [ext4]
           ext4_readdir+0x67c/0x9d0 [ext4]
           iterate_dir+0x8d/0x1a0
           __x64_sys_getdents+0xab/0x130
           do_syscall_64+0x60/0x1f0
           entry_SYSCALL_64_after_hwframe+0x49/0xbe
          RIP: 0033:0x7f699d33a9fb
      
      This regression problem was introduced by commit e581595e ("ocfs: no
      need to check return value of debugfs_create functions").
      
      Link: http://lkml.kernel.org/r/20191225061501.13587-1-ghe@suse.com
      Fixes: e581595e ("ocfs: no need to check return value of debugfs_create functions")
      Signed-off-by: default avatarGang He <ghe@suse.com>
      Acked-by: default avatarJoseph Qi <joseph.qi@linux.alibaba.com>
      Cc: Mark Fasheh <mark@fasheh.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Junxiao Bi <junxiao.bi@oracle.com>
      Cc: Changwei Ge <gechangwei@live.cn>
      Cc: Gang He <ghe@suse.com>
      Cc: Jun Piao <piaojun@huawei.com>
      Cc: <stable@vger.kernel.org>	[5.3+]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b73eba2a
    • Kai Li's avatar
      ocfs2: call journal flush to mark journal as empty after journal recovery when mount · 397eac17
      Kai Li authored
      If journal is dirty when mount, it will be replayed but jbd2 sb log tail
      cannot be updated to mark a new start because journal->j_flag has
      already been set with JBD2_ABORT first in journal_init_common.
      
      When a new transaction is committed, it will be recored in block 1
      first(journal->j_tail is set to 1 in journal_reset).  If emergency
      restart happens again before journal super block is updated
      unfortunately, the new recorded trans will not be replayed in the next
      mount.
      
      The following steps describe this procedure in detail.
      1. mount and touch some files
      2. these transactions are committed to journal area but not checkpointed
      3. emergency restart
      4. mount again and its journals are replayed
      5. journal super block's first s_start is 1, but its s_seq is not updated
      6. touch a new file and its trans is committed but not checkpointed
      7. emergency restart again
      8. mount and journal is dirty, but trans committed in 6 will not be
      replayed.
      
      This exception happens easily when this lun is used by only one node.
      If it is used by multi-nodes, other node will replay its journal and its
      journal super block will be updated after recovery like what this patch
      does.
      
      ocfs2_recover_node->ocfs2_replay_journal.
      
      The following jbd2 journal can be generated by touching a new file after
      journal is replayed, and seq 15 is the first valid commit, but first seq
      is 13 in journal super block.
      
      logdump:
        Block 0: Journal Superblock
        Seq: 0   Type: 4 (JBD2_SUPERBLOCK_V2)
        Blocksize: 4096   Total Blocks: 32768   First Block: 1
        First Commit ID: 13   Start Log Blknum: 1
        Error: 0
        Feature Compat: 0
        Feature Incompat: 2 block64
        Feature RO compat: 0
        Journal UUID: 4ED3822C54294467A4F8E87D2BA4BC36
        FS Share Cnt: 1   Dynamic Superblk Blknum: 0
        Per Txn Block Limit    Journal: 0    Data: 0
      
        Block 1: Journal Commit Block
        Seq: 14   Type: 2 (JBD2_COMMIT_BLOCK)
      
        Block 2: Journal Descriptor
        Seq: 15   Type: 1 (JBD2_DESCRIPTOR_BLOCK)
        No. Blocknum        Flags
         0. 587             none
        UUID: 00000000000000000000000000000000
         1. 8257792         JBD2_FLAG_SAME_UUID
         2. 619             JBD2_FLAG_SAME_UUID
         3. 24772864        JBD2_FLAG_SAME_UUID
         4. 8257802         JBD2_FLAG_SAME_UUID
         5. 513             JBD2_FLAG_SAME_UUID JBD2_FLAG_LAST_TAG
        ...
        Block 7: Inode
        Inode: 8257802   Mode: 0640   Generation: 57157641 (0x3682809)
        FS Generation: 2839773110 (0xa9437fb6)
        CRC32: 00000000   ECC: 0000
        Type: Regular   Attr: 0x0   Flags: Valid
        Dynamic Features: (0x1) InlineData
        User: 0 (root)   Group: 0 (root)   Size: 7
        Links: 1   Clusters: 0
        ctime: 0x5de5d870 0x11104c61 -- Tue Dec  3 11:37:20.286280801 2019
        atime: 0x5de5d870 0x113181a1 -- Tue Dec  3 11:37:20.288457121 2019
        mtime: 0x5de5d870 0x11104c61 -- Tue Dec  3 11:37:20.286280801 2019
        dtime: 0x0 -- Thu Jan  1 08:00:00 1970
        ...
        Block 9: Journal Commit Block
        Seq: 15   Type: 2 (JBD2_COMMIT_BLOCK)
      
      The following is journal recovery log when recovering the upper jbd2
      journal when mount again.
      
      syslog:
        ocfs2: File system on device (252,1) was not unmounted cleanly, recovering it.
        fs/jbd2/recovery.c:(do_one_pass, 449): Starting recovery pass 0
        fs/jbd2/recovery.c:(do_one_pass, 449): Starting recovery pass 1
        fs/jbd2/recovery.c:(do_one_pass, 449): Starting recovery pass 2
        fs/jbd2/recovery.c:(jbd2_journal_recover, 278): JBD2: recovery, exit status 0, recovered transactions 13 to 13
      
      Due to first commit seq 13 recorded in journal super is not consistent
      with the value recorded in block 1(seq is 14), journal recovery will be
      terminated before seq 15 even though it is an unbroken commit, inode
      8257802 is a new file and it will be lost.
      
      Link: http://lkml.kernel.org/r/20191217020140.2197-1-li.kai4@h3c.comSigned-off-by: default avatarKai Li <li.kai4@h3c.com>
      Reviewed-by: default avatarJoseph Qi <joseph.qi@linux.alibaba.com>
      Reviewed-by: default avatarChangwei Ge <gechangwei@live.cn>
      Cc: Mark Fasheh <mark@fasheh.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Junxiao Bi <junxiao.bi@oracle.com>
      Cc: Gang He <ghe@suse.com>
      Cc: Jun Piao <piaojun@huawei.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      397eac17
    • Waiman Long's avatar
      mm/hugetlb: defer freeing of huge pages if in non-task context · c77c0a8a
      Waiman Long authored
      The following lockdep splat was observed when a certain hugetlbfs test
      was run:
      
        ================================
        WARNING: inconsistent lock state
        4.18.0-159.el8.x86_64+debug #1 Tainted: G        W --------- -  -
        --------------------------------
        inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
        swapper/30/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
        ffffffff9acdc038 (hugetlb_lock){+.?.}, at: free_huge_page+0x36f/0xaa0
        {SOFTIRQ-ON-W} state was registered at:
          lock_acquire+0x14f/0x3b0
          _raw_spin_lock+0x30/0x70
          __nr_hugepages_store_common+0x11b/0xb30
          hugetlb_sysctl_handler_common+0x209/0x2d0
          proc_sys_call_handler+0x37f/0x450
          vfs_write+0x157/0x460
          ksys_write+0xb8/0x170
          do_syscall_64+0xa5/0x4d0
          entry_SYSCALL_64_after_hwframe+0x6a/0xdf
        irq event stamp: 691296
        hardirqs last  enabled at (691296): [<ffffffff99bb034b>] _raw_spin_unlock_irqrestore+0x4b/0x60
        hardirqs last disabled at (691295): [<ffffffff99bb0ad2>] _raw_spin_lock_irqsave+0x22/0x81
        softirqs last  enabled at (691284): [<ffffffff97ff0c63>] irq_enter+0xc3/0xe0
        softirqs last disabled at (691285): [<ffffffff97ff0ebe>] irq_exit+0x23e/0x2b0
      
        other info that might help us debug this:
         Possible unsafe locking scenario:
      
               CPU0
               ----
          lock(hugetlb_lock);
          <Interrupt>
            lock(hugetlb_lock);
      
         *** DEADLOCK ***
            :
        Call Trace:
         <IRQ>
         __lock_acquire+0x146b/0x48c0
         lock_acquire+0x14f/0x3b0
         _raw_spin_lock+0x30/0x70
         free_huge_page+0x36f/0xaa0
         bio_check_pages_dirty+0x2fc/0x5c0
         clone_endio+0x17f/0x670 [dm_mod]
         blk_update_request+0x276/0xe50
         scsi_end_request+0x7b/0x6a0
         scsi_io_completion+0x1c6/0x1570
         blk_done_softirq+0x22e/0x350
         __do_softirq+0x23d/0xad8
         irq_exit+0x23e/0x2b0
         do_IRQ+0x11a/0x200
         common_interrupt+0xf/0xf
         </IRQ>
      
      Both the hugetbl_lock and the subpool lock can be acquired in
      free_huge_page().  One way to solve the problem is to make both locks
      irq-safe.  However, Mike Kravetz had learned that the hugetlb_lock is
      held for a linear scan of ALL hugetlb pages during a cgroup reparentling
      operation.  So it is just too long to have irq disabled unless we can
      break hugetbl_lock down into finer-grained locks with shorter lock hold
      times.
      
      Another alternative is to defer the freeing to a workqueue job.  This
      patch implements the deferred freeing by adding a free_hpage_workfn()
      work function to do the actual freeing.  The free_huge_page() call in a
      non-task context saves the page to be freed in the hpage_freelist linked
      list in a lockless manner using the llist APIs.
      
      The generic workqueue is used to process the work, but a dedicated
      workqueue can be used instead if it is desirable to have the huge page
      freed ASAP.
      
      Thanks to Kirill Tkhai <ktkhai@virtuozzo.com> for suggesting the use of
      llist APIs which simplfy the code.
      
      Link: http://lkml.kernel.org/r/20191217170331.30893-1-longman@redhat.comSigned-off-by: default avatarWaiman Long <longman@redhat.com>
      Reviewed-by: default avatarMike Kravetz <mike.kravetz@oracle.com>
      Acked-by: default avatarDavidlohr Bueso <dbueso@suse.de>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Reviewed-by: default avatarKirill Tkhai <ktkhai@virtuozzo.com>
      Cc: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: Andi Kleen <ak@linux.intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c77c0a8a
    • Navid Emamdoost's avatar
      mm/gup: fix memory leak in __gup_benchmark_ioctl · a7c46c0c
      Navid Emamdoost authored
      In the implementation of __gup_benchmark_ioctl() the allocated pages
      should be released before returning in case of an invalid cmd.  Release
      pages via kvfree().
      
      [akpm@linux-foundation.org: rework code flow, return -EINVAL rather than -1]
      Link: http://lkml.kernel.org/r/20191211174653.4102-1-navid.emamdoost@gmail.com
      Fixes: 714a3a1e ("mm/gup_benchmark.c: add additional pinning methods")
      Signed-off-by: default avatarNavid Emamdoost <navid.emamdoost@gmail.com>
      Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Reviewed-by: default avatarIra Weiny <ira.weiny@intel.com>
      Reviewed-by: default avatarJohn Hubbard <jhubbard@nvidia.com>
      Cc: Keith Busch <keith.busch@intel.com>
      Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Cc: Dave Hansen <dave.hansen@intel.com>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: David Hildenbrand <david@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a7c46c0c
    • Ilya Dryomov's avatar
      mm/oom: fix pgtables units mismatch in Killed process message · 941f762b
      Ilya Dryomov authored
      pr_err() expects kB, but mm_pgtables_bytes() returns the number of bytes.
      As everything else is printed in kB, I chose to fix the value rather than
      the string.
      
      Before:
      
      [  pid  ]   uid  tgid total_vm      rss pgtables_bytes swapents oom_score_adj name
      ...
      [   1878]  1000  1878   217253   151144  1269760        0             0 python
      ...
      Out of memory: Killed process 1878 (python) total-vm:869012kB, anon-rss:604572kB, file-rss:4kB, shmem-rss:0kB, UID:1000 pgtables:1269760kB oom_score_adj:0
      
      After:
      
      [  pid  ]   uid  tgid total_vm      rss pgtables_bytes swapents oom_score_adj name
      ...
      [   1436]  1000  1436   217253   151890  1294336        0             0 python
      ...
      Out of memory: Killed process 1436 (python) total-vm:869012kB, anon-rss:607516kB, file-rss:44kB, shmem-rss:0kB, UID:1000 pgtables:1264kB oom_score_adj:0
      
      Link: http://lkml.kernel.org/r/20191211202830.1600-1-idryomov@gmail.com
      Fixes: 70cb6d26 ("mm/oom: add oom_score_adj and pgtables to Killed process message")
      Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
      Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Acked-by: default avatarDavid Rientjes <rientjes@google.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Cc: Edward Chron <echron@arista.com>
      Cc: David Rientjes <rientjes@google.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      941f762b
    • Randy Dunlap's avatar
      fs/posix_acl.c: fix kernel-doc warnings · e39e773a
      Randy Dunlap authored
      Fix kernel-doc warnings in fs/posix_acl.c.
      Also fix one typo (setgit -> setgid).
      
        fs/posix_acl.c:647: warning: Function parameter or member 'inode' not described in 'posix_acl_update_mode'
        fs/posix_acl.c:647: warning: Function parameter or member 'mode_p' not described in 'posix_acl_update_mode'
        fs/posix_acl.c:647: warning: Function parameter or member 'acl' not described in 'posix_acl_update_mode'
      
      Link: http://lkml.kernel.org/r/29b0dc46-1f28-a4e5-b1d0-ba2b65629779@infradead.org
      Fixes: 07393101 ("posix_acl: Clear SGID bit when setting file permissions")
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Acked-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      Reviewed-by: default avatarJan Kara <jack@suse.cz>
      Cc: Jan Kara <jack@suse.cz>
      Cc: Andreas Gruenbacher <agruenba@redhat.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e39e773a
    • Nick Desaulniers's avatar
      hexagon: work around compiler crash · 63e80314
      Nick Desaulniers authored
      Clang cannot translate the string "r30" into a valid register yet.
      
      Link: https://github.com/ClangBuiltLinux/linux/issues/755
      Link: http://lkml.kernel.org/r/20191028155722.23419-1-ndesaulniers@google.comSigned-off-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Suggested-by: default avatarSid Manning <sidneym@quicinc.com>
      Reviewed-by: default avatarBrian Cain <bcain@codeaurora.org>
      Cc: Allison Randal <allison@lohutok.net>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Richard Fontana <rfontana@redhat.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      63e80314
    • Nick Desaulniers's avatar
      hexagon: parenthesize registers in asm predicates · 780a0cfd
      Nick Desaulniers authored
      Hexagon requires that register predicates in assembly be parenthesized.
      
      Link: https://github.com/ClangBuiltLinux/linux/issues/754
      Link: http://lkml.kernel.org/r/20191209222956.239798-3-ndesaulniers@google.comSigned-off-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Suggested-by: default avatarSid Manning <sidneym@codeaurora.org>
      Acked-by: default avatarBrian Cain <bcain@codeaurora.org>
      Cc: Lee Jones <lee.jones@linaro.org>
      Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
      Cc: Tuowen Zhao <ztuowen@gmail.com>
      Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
      Cc: Luis Chamberlain <mcgrof@kernel.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Alexios Zavras <alexios.zavras@intel.com>
      Cc: Allison Randal <allison@lohutok.net>
      Cc: Will Deacon <will@kernel.org>
      Cc: Richard Fontana <rfontana@redhat.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Boqun Feng <boqun.feng@gmail.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      780a0cfd
    • Eric Biggers's avatar
      fs/namespace.c: make to_mnt_ns() static · 213921f9
      Eric Biggers authored
      Make to_mnt_ns() static to address the following 'sparse' warning:
      
          fs/namespace.c:1731:22: warning: symbol 'to_mnt_ns' was not declared. Should it be static?
      
      Link: http://lkml.kernel.org/r/20191209234830.156260-1-ebiggers@kernel.orgSigned-off-by: default avatarEric Biggers <ebiggers@google.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      213921f9
    • Eric Biggers's avatar
      fs/nsfs.c: include headers for missing declarations · 7bebd69e
      Eric Biggers authored
      Include linux/proc_fs.h and fs/internal.h to address the following
      'sparse' warnings:
      
          fs/nsfs.c:41:32: warning: symbol 'ns_dentry_operations' was not declared. Should it be static?
          fs/nsfs.c:145:5: warning: symbol 'open_related_ns' was not declared. Should it be static?
      
      Link: http://lkml.kernel.org/r/20191209234822.156179-1-ebiggers@kernel.orgSigned-off-by: default avatarEric Biggers <ebiggers@google.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7bebd69e