1. 30 Sep, 2019 26 commits
  2. 29 Sep, 2019 8 commits
    • Olof Johansson's avatar
      Merge tag 'fixes-5.4-merge-window' of... · 9bfd7319
      Olof Johansson authored
      Merge tag 'fixes-5.4-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/fixes
      
      Fixes for omap variants
      
      Few fixes for ti-sysc interconnect target module driver for no-idle
      quirks that caused nfsroot to fail on some dra7 boards.
      
      And let's fixes to get LCD working again for logicpd board that got
      broken a while back with removal of panel-dpi driver. We need to now
      use generic CONFIG_DRM_PANEL_SIMPLE instead.
      
      * tag 'fixes-5.4-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        bus: ti-sysc: Remove unpaired sysc_clkdm_deny_idle()
        ARM: dts: logicpd-som-lv: Fix i2c2 and i2c3 Pin mux
        ARM: dts: am3517-evm: Fix missing video
        ARM: dts: logicpd-torpedo-baseboard: Fix missing video
        ARM: omap2plus_defconfig: Fix missing video
        bus: ti-sysc: Fix handling of invalid clocks
        bus: ti-sysc: Fix clock handling for no-idle quirks
      
      Link: https://lore.kernel.org/r/pull-1568819401-72461@atomide.comSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      9bfd7319
    • Olof Johansson's avatar
      Merge tag 'scmi-fixes-5.4' of... · a4207a1c
      Olof Johansson authored
      Merge tag 'scmi-fixes-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/fixes
      
      ARM SCMI fixes for v5.4
      
      Couple of fixes: one in scmi reset driver initialising missed scmi handle
      and an other in scmi reset API implementation fixing the assignment of
      reset state
      
      * tag 'scmi-fixes-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
        reset: reset-scmi: add missing handle initialisation
        firmware: arm_scmi: reset: fix reset_state assignment in scmi_domain_reset
      
      Link: https://lore.kernel.org/r/20190918142139.GA4370@bogusSigned-off-by: default avatarOlof Johansson <olof@lixom.net>
      a4207a1c
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-fixes-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · a3c0e7b1
      Linus Torvalds authored
      More libnvdimm updates from Dan Williams:
      
       - Complete the reworks to interoperate with powerpc dynamic huge page
         sizes
      
       - Fix a crash due to missed accounting for the powerpc 'struct
         page'-memmap mapping granularity
      
       - Fix badblock initialization for volatile (DRAM emulated) pmem ranges
      
       - Stop triggering request_key() notifications to userspace when
         NVDIMM-security is disabled / not present
      
       - Miscellaneous small fixups
      
      * tag 'libnvdimm-fixes-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        libnvdimm/region: Enable MAP_SYNC for volatile regions
        libnvdimm: prevent nvdimm from requesting key when security is disabled
        libnvdimm/region: Initialize bad block for volatile namespaces
        libnvdimm/nfit_test: Fix acpi_handle redefinition
        libnvdimm/altmap: Track namespace boundaries in altmap
        libnvdimm: Fix endian conversion issues 
        libnvdimm/dax: Pick the right alignment default when creating dax devices
        powerpc/book3s64: Export has_transparent_hugepage() related functions.
      a3c0e7b1
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal · 939ca9f1
      Linus Torvalds authored
      Pull thermal SoC updates from Eduardo Valentin:
       "This is a really small pull in the midst of a lot of pending patches.
      
        We are in the middle of restructuring how we are maintaining the
        thermal subsystem, as per discussion in our last LPC. For now, I am
        sending just some changes that were pending in my tree. Looking
        forward to get a more streamlined process in the next merge window"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal:
        thermal: db8500: Rewrite to be a pure OF sensor
        thermal: db8500: Use dev helper variable
        thermal: db8500: Finalize device tree conversion
        thermal: thermal_mmio: remove some dead code
      939ca9f1
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 9ecb3e10
      Linus Torvalds authored
      Pull  more i2c updates from Wolfram Sang:
      
       - make Lenovo Yoga C630 boot now that the dependencies are merged
      
       - restore BlockProcessCall for i801, accidently removed in this merge
         window
      
       - a bugfix for the riic driver
      
       - an improvement to the slave-eeprom driver which should have been in
         the first pull request but sadly got lost in the process
      
      * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: slave-eeprom: Add read only mode
        i2c: i801: Bring back Block Process Call support for certain platforms
        i2c: riic: Clear NACK in tend isr
        i2c: qcom-geni: Disable DMA processing on the Lenovo Yoga C630
      9ecb3e10
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 4d2af08e
      Linus Torvalds authored
      Pull iommu fixes from Joerg Roedel:
       "A couple of fixes for the AMD IOMMU driver have piled up:
      
         - Some fixes for the reworked IO page-table which caused memory leaks
           or did not allow to downgrade mappings under some conditions.
      
         - Locking fixes to fix a couple of possible races around accessing
           'struct protection_domain'. The races got introduced when the
           dma-ops path became lock-less in the fast-path"
      
      * tag 'iommu-fixes-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/amd: Lock code paths traversing protection_domain->dev_list
        iommu/amd: Lock dev_data in attach/detach code paths
        iommu/amd: Check for busy devices earlier in attach_device()
        iommu/amd: Take domain->lock for complete attach/detach path
        iommu/amd: Remove amd_iommu_devtable_lock
        iommu/amd: Remove domain->updated
        iommu/amd: Wait for completion of IOTLB flush in attach_device
        iommu/amd: Unmap all L7 PTEs when downgrading page-sizes
        iommu/amd: Introduce first_pte_l7() helper
        iommu/amd: Fix downgrading default page-sizes in alloc_pte()
        iommu/amd: Fix pages leak in free_pagetable()
      4d2af08e
    • Thomas Gleixner's avatar
      Documentation/process: Clarify disclosure rules · dc925a36
      Thomas Gleixner authored
      The role of the contact list provided by the disclosing party and how it
      affects the disclosure process and the ability to include experts into
      the development process is not really well explained.
      
      Neither is it entirely clear when the disclosing party will be informed
      about the fact that a developer who is not covered by an employer NDA needs
      to be brought in and disclosed.
      
      Explain the role of the contact list and the information policy along with
      an eventual conflict resolution better.
      Reported-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Acked-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Link: https://lore.kernel.org/r/alpine.DEB.2.21.1909251028390.10825@nanos.tec.linutronix.deSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      dc925a36
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 02dc96ef
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Sanity check URB networking device parameters to avoid divide by
          zero, from Oliver Neukum.
      
       2) Disable global multicast filter in NCSI, otherwise LLDP and IPV6
          don't work properly. Longer term this needs a better fix tho. From
          Vijay Khemka.
      
       3) Small fixes to selftests (use ping when ping6 is not present, etc.)
          from David Ahern.
      
       4) Bring back rt_uses_gateway member of struct rtable, it's semantics
          were not well understood and trying to remove it broke things. From
          David Ahern.
      
       5) Move usbnet snaity checking, ignore endpoints with invalid
          wMaxPacketSize. From Bjørn Mork.
      
       6) Missing Kconfig deps for sja1105 driver, from Mao Wenan.
      
       7) Various small fixes to the mlx5 DR steering code, from Alaa Hleihel,
          Alex Vesker, and Yevgeny Kliteynik
      
       8) Missing CAP_NET_RAW checks in various places, from Ori Nimron.
      
       9) Fix crash when removing sch_cbs entry while offloading is enabled,
          from Vinicius Costa Gomes.
      
      10) Signedness bug fixes, generally in looking at the result given by
          of_get_phy_mode() and friends. From Dan Crapenter.
      
      11) Disable preemption around BPF_PROG_RUN() calls, from Eric Dumazet.
      
      12) Don't create VRF ipv6 rules if ipv6 is disabled, from David Ahern.
      
      13) Fix quantization code in tcp_bbr, from Kevin Yang.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (127 commits)
        net: tap: clean up an indentation issue
        nfp: abm: fix memory leak in nfp_abm_u32_knode_replace
        tcp: better handle TCP_USER_TIMEOUT in SYN_SENT state
        sk_buff: drop all skb extensions on free and skb scrubbing
        tcp_bbr: fix quantization code to not raise cwnd if not probing bandwidth
        mlxsw: spectrum_flower: Fail in case user specifies multiple mirror actions
        Documentation: Clarify trap's description
        mlxsw: spectrum: Clear VLAN filters during port initialization
        net: ena: clean up indentation issue
        NFC: st95hf: clean up indentation issue
        net: phy: micrel: add Asym Pause workaround for KSZ9021
        net: socionext: ave: Avoid using netdev_err() before calling register_netdev()
        ptp: correctly disable flags on old ioctls
        lib: dimlib: fix help text typos
        net: dsa: microchip: Always set regmap stride to 1
        nfp: flower: fix memory leak in nfp_flower_spawn_vnic_reprs
        nfp: flower: prevent memory leak in nfp_flower_spawn_phy_reprs
        net/sched: Set default of CONFIG_NET_TC_SKB_EXT to N
        vrf: Do not attempt to create IPv6 mcast rule if IPv6 is disabled
        net: sched: sch_sfb: don't call qdisc_put() while holding tree lock
        ...
      02dc96ef
  3. 28 Sep, 2019 6 commits
    • Linus Torvalds's avatar
      Merge branch 'hugepage-fallbacks' (hugepatch patches from David Rientjes) · edf445ad
      Linus Torvalds authored
      Merge hugepage allocation updates from David Rientjes:
       "We (mostly Linus, Andrea, and myself) have been discussing offlist how
        to implement a sane default allocation strategy for hugepages on NUMA
        platforms.
      
        With these reverts in place, the page allocator will happily allocate
        a remote hugepage immediately rather than try to make a local hugepage
        available. This incurs a substantial performance degradation when
        memory compaction would have otherwise made a local hugepage
        available.
      
        This series reverts those reverts and attempts to propose a more sane
        default allocation strategy specifically for hugepages. Andrea
        acknowledges this is likely to fix the swap storms that he originally
        reported that resulted in the patches that removed __GFP_THISNODE from
        hugepage allocations.
      
        The immediate goal is to return 5.3 to the behavior the kernel has
        implemented over the past several years so that remote hugepages are
        not immediately allocated when local hugepages could have been made
        available because the increased access latency is untenable.
      
        The next goal is to introduce a sane default allocation strategy for
        hugepages allocations in general regardless of the configuration of
        the system so that we prevent thrashing of local memory when
        compaction is unlikely to succeed and can prefer remote hugepages over
        remote native pages when the local node is low on memory."
      
      Note on timing: this reverts the hugepage VM behavior changes that got
      introduced fairly late in the 5.3 cycle, and that fixed a huge
      performance regression for certain loads that had been around since
      4.18.
      
      Andrea had this note:
      
       "The regression of 4.18 was that it was taking hours to start a VM
        where 3.10 was only taking a few seconds, I reported all the details
        on lkml when it was finally tracked down in August 2018.
      
           https://lore.kernel.org/linux-mm/20180820032640.9896-2-aarcange@redhat.com/
      
        __GFP_THISNODE in MADV_HUGEPAGE made the above enterprise vfio
        workload degrade like in the "current upstream" above. And it still
        would have been that bad as above until 5.3-rc5"
      
      where the bad behavior ends up happening as you fill up a local node,
      and without that change, you'd get into the nasty swap storm behavior
      due to compaction working overtime to make room for more memory on the
      nodes.
      
      As a result 5.3 got the two performance fix reverts in rc5.
      
      However, David Rientjes then noted that those performance fixes in turn
      regressed performance for other loads - although not quite to the same
      degree.  He suggested reverting the reverts and instead replacing them
      with two small changes to how hugepage allocations are done (patch
      descriptions rephrased by me):
      
       - "avoid expensive reclaim when compaction may not succeed": just admit
         that the allocation failed when you're trying to allocate a huge-page
         and compaction wasn't successful.
      
       - "allow hugepage fallback to remote nodes when madvised": when that
         node-local huge-page allocation failed, retry without forcing the
         local node.
      
      but by then I judged it too late to replace the fixes for a 5.3 release.
      So 5.3 was released with behavior that harked back to the pre-4.18 logic.
      
      But now we're in the merge window for 5.4, and we can see if this
      alternate model fixes not just the horrendous swap storm behavior, but
      also restores the performance regression that the late reverts caused.
      
      Fingers crossed.
      
      * emailed patches from David Rientjes <rientjes@google.com>:
        mm, page_alloc: allow hugepage fallback to remote nodes when madvised
        mm, page_alloc: avoid expensive reclaim when compaction may not succeed
        Revert "Revert "Revert "mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask""
        Revert "Revert "mm, thp: restore node-local hugepage allocations""
      edf445ad
    • Steven Rostedt (VMware)'s avatar
      selftests/ftrace: Fix same probe error test · 8ed4889e
      Steven Rostedt (VMware) authored
      The "same probe" selftest that tests that adding the same probe fails
      doesn't add the same probe and passes, which fails the test.
      
      Fixes: b78b94b8 ("selftests/ftrace: Update kprobe event error testcase")
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      8ed4889e
    • Changbin Du's avatar
      mm, tracing: Print symbol name for call_site in trace events · f7d6316f
      Changbin Du authored
      To improve the readability of raw slab trace points, print the call_site ip
      using '%pS'. Then we can grep events with function names.
      
      [002] ....   808.188897: kmem_cache_free: call_site=putname+0x47/0x50 ptr=00000000cef40c80
      [002] ....   808.188898: kfree: call_site=security_cred_free+0x42/0x50 ptr=0000000062400820
      [002] ....   808.188904: kmem_cache_free: call_site=put_cred_rcu+0x88/0xa0 ptr=0000000058d74ef8
      [002] ....   808.188913: kmem_cache_alloc: call_site=prepare_creds+0x26/0x100 ptr=0000000058d74ef8 bytes_req=168 bytes_alloc=576 gfp_flags=GFP_KERNEL
      [002] ....   808.188917: kmalloc: call_site=security_prepare_creds+0x77/0xa0 ptr=0000000062400820 bytes_req=8 bytes_alloc=336 gfp_flags=GFP_KERNEL|__GFP_ZERO
      [002] ....   808.188920: kmem_cache_alloc: call_site=getname_flags+0x4f/0x1e0 ptr=00000000cef40c80 bytes_req=4096 bytes_alloc=4480 gfp_flags=GFP_KERNEL
      [002] ....   808.188925: kmem_cache_free: call_site=putname+0x47/0x50 ptr=00000000cef40c80
      [002] ....   808.188926: kfree: call_site=security_cred_free+0x42/0x50 ptr=0000000062400820
      [002] ....   808.188931: kmem_cache_free: call_site=put_cred_rcu+0x88/0xa0 ptr=0000000058d74ef8
      
      Link: http://lkml.kernel.org/r/20190914103215.23301-1-changbin.du@gmail.comSigned-off-by: default avatarChangbin Du <changbin.du@gmail.com>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      f7d6316f
    • Navid Emamdoost's avatar
      tracing: Have error path in predicate_parse() free its allocated memory · 96c5c6e6
      Navid Emamdoost authored
      In predicate_parse, there is an error path that is not going to
      out_free instead it returns directly which leads to a memory leak.
      
      Link: http://lkml.kernel.org/r/20190920225800.3870-1-navid.emamdoost@gmail.comSigned-off-by: default avatarNavid Emamdoost <navid.emamdoost@gmail.com>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      96c5c6e6
    • Nathan Chancellor's avatar
      tracing: Fix clang -Wint-in-bool-context warnings in IF_ASSIGN macro · 968e5170
      Nathan Chancellor authored
      After r372664 in clang, the IF_ASSIGN macro causes a couple hundred
      warnings along the lines of:
      
      kernel/trace/trace_output.c:1331:2: warning: converting the enum
      constant to a boolean [-Wint-in-bool-context]
      kernel/trace/trace.h:409:3: note: expanded from macro
      'trace_assign_type'
                      IF_ASSIGN(var, ent, struct ftrace_graph_ret_entry,
                      ^
      kernel/trace/trace.h:371:14: note: expanded from macro 'IF_ASSIGN'
                      WARN_ON(id && (entry)->type != id);     \
                                 ^
      264 warnings generated.
      
      This warning can catch issues with constructs like:
      
          if (state == A || B)
      
      where the developer really meant:
      
          if (state == A || state == B)
      
      This is currently the only occurrence of the warning in the kernel
      tree across defconfig, allyesconfig, allmodconfig for arm32, arm64,
      and x86_64. Add the implicit '!= 0' to the WARN_ON statement to fix
      the warnings and find potential issues in the future.
      
      Link: https://github.com/llvm/llvm-project/commit/28b38c277a2941e9e891b2db30652cfd962f070b
      Link: https://github.com/ClangBuiltLinux/linux/issues/686
      Link: http://lkml.kernel.org/r/20190926162258.466321-1-natechancellor@gmail.comReviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Signed-off-by: default avatarNathan Chancellor <natechancellor@gmail.com>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      968e5170
    • Masami Hiramatsu's avatar
      tracing/probe: Fix to check the difference of nr_args before adding probe · d2aea95a
      Masami Hiramatsu authored
      Steven reported that a test triggered:
      
      ==================================================================
       BUG: KASAN: slab-out-of-bounds in trace_kprobe_create+0xa9e/0xe40
       Read of size 8 at addr ffff8880c4f25a48 by task ftracetest/4798
      
       CPU: 2 PID: 4798 Comm: ftracetest Not tainted 5.3.0-rc6-test+ #30
       Hardware name: Hewlett-Packard HP Compaq Pro 6300 SFF/339A, BIOS K01 v03.03 07/14/2016
       Call Trace:
        dump_stack+0x7c/0xc0
        ? trace_kprobe_create+0xa9e/0xe40
        print_address_description+0x6c/0x332
        ? trace_kprobe_create+0xa9e/0xe40
        ? trace_kprobe_create+0xa9e/0xe40
        __kasan_report.cold.6+0x1a/0x3b
        ? trace_kprobe_create+0xa9e/0xe40
        kasan_report+0xe/0x12
        trace_kprobe_create+0xa9e/0xe40
        ? print_kprobe_event+0x280/0x280
        ? match_held_lock+0x1b/0x240
        ? find_held_lock+0xac/0xd0
        ? fs_reclaim_release.part.112+0x5/0x20
        ? lock_downgrade+0x350/0x350
        ? kasan_unpoison_shadow+0x30/0x40
        ? __kasan_kmalloc.constprop.6+0xc1/0xd0
        ? trace_kprobe_create+0xe40/0xe40
        ? trace_kprobe_create+0xe40/0xe40
        create_or_delete_trace_kprobe+0x2e/0x60
        trace_run_command+0xc3/0xe0
        ? trace_panic_handler+0x20/0x20
        ? kasan_unpoison_shadow+0x30/0x40
        trace_parse_run_command+0xdc/0x163
        vfs_write+0xe1/0x240
        ksys_write+0xba/0x150
        ? __ia32_sys_read+0x50/0x50
        ? tracer_hardirqs_on+0x61/0x180
        ? trace_hardirqs_off_caller+0x43/0x110
        ? mark_held_locks+0x29/0xa0
        ? do_syscall_64+0x14/0x260
        do_syscall_64+0x68/0x260
      
      Fix to check the difference of nr_args before adding probe
      on existing probes. This also may set the error log index
      bigger than the number of command parameters. In that case
      it sets the error position is next to the last parameter.
      
      Link: http://lkml.kernel.org/r/156966474783.3478.13217501608215769150.stgit@devnote2
      
      Fixes: ca89bc07 ("tracing/kprobe: Add multi-probe per event support")
      Reported-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
      Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      d2aea95a