05 Oct, 2019

1 commit


02 Oct, 2019

2 commits

  • The description of "regulator-boot-on" was a little unclear, at least
    to me. Did this property mean that we should turn the regulator on at
    boot? Or perhaps it was intended only to be used for regulators where
    we couldn't read the state at bootup to indicate what state we should
    assume? The answer, it turns out, is both [1].

    Let's document this.

    [1] https://lore.kernel.org/r/20190923181431.GU2036@sirena.org.uk

    Signed-off-by: Douglas Anderson
    Link: https://lore.kernel.org/r/20191001124531.v2.1.Ice34ad5970a375c3c03cb15c3859b3ee501561bf@changeid
    Signed-off-by: Mark Brown

    Douglas Anderson
     
  • This fixes device probing when built as a module

    Signed-off-by: Guido Günther
    Link: https://lore.kernel.org/r/46ce3400e227dd88d51486c02a6152c9ec52acbb.1569875042.git.agx@sigxcpu.org
    Signed-off-by: Mark Brown

    Guido Günther
     

01 Oct, 2019

13 commits

  • drivers/regulator/pcap-regulator.c:89:27: warning:
    SW3_table defined but not used [-Wunused-const-variable=]

    It is never used, so can be removed.

    Signed-off-by: YueHaibing
    Link: https://lore.kernel.org/r/20190928085540.45332-1-yuehaibing@huawei.com
    Signed-off-by: Mark Brown

    YueHaibing
     
  • The sleep flag bit decides the mode for BUCK_MODE_MANUAL case, simplify
    the logic as the result is the same.

    Signed-off-by: Axel Lin
    Reviewed-by: Adam Thomson
    Link: https://lore.kernel.org/r/20190926055128.23434-2-axel.lin@ingics.com
    Signed-off-by: Mark Brown

    Axel Lin
     
  • Use of_device_get_match_data to simplify the code a bit.

    Signed-off-by: Axel Lin
    Link: https://lore.kernel.org/r/20190925101256.19030-1-axel.lin@ingics.com
    Signed-off-by: Mark Brown

    Axel Lin
     
  • This Power IC is used in combination with various PMIC combos,
    generally found on boards with MSM8992, MSM8994, MSM8996,
    MSM8956, MSM8976 and others, usually at address 0x5 on the SPMI
    bus, and its usual usage is to provide power to the GPU and/or
    to the CPU clusters (APC0/APC1).

    Signed-off-by: Angelo G. Del Regno
    Link: https://lore.kernel.org/r/20190921095043.62593-6-kholk11@gmail.com
    Signed-off-by: Mark Brown

    Angelo G. Del Regno
     
  • The PM8950 provides 6 SMPS regulators, of which 5 HFSMPS
    and one FTSMPS2.5 (s5), and 23 LDOs.
    Add these to the RPM regulator driver.

    Signed-off-by: Angelo G. Del Regno
    Link: https://lore.kernel.org/r/20190921095043.62593-4-kholk11@gmail.com
    Signed-off-by: Mark Brown

    Angelo G. Del Regno
     
  • The PM8950 has 5 HFSMPS, 1 FTSMPS2.5 (s5, controlling APC voltage)
    and 23 LDO regulators.
    Add the configuration for this chip.

    Signed-off-by: Angelo G. Del Regno
    Link: https://lore.kernel.org/r/20190921095043.62593-3-kholk11@gmail.com
    Signed-off-by: Mark Brown

    Angelo G. Del Regno
     
  • Compatible property is not of type 'string', so remove const:
    from it.

    Signed-off-by: Pragnesh Patel
    Acked-by: Rob Herring
    Link: https://lore.kernel.org/r/1568875145-2864-1-git-send-email-pragnesh.patel@sifive.com
    Signed-off-by: Mark Brown

    Pragnesh Patel
     
  • Linus Torvalds
     
  • Pull btrfs fixes from David Sterba:
    "A bunch of fixes that accumulated in recent weeks, mostly material for
    stable.

    Summary:

    - fix for regression from 5.3 that prevents to use balance convert
    with single profile

    - qgroup fixes: rescan race, accounting leak with multiple writers,
    potential leak after io failure recovery

    - fix for use after free in relocation (reported by KASAN)

    - other error handling fixups"

    * tag 'for-5.4-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
    btrfs: qgroup: Fix reserved data space leak if we have multiple reserve calls
    btrfs: qgroup: Fix the wrong target io_tree when freeing reserved data space
    btrfs: Fix a regression which we can't convert to SINGLE profile
    btrfs: relocation: fix use-after-free on dead relocation roots
    Btrfs: fix race setting up and completing qgroup rescan workers
    Btrfs: fix missing error return if writeback for extent buffer never started
    btrfs: adjust dirty_metadata_bytes after writeback failure of extent buffer
    Btrfs: fix selftests failure due to uninitialized i_mode in test inodes

    Linus Torvalds
     
  • Pull csky updates from Guo Ren:
    "This round of csky subsystem just some fixups:

    - Fix mb() synchronization problem

    - Fix dma_alloc_coherent with PAGE_SO attribute

    - Fix cache_op failed when cross memory ZONEs

    - Optimize arch_sync_dma_for_cpu/device with dma_inv_range

    - Fix ioremap function losing

    - Fix arch_get_unmapped_area() implementation

    - Fix defer cache flush for 610

    - Support kernel non-aligned access

    - Fix 610 vipt cache flush mechanism

    - Fix add zero_fp fixup perf backtrace panic

    - Move static keyword to the front of declaration

    - Fix csky_pmu.max_period assignment

    - Use generic free_initrd_mem()

    - entry: Remove unneeded need_resched() loop"

    * tag 'csky-for-linus-5.4-rc1' of git://github.com/c-sky/csky-linux:
    csky: Move static keyword to the front of declaration
    csky: entry: Remove unneeded need_resched() loop
    csky: Fixup csky_pmu.max_period assignment
    csky: Fixup add zero_fp fixup perf backtrace panic
    csky: Use generic free_initrd_mem()
    csky: Fixup 610 vipt cache flush mechanism
    csky: Support kernel non-aligned access
    csky: Fixup defer cache flush for 610
    csky: Fixup arch_get_unmapped_area() implementation
    csky: Fixup ioremap function losing
    csky: Optimize arch_sync_dma_for_cpu/device with dma_inv_range
    csky/dma: Fixup cache_op failed when cross memory ZONEs
    csky: Fixup dma_alloc_coherent with PAGE_SO attribute
    csky: Fixup mb() synchronization problem

    Linus Torvalds
     
  • Pull ARM SoC fixes from Olof Johansson:
    "A few fixes that have trickled in through the merge window:

    - Video fixes for OMAP due to panel-dpi driver removal

    - Clock fixes for OMAP that broke no-idle quirks + nfsroot on DRA7

    - Fixing arch version on ASpeed ast2500

    - Two fixes for reset handling on ARM SCMI"

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
    ARM: aspeed: ast2500 is ARMv6K
    reset: reset-scmi: add missing handle initialisation
    firmware: arm_scmi: reset: fix reset_state assignment in scmi_domain_reset
    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

    Linus Torvalds
     
  • Pull tracing fixes from Steven Rostedt:
    "A few more tracing fixes:

    - Fix a buffer overflow by checking nr_args correctly in probes

    - Fix a warning that is reported by clang

    - Fix a possible memory leak in error path of filter processing

    - Fix the selftest that checks for failures, but wasn't failing

    - Minor clean up on call site output of a memory trace event"

    * tag 'trace-v5.4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    selftests/ftrace: Fix same probe error test
    mm, tracing: Print symbol name for call_site in trace events
    tracing: Have error path in predicate_parse() free its allocated memory
    tracing: Fix clang -Wint-in-bool-context warnings in IF_ASSIGN macro
    tracing/probe: Fix to check the difference of nr_args before adding probe

    Linus Torvalds
     
  • Pull more MMC updates from Ulf Hansson:
    "A couple more updates/fixes for MMC:

    - sdhci-pci: Add Genesys Logic GL975x support

    - sdhci-tegra: Recover loss in throughput for DMA

    - sdhci-of-esdhc: Fix DMA bug"

    * tag 'mmc-v5.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
    mmc: host: sdhci-pci: Add Genesys Logic GL975x support
    mmc: tegra: Implement ->set_dma_mask()
    mmc: sdhci: Let drivers define their DMA mask
    mmc: sdhci-of-esdhc: set DMA snooping based on DMA coherence
    mmc: sdhci: improve ADMA error reporting

    Linus Torvalds
     

30 Sep, 2019

17 commits

  • Move the static keyword to the front of declaration of
    csky_pmu_of_device_ids, and resolve the following compiler
    warning that can be seen when building with warnings
    enabled (W=1):

    arch/csky/kernel/perf_event.c:1340:1: warning:
    ‘static’ is not at beginning of declaration [-Wold-style-declaration]

    Signed-off-by: Krzysztof Wilczynski
    Signed-off-by: Guo Ren

    Krzysztof Wilczynski
     
  • Since the enabling and disabling of IRQs within preempt_schedule_irq()
    is contained in a need_resched() loop, we don't need the outer arch
    code loop.

    Signed-off-by: Valentin Schneider
    Signed-off-by: Guo Ren

    Valentin Schneider
     
  • Pull Documentation/process update from Greg KH:
    "Here are two small Documentation/process/embargoed-hardware-issues.rst
    file updates that missed my previous char/misc pull request.

    The first one adds an Intel representative for the process, and the
    second one cleans up the text a bit more when it comes to how the
    disclosure rules work, as it was a bit confusing to some companies"

    * tag 'char-misc-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    Documentation/process: Clarify disclosure rules
    Documentation/process: Volunteer as the ambassador for Intel

    Linus Torvalds
     
  • Pull more vfs updates from Al Viro:
    "A couple of misc patches"

    * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    afs dynroot: switch to simple_dir_operations
    fs/handle.c - fix up kerneldoc

    Linus Torvalds
     
  • Pull more cifs updates from Steve French:
    "Fixes from the recent SMB3 Test events and Storage Developer
    Conference (held the last two weeks).

    Here are nine smb3 patches including an important patch for debugging
    traces with wireshark, with three patches marked for stable.

    Additional fixes from last week to better handle some newly discovered
    reparse points, and a fix the create/mkdir path for setting the mode
    more atomically (in SMB3 Create security descriptor context), and one
    for path name processing are still being tested so are not included
    here"

    * tag '5.4-rc-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
    CIFS: Fix oplock handling for SMB 2.1+ protocols
    smb3: missing ACL related flags
    smb3: pass mode bits into create calls
    smb3: Add missing reparse tags
    CIFS: fix max ea value size
    fs/cifs/sess.c: Remove set but not used variable 'capabilities'
    fs/cifs/smb2pdu.c: Make SMB2_notify_init static
    smb3: fix leak in "open on server" perf counter
    smb3: allow decryption keys to be dumped by admin for debugging

    Linus Torvalds
     
  • The csky_pmu.max_period has type u64, and BIT() can only return
    32 bits unsigned long on C-SKY. The initialization for max_period
    will be incorrect when count_width is bigger than 32.

    Use BIT_ULL()

    Signed-off-by: Mao Han
    Signed-off-by: Guo Ren

    Mao Han
     
  • We need set fp zero to let backtrace know the end. The patch fixup perf
    callchain panic problem, because backtrace didn't know what is the end
    of fp.

    Signed-off-by: Guo Ren
    Reported-by: Mao Han

    Guo Ren
     
  • The csky implementation of free_initrd_mem() is an open-coded version of
    free_reserved_area() without poisoning.

    Remove it and make csky use the generic version of free_initrd_mem().

    Signed-off-by: Mike Rapoport
    Signed-off-by: Guo Ren

    Mike Rapoport
     
  • Merge active entropy generation updates.

    This is admittedly partly "for discussion". We need to have a way
    forward for the boot time deadlocks where user space ends up waiting for
    more entropy, but no entropy is forthcoming because the system is
    entirely idle just waiting for something to happen.

    While this was triggered by what is arguably a user space bug with
    GDM/gnome-session asking for secure randomness during early boot, when
    they didn't even need any such truly secure thing, the issue ends up
    being that our "getrandom()" interface is prone to that kind of
    confusion, because people don't think very hard about whether they want
    to block for sufficient amounts of entropy.

    The approach here-in is to decide to not just passively wait for entropy
    to happen, but to start actively collecting it if it is missing. This
    is not necessarily always possible, but if the architecture has a CPU
    cycle counter, there is a fair amount of noise in the exact timings of
    reasonably complex loads.

    We may end up tweaking the load and the entropy estimates, but this
    should be at least a reasonable starting point.

    As part of this, we also revert the revert of the ext4 IO pattern
    improvement that ended up triggering the reported lack of external
    entropy.

    * getrandom() active entropy waiting:
    Revert "Revert "ext4: make __ext4_get_inode_loc plug""
    random: try to actively add entropy rather than passively wait for it

    Linus Torvalds
     
  • This reverts commit 72dbcf72156641fde4d8ea401e977341bfd35a05.

    Instead of waiting forever for entropy that may just not happen, we now
    try to actively generate entropy when required, and are thus hopefully
    avoiding the problem that caused the nice ext4 IO pattern fix to be
    reverted.

    So revert the revert.

    Cc: Ahmed S. Darwish
    Cc: Ted Ts'o
    Cc: Willy Tarreau
    Cc: Alexander E. Patrakov
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • For 5.3 we had to revert a nice ext4 IO pattern improvement, because it
    caused a bootup regression due to lack of entropy at bootup together
    with arguably broken user space that was asking for secure random
    numbers when it really didn't need to.

    See commit 72dbcf721566 (Revert "ext4: make __ext4_get_inode_loc plug").

    This aims to solve the issue by actively generating entropy noise using
    the CPU cycle counter when waiting for the random number generator to
    initialize. This only works when you have a high-frequency time stamp
    counter available, but that's the case on all modern x86 CPU's, and on
    most other modern CPU's too.

    What we do is to generate jitter entropy from the CPU cycle counter
    under a somewhat complex load: calling the scheduler while also
    guaranteeing a certain amount of timing noise by also triggering a
    timer.

    I'm sure we can tweak this, and that people will want to look at other
    alternatives, but there's been a number of papers written on jitter
    entropy, and this should really be fairly conservative by crediting one
    bit of entropy for every timer-induced jump in the cycle counter. Not
    because the timer itself would be all that unpredictable, but because
    the interaction between the timer and the loop is going to be.

    Even if (and perhaps particularly if) the timer actually happens on
    another CPU, the cacheline interaction between the loop that reads the
    cycle counter and the timer itself firing is going to add perturbations
    to the cycle counter values that get mixed into the entropy pool.

    As Thomas pointed out, with a modern out-of-order CPU, even quite simple
    loops show a fair amount of hard-to-predict timing variability even in
    the absense of external interrupts. But this tries to take that further
    by actually having a fairly complex interaction.

    This is not going to solve the entropy issue for architectures that have
    no CPU cycle counter, but it's not clear how (and if) that is solvable,
    and the hardware in question is largely starting to be irrelevant. And
    by doing this we can at least avoid some of the even more contentious
    approaches (like making the entropy waiting time out in order to avoid
    the possibly unbounded waiting).

    Cc: Ahmed Darwish
    Cc: Thomas Gleixner
    Cc: Theodore Ts'o
    Cc: Nicholas Mc Guire
    Cc: Andy Lutomirski
    Cc: Kees Cook
    Cc: Willy Tarreau
    Cc: Alexander E. Patrakov
    Cc: Lennart Poettering
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • …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.com
    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • …ep.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@bogus
    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • 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.

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • 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()

    Linus Torvalds
     

29 Sep, 2019

7 commits

  • 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: Dave Hansen
    Signed-off-by: Thomas Gleixner
    Acked-by: Dave Hansen
    Link: https://lore.kernel.org/r/alpine.DEB.2.21.1909251028390.10825@nanos.tec.linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • 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
    ...

    Linus Torvalds
     
  • 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 :
    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""

    Linus Torvalds
     
  • 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: b78b94b82122 ("selftests/ftrace: Update kprobe event error testcase")
    Signed-off-by: Steven Rostedt (VMware)

    Steven Rostedt (VMware)
     
  • 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.com

    Signed-off-by: Changbin Du
    Signed-off-by: Steven Rostedt (VMware)

    Changbin Du
     
  • 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.com

    Signed-off-by: Navid Emamdoost
    Signed-off-by: Steven Rostedt (VMware)

    Navid Emamdoost
     
  • 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.com

    Reviewed-by: Nick Desaulniers
    Signed-off-by: Nathan Chancellor
    Signed-off-by: Steven Rostedt (VMware)

    Nathan Chancellor