14 Jun, 2020

1 commit

  • Since commit 84af7a6194e4 ("checkpatch: kconfig: prefer 'help' over
    '---help---'"), the number of '---help---' has been gradually
    decreasing, but there are still more than 2400 instances.

    This commit finishes the conversion. While I touched the lines,
    I also fixed the indentation.

    There are a variety of indentation styles found.

    a) 4 spaces + '---help---'
    b) 7 spaces + '---help---'
    c) 8 spaces + '---help---'
    d) 1 space + 1 tab + '---help---'
    e) 1 tab + '---help---' (correct indentation)
    f) 1 tab + 1 space + '---help---'
    g) 1 tab + 2 spaces + '---help---'

    In order to convert all of them to 1 tab + 'help', I ran the
    following commend:

    $ find . -name 'Kconfig*' | xargs sed -i 's/^[[:space:]]*---help---/\thelp/'

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

11 Jun, 2020

26 commits

  • Redefine GZIP, BZIP2, LZOP variables as KGZIP, KBZIP2, KLZOP resp.
    GZIP, BZIP2, LZOP env variables are reserved by the tools. The original
    attempt to redefine them internally doesn't work in makefiles/scripts
    intercall scenarios, e.g., "make GZIP=gzip bindeb-pkg" and results in
    broken builds. There can be other broken build commands because of this,
    so the universal solution is to use non-reserved env variables for the
    compression tools.

    Fixes: 8dfb61dcbace ("kbuild: add variables for compression tools")
    Signed-off-by: Denis Efremov
    Tested-by: Guenter Roeck
    Signed-off-by: Masahiro Yamada

    Denis Efremov
     
  • Even after commit c624adc9cb6e ("samples: fix binderfs sample"), this
    sample is never compiled.

    'hostprogs' teaches Kbuild that this is a host program, but not enough
    to order to compile it. You must add it to 'always-y' to really compile
    it.

    Since this sample has never been compiled in upstream, various issues
    are left unnoticed.

    [1] compilers without are still widely used

    is only available since commit c13295ad219d
    ("binderfs: rename header to binderfs.h"), i.e., Linux 5.0

    If your compiler is based on UAPI headers older than Linux 5.0, you
    will see the following error:

    samples/binderfs/binderfs_example.c:16:10: fatal error: linux/android/binderfs.h: No such file or directory
    #include
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
    compilation terminated.

    You cannot rely on compilers having such a new header.

    The common approach is to install UAPI headers of this kernel into
    usr/include, and then add it to the header search path.

    I added 'depends on HEADERS_INSTALL' in Kconfig, and '-I usr/include'
    compiler flag in Makefile.

    [2] compile the sample for target architecture

    Because headers_install works for the target architecture, only the
    native compiler was able to build sample code that requires
    '-I usr/include'.

    Commit 7f3a59db274c ("kbuild: add infrastructure to build userspace
    programs") added the new syntax 'userprogs' to compile user-space
    programs for the target architecture.

    Use it, and then 'ifndef CROSS_COMPILE' will go away.

    I added 'depends on CC_CAN_LINK' because $(CC) is not necessarily
    capable of linking user-space programs.

    [3] use subdir-y to descend into samples/binderfs

    Since this directory does not contain any kernel-space code, it has no
    point in generating built-in.a or modules.order.

    Replace obj-$(CONFIG_...) with subdir-$(CONFIG_...).

    [4] -Wunused-variable warning

    If I compile this, I see the following warning.

    samples/binderfs/binderfs_example.c: In function 'main':
    samples/binderfs/binderfs_example.c:21:9: warning: unused variable 'len' [-Wunused-variable]
    21 | size_t len;
    | ^~~

    I removed the unused 'len'.

    [5] CONFIG_ANDROID_BINDERFS is not required

    Since this is a user-space standalone program, it is independent of
    the kernel configuration.

    Remove 'depends on ANDROID_BINDERFS'.

    Fixes: 9762dc1432e1 ("samples: add binderfs sample program")
    Fixes: c624adc9cb6e ("samples: fix binderfs sample")
    Signed-off-by: Masahiro Yamada
    Acked-by: Christian Brauner

    Masahiro Yamada
     
  • Pull epoll update from Al Viro:
    "epoll conversion to read_iter from Jens; I thought there might be more
    epoll stuff this cycle, but uaccess took too much time"

    * 'work.epoll' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    eventfd: convert to f_op->read_iter()

    Linus Torvalds
     
  • Pull vfs fixes from Al Viro:
    "A couple of trivial patches that fell through the cracks last cycle"

    * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    fs: fix indentation in deactivate_super()
    vfs: Remove duplicated d_mountpoint check in __is_local_mountpoint

    Linus Torvalds
     
  • Pull sysctl fixes from Al Viro:
    "Fixups to regressions in sysctl series"

    * 'work.sysctl' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    sysctl: reject gigantic reads/write to sysctl files
    cdrom: fix an incorrect __user annotation on cdrom_sysctl_info
    trace: fix an incorrect __user annotation on stack_trace_sysctl
    random: fix an incorrect __user annotation on proc_do_entropy
    net/sysctl: remove leftover __user annotations on neigh_proc_dointvec*
    net/sysctl: use cpumask_parse in flow_limit_cpu_sysctl

    Linus Torvalds
     
  • Pull i915 uaccess updates from Al Viro:
    "Low-hanging fruit in i915; there are several trickier followups, but
    that'll wait for the next cycle"

    * 'uaccess.i915' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    i915:get_engines(): get rid of pointless access_ok()
    i915: alloc_oa_regs(): get rid of pointless access_ok()
    i915 compat ioctl(): just use drm_ioctl_kernel()
    i915: switch copy_perf_config_registers_or_number() to unsafe_put_user()
    i915: switch query_{topology,engine}_info() to copy_to_user()

    Linus Torvalds
     
  • Pull misc uaccess updates from Al Viro:
    "Assorted uaccess patches for this cycle - the stuff that didn't fit
    into thematic series"

    * 'uaccess.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    bpf: make bpf_check_uarg_tail_zero() use check_zeroed_user()
    x86: kvm_hv_set_msr(): use __put_user() instead of 32bit __clear_user()
    user_regset_copyout_zero(): use clear_user()
    TEST_ACCESS_OK _never_ had been checked anywhere
    x86: switch cp_stat64() to unsafe_put_user()
    binfmt_flat: don't use __put_user()
    binfmt_elf_fdpic: don't use __... uaccess primitives
    binfmt_elf: don't bother with __{put,copy_to}_user()
    pselect6() and friends: take handling the combined 6th/7th args into helper

    Linus Torvalds
     
  • Pull proc fix from Eric Biederman:
    "Syzbot found a NULL pointer dereference if kzalloc of s_fs_info fails"

    * 'proc-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
    proc: s_fs_info may be NULL when proc_kill_sb is called

    Linus Torvalds
     
  • Pull READ/WRITE_ONCE rework from Will Deacon:
    "This the READ_ONCE rework I've been working on for a while, which
    bumps the minimum GCC version and improves code-gen on arm64 when
    stack protector is enabled"

    [ Side note: I'm _really_ tempted to raise the minimum gcc version to
    4.9, so that we can just say that we require _Generic() support.

    That would allow us to more cleanly handle a lot of the cases where we
    depend on very complex macros with 'sizeof' or __builtin_choose_expr()
    with __builtin_types_compatible_p() etc.

    This branch has a workaround for sparse not handling _Generic(),
    either, but that was already fixed in the sparse development branch,
    so it's really just gcc-4.9 that we'd require. - Linus ]

    * 'rwonce/rework' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux:
    compiler_types.h: Use unoptimized __unqual_scalar_typeof for sparse
    compiler_types.h: Optimize __unqual_scalar_typeof compilation time
    compiler.h: Enforce that READ_ONCE_NOCHECK() access size is sizeof(long)
    compiler-types.h: Include naked type in __pick_integer_type() match
    READ_ONCE: Fix comment describing 2x32-bit atomicity
    gcov: Remove old GCC 3.4 support
    arm64: barrier: Use '__unqual_scalar_typeof' for acquire/release macros
    locking/barriers: Use '__unqual_scalar_typeof' for load-acquire macros
    READ_ONCE: Drop pointer qualifiers when reading from scalar types
    READ_ONCE: Enforce atomicity for {READ,WRITE}_ONCE() memory accesses
    READ_ONCE: Simplify implementations of {READ,WRITE}_ONCE()
    arm64: csum: Disable KASAN for do_csum()
    fault_inject: Don't rely on "return value" from WRITE_ONCE()
    net: tls: Avoid assigning 'const' pointer to non-const pointer
    netfilter: Avoid assigning 'const' pointer to non-const pointer
    compiler/gcc: Raise minimum GCC version for kernel builds to 4.8

    Linus Torvalds
     
  • Fixes: e05c7b1f2bc4b7 ("mm: pgtable: add shortcuts for accessing kernel PMD and PTE")
    Reported-by: kernel test robot
    Reported-by: Guenter Roeck
    Cc: Michael Ellerman
    Cc: Mike Rapoport
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Pull more documentation updates from Jonathan Corbet:
    "A handful of late-arriving docs fixes, along with a patch changing a
    lot of HTTP links to HTTPS that had to be yanked and redone before the
    first pull"

    * tag 'docs-5.8-2' of git://git.lwn.net/linux:
    docs/memory-barriers.txt/kokr: smp_mb__{before,after}_atomic(): update Documentation
    Documentation: devres: add missing entry for devm_platform_get_and_ioremap_resource()
    Replace HTTP links with HTTPS ones: documentation
    docs: it_IT: address invalid reference warnings
    doc: zh_CN: use doc reference to resolve undefined label warning
    docs: Update the location of the LF NDA program
    docs: dev-tools: coccinelle: underlines

    Linus Torvalds
     
  • Pull more ACPI updates from Rafael Wysocki:
    "Update the ACPICA code in the kernel to upstream revision 20200528
    with the following changes:

    - Remove some dead code from the acpidump utility (Bob Moore)

    - Add new OperationRegion subtype keyword PlatformRtMechanism to the
    compiler (Erik Kaneda)"

    * tag 'acpi-5.8-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPICA: Update version to 20200528
    ACPICA: iASL: add new OperationRegion subtype keyword PlatformRtMechanism
    ACPICA: acpidump: Removed dead code from oslinuxtbl.c

    Linus Torvalds
     
  • Pull more power management updates from Rafael Wysocki:
    "These are operating performance points (OPP) framework updates mostly,
    including support for interconnect bandwidth in the OPP core, plus a
    few cpufreq changes, including boost support in the CPPC cpufreq
    driver, an ACPI device power management fix and a hibernation code
    cleanup.

    Specifics:

    - Add support for interconnect bandwidth to the OPP core (Georgi
    Djakov, Saravana Kannan, Sibi Sankar, Viresh Kumar).

    - Add support for regulator enable/disable to the OPP core (Kamil
    Konieczny).

    - Add boost support to the CPPC cpufreq driver (Xiongfeng Wang).

    - Make the tegra186 cpufreq driver set the
    CPUFREQ_NEED_INITIAL_FREQ_CHECK flag (Mian Yousaf Kaukab).

    - Prevent the ACPI power management from using power resources with
    devices where the list of power resources for power state D0 (full
    power) is missing (Rafael Wysocki).

    - Annotate a hibernation-related function with __init (Christophe
    JAILLET)"

    * tag 'pm-5.8-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI: PM: Avoid using power resources if there are none for D0
    cpufreq: CPPC: add SW BOOST support
    cpufreq: change '.set_boost' to act on one policy
    PM: hibernate: Add __init annotation to swsusp_header_init()
    opp: Don't parse icc paths unnecessarily
    opp: Remove bandwidth votes when target_freq is zero
    opp: core: add regulators enable and disable
    opp: Reorder the code for !target_freq case
    opp: Expose bandwidth information via debugfs
    cpufreq: dt: Add support for interconnect bandwidth scaling
    opp: Update the bandwidth on OPP frequency changes
    opp: Add sanity checks in _read_opp_key()
    opp: Add support for parsing interconnect bandwidth
    cpufreq: tegra186: add CPUFREQ_NEED_INITIAL_FREQ_CHECK flag
    OPP: Add helpers for reading the binding properties
    dt-bindings: opp: Introduce opp-peak-kBps and opp-avg-kBps bindings

    Linus Torvalds
     
  • Pull input updates from Dmitry Torokhov:

    - a new driver for the Azoteq IQS269A capacitive touch controller

    - a new driver for the Cypress CY8CTMA140 touchscreen

    - updates to Elan and ft5x06 touchscreen drivers

    - assorted driver fixes

    - msm-vibrator has been removed as we have a more generic solution

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (28 commits)
    Input: adi - work around module name confict
    Input: iqs269a - add missing I2C dependency
    Input: elants - refactor elants_i2c_execute_command()
    Input: elants - override touchscreen info with DT properties
    Input: elants - remove unused axes
    Input: add support for Azoteq IQS269A
    dt-bindings: input: Add bindings for Azoteq IQS269A
    Input: imx_sc_key - use devm_add_action_or_reset() to handle all cleanups
    Input: remove msm-vibrator driver
    dt-bindings: Input: remove msm-vibrator
    Input: elants_i2c - provide an attribute to show calibration count
    Input: introduce input_mt_report_slot_inactive()
    dt-bindings: input: touchscreen: elants_i2c: convert to YAML
    Input: add driver for the Cypress CY8CTMA140 touchscreen
    dt-bindings: touchscreen: Add CY8CTMA140 bindings
    Input: edt-ft5x06 - prefer asynchronous probe
    Input: edt-ft5x06 - improve power management operations
    Input: edt-ft5x06 - move parameter restore into helper
    Input: edt-ft5x06 - fix get_default register write access
    Input: atkbd - receive and use physcode->keycode mapping from FW
    ...

    Linus Torvalds
     
  • Pull virtio updates from Michael Tsirkin:

    - virtio-mem: paravirtualized memory hotplug

    - support doorbell mapping for vdpa

    - config interrupt support in ifc

    - fixes all over the place

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: (40 commits)
    vhost/test: fix up after API change
    virtio_mem: convert device block size into 64bit
    virtio-mem: drop unnecessary initialization
    ifcvf: implement config interrupt in IFCVF
    vhost: replace -1 with VHOST_FILE_UNBIND in ioctls
    vhost_vdpa: Support config interrupt in vdpa
    ifcvf: ignore continuous setting same status value
    virtio-mem: Don't rely on implicit compiler padding for requests
    virtio-mem: Try to unplug the complete online memory block first
    virtio-mem: Use -ETXTBSY as error code if the device is busy
    virtio-mem: Unplug subblocks right-to-left
    virtio-mem: Drop manual check for already present memory
    virtio-mem: Add parent resource for all added "System RAM"
    virtio-mem: Better retry handling
    virtio-mem: Offline and remove completely unplugged memory blocks
    mm/memory_hotplug: Introduce offline_and_remove_memory()
    virtio-mem: Allow to offline partially unplugged memory blocks
    mm: Allow to offline unmovable PageOffline() pages via MEM_GOING_OFFLINE
    virtio-mem: Paravirtualized memory hotunplug part 2
    virtio-mem: Paravirtualized memory hotunplug part 1
    ...

    Linus Torvalds
     
  • Pull UML updates from Richard Weinberger:

    - Use fdatasync() in ubd

    - Add a generic "fd" vector transport

    - Minor cleanups and fixes

    * tag 'for-linus-5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
    um: virtio: Replace zero-length array with flexible-array
    um: Use fdatasync() when mapping the UBD FSYNC command
    um: Do not evaluate compiler's library path when cleaning
    um: Neaten vu_err macro definition
    um: Add a generic "fd" vector transport
    um: Add include: memset() and memcpy() are in

    Linus Torvalds
     
  • Pull UBI update from Richard Weinberger:
    "This contains a single change for UBI:

    - Select fastmap anchor PEBs considering wear level rules"

    * tag 'for-linus-5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs:
    ubi: Select fastmap anchor PEBs considering wear level rules

    Linus Torvalds
     
  • Pull MTD updates from Richard Weinberger:
    "MTD core changes:
    - partition parser: Support MTD names containing one or more colons.
    - mtdblock: clear cache_state to avoid writing to bad blocks
    repeatedly.

    Raw NAND core changes:
    - Stop using nand_release(), patched all drivers.
    - Give more information about the ECC weakness when not matching the
    chip's requirement.
    - MAINTAINERS updates.
    - Support emulated SLC mode on MLC NANDs.
    - Support "constrained" controllers, adapt the core and ONFI/JEDEC
    table parsing and Micron's code.
    - Take check_only into account.
    - Add an invalid ECC mode to discriminate with valid ones.
    - Return an enum from of_get_nand_ecc_algo().
    - Drop OOB_FIRST placement scheme.
    - Introduce nand_extract_bits().
    - Ensure a consistent bitflips numbering.
    - BCH lib:
    - Allow easy bit swapping.
    - Rework a little bit the exported function names.
    - Fix nand_gpio_waitrdy().
    - Propage CS selection to sub operations.
    - Add a NAND_NO_BBM_QUIRK flag.
    - Give the possibility to verify a read operation is supported.
    - Add a helper to check supported operations.
    - Avoid indirect access to ->data_buf().
    - Rename the use_bufpoi variables.
    - Fix comments about the use of bufpoi.
    - Rename a NAND chip option.
    - Reorder the nand_chip->options flags.
    - Translate obscure bitfields into readable macros.
    - Timings:
    - Fix default values.
    - Add mode information to the timings structure.

    Raw NAND controller driver changes:
    - Fixed many error paths.
    - Arasan
    - New driver
    - Au1550nd:
    - Various cleanups
    - Migration to ->exec_op()
    - brcmnand:
    - Misc cleanup.
    - Support v2.1-v2.2 controllers.
    - Remove unused including .
    - Correctly verify erased pages.
    - Fix Hamming OOB layout.
    - Cadence
    - Make cadence_nand_attach_chip static.
    - Cafe:
    - Set the NAND_NO_BBM_QUIRK flag
    - cmx270:
    - Remove this controller driver.
    - cs553x:
    - Misc cleanup
    - Migration to ->exec_op()
    - Davinci:
    - Misc cleanup.
    - Migration to ->exec_op()
    - Denali:
    - Add more delays before latching incoming data
    - Diskonchip:
    - Misc cleanup
    - Migration to ->exec_op()
    - Fsmc:
    - Change to non-atomic bit operations.
    - GPMI:
    - Use nand_extract_bits()
    - Fix runtime PM imbalance.
    - Ingenic:
    - Migration to exec_op()
    - Fix the RB gpio active-high property on qi, lb60
    - Make qi_lb60_ooblayout_ops static.
    - Marvell:
    - Misc cleanup and small fixes
    - Nandsim:
    - Fix the error paths, driver wide.
    - Omap_elm:
    - Fix runtime PM imbalance.
    - STM32_FMC2:
    - Misc cleanups (error cases, comments, timeout valus, cosmetic
    changes).

    SPI NOR core changes:
    - Add, update support and fix few flashes.
    - Prepare BFPT parsing for JESD216 rev D.
    - Kernel doc fixes.

    CFI changes:
    - Support the absence of protection registers for Intel CFI flashes.
    - Replace zero-length array with flexible-arrays"

    * tag 'mtd/for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (208 commits)
    mtd: clear cache_state to avoid writing to bad blocks repeatedly
    mtd: parser: cmdline: Support MTD names containing one or more colons
    mtd: physmap_of_gemini: remove defined but not used symbol 'syscon_match'
    mtd: rawnand: Add an invalid ECC mode to discriminate with valid ones
    mtd: rawnand: Return an enum from of_get_nand_ecc_algo()
    mtd: rawnand: Drop OOB_FIRST placement scheme
    mtd: rawnand: Avoid a typedef
    mtd: Fix typo in mtd_ooblayout_set_databytes() description
    mtd: rawnand: Stop using nand_release()
    mtd: rawnand: nandsim: Reorganize ns_cleanup_module()
    mtd: rawnand: nandsim: Rename a label in ns_init_module()
    mtd: rawnand: nandsim: Manage lists on error in ns_init_module()
    mtd: rawnand: nandsim: Fix the label pointing on nand_cleanup()
    mtd: rawnand: nandsim: Free erase_block_wear on error
    mtd: rawnand: nandsim: Use an additional label when freeing the nandsim object
    mtd: rawnand: nandsim: Stop using nand_release()
    mtd: rawnand: nandsim: Free the partition names in ns_free()
    mtd: rawnand: nandsim: Free the allocated device on error in ns_init()
    mtd: rawnand: nandsim: Free partition names on error in ns_init()
    mtd: rawnand: nandsim: Fix the two ns_alloc_device() error paths
    ...

    Linus Torvalds
     
  • syzbot found that proc_fill_super() fails before filling up sb->s_fs_info,
    deactivate_locked_super() will be called and sb->s_fs_info will be NULL.
    The proc_kill_sb() does not expect fs_info to be NULL which is wrong.

    Link: https://lore.kernel.org/lkml/0000000000002d7ca605a7b8b1c5@google.com
    Reported-by: syzbot+4abac52934a48af5ff19@syzkaller.appspotmail.com
    Fixes: fa10fed30f25 ("proc: allow to mount many instances of proc in one pid namespace")
    Signed-off-by: Alexey Gladkov
    Signed-off-by: Eric W. Biederman

    Alexey Gladkov
     
  • Pull clk updates from Stephen Boyd:
    "This time around we have four lines of diff in the core framework,
    removing a function that isn't used anymore. Otherwise the main new
    thing for the common clk framework is that it is selectable in the
    Kconfig language now. Hopefully this will let clk drivers and clk
    consumers be testable on more than the architectures that support the
    clk framework. The goal is to introduce some Kunit tests for the
    framework.

    Outside of the core framework we have the usual set of various driver
    updates and non-critical fixes. The dirstat shows that the new
    Baikal-T1 driver is the largest addition this time around in terms of
    lines of code. After that the x86 (Intel), Qualcomm, and Mediatek
    drivers introduce many lines to support new or upcoming SoCs. After
    that the dirstat shows the usual suspects working on their SoC support
    by fixing minor bugs, correcting data and converting some of their DT
    bindings to YAML.

    Core:
    - Allow the COMMON_CLK config to be selectable

    New Drivers:
    - Clk driver for Baikal-T1 SoCs
    - Mediatek MT6765 clock support
    - Support for Intel Agilex clks
    - Add support for X1830 and X1000 Ingenic SoC clk controllers
    - Add support for the new Renesas RZ/G1H (R8A7742) SoC
    - Add support for Qualcomm's MSM8939 Generic Clock Controller

    Updates:
    - Support IDT VersaClock 5P49V5925
    - Bunch of updates for HSDK clock generation unit (CGU) driver
    - Start making audio and GPU clks work on Marvell MMP2/MMP3 SoCs
    - Add some GPU, NPU, and UFS clks to Qualcomm SM8150 driver
    - Enable supply regulators for GPU gdscs on Qualcomm SoCs
    - Add support for Si5342, Si5344 and Si5345 chips
    - Support custom flags in Xilinx zynq firmware
    - Various small fixes to the Xilinx clk driver
    - A single minor rounding fix for the legacy Allwinner clock support
    - A few patches from Abel Vesa as preparation of adding audiomix
    clock support on i.MX
    - A couple of cleanups from Anson Huang for i.MX clk-sscg-pll and
    clk-pllv3 drivers
    - Drop dependency on ARM64 for i.MX8M clock driver, to support
    aarch32 mode on aarch64 hardware
    - A series from Peng Fan to improve i.MX8M clock drivers, using
    composite clock for core and bus clk slice
    - Set a better parent clock for flexcan on i.MX6UL to support CiA102
    defined bit rates
    - A couple changes for EMC frequency scaling on Tegra210
    - Support for CPU frequency scaling on Tegra20/Tegra30
    - New clk gate for CSI test pattern generator on Tegra210
    - Regression fixes for Samsung exynos542x and exynos5433 SoCs
    - Use of fallthrough; attribute for Samsung s3c24xx
    - Updates and fixup HDMI and video clocks on Meson8b
    - Fixup reset polarity on Meson8b
    - Fix GPU glitch free mux switch on Meson gx and g12
    - A minor fix for the currently unused suspend/resume handling on
    Renesas RZ/A1 and RZ/A2
    - Two more conversions of Renesas DT bindings to json-schema
    - Add support for the USB 2.0 clock selector on Renesas R-Car M3-W+"

    * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (155 commits)
    clk: mediatek: Remove ifr{0,1}_cfg_regs structures
    clk: baikal-t1: remove redundant assignment to variable 'divider'
    clk: baikal-t1: fix spelling mistake "Uncompatible" -> "Incompatible"
    dt-bindings: clock: Add a missing include to MMP Audio Clock binding
    dt: Add bindings for IDT VersaClock 5P49V5925
    clk: vc5: Add support for IDT VersaClock 5P49V6965
    clk: Add Baikal-T1 CCU Dividers driver
    clk: Add Baikal-T1 CCU PLLs driver
    dt-bindings: clk: Add Baikal-T1 CCU Dividers binding
    dt-bindings: clk: Add Baikal-T1 CCU PLLs binding
    clk: mediatek: assign the initial value to clk_init_data of mtk_mux
    clk: mediatek: Add MT6765 clock support
    clk: mediatek: add mt6765 clock IDs
    dt-bindings: clock: mediatek: document clk bindings vcodecsys for Mediatek MT6765 SoC
    dt-bindings: clock: mediatek: document clk bindings mipi0a for Mediatek MT6765 SoC
    dt-bindings: clock: mediatek: document clk bindings for Mediatek MT6765 SoC
    CLK: HSDK: CGU: add support for 148.5MHz clock
    CLK: HSDK: CGU: support PLL bypassing
    CLK: HSDK: CGU: check if PLL is bypassed first
    clk: clk-si5341: Add support for the Si5345 series
    ...

    Linus Torvalds
     
  • Pull power supply and reset updates from Sebastian Reichel:
    "This time there are lots of changes. Quite a few changes to the core,
    lots of driver changes and one change to kobject core (with Ack from
    Greg).

    Summary:

    kobject:
    - Increase number of allowed uevent variables

    power-supply core:
    - Add power-supply type in uevent
    - Cleanup property handling in core
    - Make property and usb_type pointers const
    - Convert core power-supply DT binding to YAML
    - Cleanup HWMON code
    - Add new health status "calibration required"
    - Add new properties for manufacture date and capacity error margin

    battery drivers:
    - new cw2015 battery driver used by pine64 Pinebook Pro laptop
    - axp22: blacklist on Meegopad T02
    - sc27xx: support current/voltage reading
    - max17042: support time-to-empty reading
    - simple-battery: add more battery parameters
    - bq27xxx: convert DT binding document to YAML
    - sbs-battery: add TI BQ20Z65 support, fix technology property,
    convert DT binding to YAML, add option to disable charger
    broadcasts, add new properties: manufacture date, capacity
    error margin, average current, charge current and voltage and
    support calibration required health status
    - misc fixes

    charger drivers:
    - bq25890: cleanup, implement charge type, precharge current and
    input current limiting properties
    - bd70528: use new linear range helper library
    - bd99954: new charger driver
    - mp2629: new charger driver
    - misc fixes

    reboot drivers:
    - oxnas-restart: introduce new driver
    - syscon-reboot: convert DT binding to YAML, add parent syscon device
    support
    - misc fixes"

    * tag 'for-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (85 commits)
    power: supply: cw2015: Attach OF ID table to the driver
    power: reset: gpio-poweroff: add missing '\n' in dev_err()
    Revert "power: supply: sbs-battery: simplify read_read_string_data"
    Revert "power: supply: sbs-battery: add PEC support"
    dt-bindings: power: sbs-battery: Convert to yaml
    power: supply: sbs-battery: constify power-supply property array
    power: supply: sbs-battery: switch to i2c's probe_new
    power: supply: sbs-battery: switch from of_property_* to device_property_*
    power: supply: sbs-battery: add ability to disable charger broadcasts
    power: supply: sbs-battery: fix idle battery status
    power: supply: sbs-battery: add POWER_SUPPLY_HEALTH_CALIBRATION_REQUIRED support
    power: supply: sbs-battery: add MANUFACTURE_DATE support
    power: supply: sbs-battery: add POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT/VOLTAGE_MAX support
    power: supply: sbs-battery: Improve POWER_SUPPLY_PROP_TECHNOLOGY support
    power: supply: sbs-battery: add POWER_SUPPLY_PROP_CURRENT_AVG support
    power: supply: sbs-battery: add PEC support
    power: supply: sbs-battery: simplify read_read_string_data
    power: supply: sbs-battery: add POWER_SUPPLY_PROP_CAPACITY_ERROR_MARGIN support
    power: supply: sbs-battery: Add TI BQ20Z65 support
    power: supply: core: add POWER_SUPPLY_HEALTH_CALIBRATION_REQUIRED
    ...

    Linus Torvalds
     
  • Instead of triggering a WARN_ON deep down in the page allocator just
    give up early on allocations that are way larger than the usual sysctl
    values.

    Fixes: 32927393dc1c ("sysctl: pass kernel pointers to ->proc_handler")
    Reported-by: Vegard Nossum
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Al Viro

    Christoph Hellwig
     
  • No user pointers for sysctls anymore.

    Fixes: 32927393dc1c ("sysctl: pass kernel pointers to ->proc_handler")
    Reported-by: build test robot
    Signed-off-by: Christoph Hellwig
    Signed-off-by: Al Viro

    Christoph Hellwig
     
  • Pull dmaengine updates from Vinod Koul:
    "A fairly small dmaengine update which includes mostly driver updates
    (dmatest, dw-edma, ioat, mmp-tdma and k3-udma) along with Renesas
    binding update to json-schema"

    * tag 'dmaengine-5.8-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (39 commits)
    dmaengine: imx-sdma: initialize all script addresses
    dmaengine: ti: k3-udma: Use proper return code in alloc_chan_resources
    dmaengine: ti: k3-udma: Remove udma_chan.in_ring_cnt
    dmaengine: ti: k3-udma: Add missing dma_sync call for rx flush descriptor
    dmaengine: at_xdmac: Replace zero-length array with flexible-array
    dmaengine: at_hdmac: Replace zero-length array with flexible-array
    dmaengine: qcom: bam_dma: Replace zero-length array with flexible-array
    dmaengine: ti: k3-udma: Use PTR_ERR_OR_ZERO() to simplify code
    dmaengine: moxart-dma: Drop pointless static qualifier in moxart_probe()
    dmaengine: sf-pdma: Simplify the error handling path in 'sf_pdma_probe()'
    dmaengine: qcom_hidma: use true,false for bool variable
    dmaengine: dw-edma: support local dma device transfer semantics
    dmaengine: Fix doc strings to satisfy validation script
    dmaengine: Include dmaengine.h into dmaengine.c
    dmaengine: dmatest: Describe members of struct dmatest_info
    dmaengine: dmatest: Describe members of struct dmatest_params
    dmaengine: dmatest: Allow negative timeout value to specify infinite wait
    Revert "dmaengine: dmatest: timeout value of -1 should specify infinite wait"
    dmaengine: stm32-dma: direct mode support through device tree
    dt-bindings: dma: add direct mode support through device tree in stm32-dma
    ...

    Linus Torvalds
     
  • The improved paragraph about line lengths contains a sentence with a
    duplicate word: there is one "are" at the end of a line, followed by a
    second one at the beginning of the next line.

    Drop the first one, as that one is part of the longest line.

    Fixes: bdc48fa11e46f867 ("checkpatch/coding-style: deprecate 80-column warning")
    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • "mm: consolidate pte_index() and pte_offset_*() definitions" was supposed
    to remove arch/sparc/mm/srmmu.c:pte_offset_kernel().

    Fixes: 974b9b2c68f3d35 ("mm: consolidate pte_index() and pte_offset_*() definitions")
    Reported-by: kernel test robot
    Cc: Mike Rapoport
    Cc: Johannes Weiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     

10 Jun, 2020

13 commits

  • * acpica:
    ACPICA: Update version to 20200528
    ACPICA: iASL: add new OperationRegion subtype keyword PlatformRtMechanism
    ACPICA: acpidump: Removed dead code from oslinuxtbl.c

    Rafael J. Wysocki
     
  • * pm-cpufreq:
    cpufreq: CPPC: add SW BOOST support
    cpufreq: change '.set_boost' to act on one policy
    cpufreq: tegra186: add CPUFREQ_NEED_INITIAL_FREQ_CHECK flag

    * pm-acpi:
    ACPI: PM: Avoid using power resources if there are none for D0

    Rafael J. Wysocki
     
  • * pm-opp:
    opp: Don't parse icc paths unnecessarily
    opp: Remove bandwidth votes when target_freq is zero
    opp: core: add regulators enable and disable
    opp: Reorder the code for !target_freq case
    opp: Expose bandwidth information via debugfs
    cpufreq: dt: Add support for interconnect bandwidth scaling
    opp: Update the bandwidth on OPP frequency changes
    opp: Add sanity checks in _read_opp_key()
    opp: Add support for parsing interconnect bandwidth
    interconnect: Remove unused module exit code from core
    interconnect: Disallow interconnect core to be built as a module
    interconnect: Add of_icc_get_by_index() helper function
    OPP: Add helpers for reading the binding properties
    dt-bindings: opp: Introduce opp-peak-kBps and opp-avg-kBps bindings

    Rafael J. Wysocki
     
  • Pull fuse updates from Miklos Szeredi:

    - Fix a rare deadlock in virtiofs

    - Fix st_blocks in writeback cache mode

    - Fix wrong checks in splice move causing spurious warnings

    - Fix a race between a GETATTR request and a FUSE_NOTIFY_INVAL_INODE
    notification

    - Use rb-tree instead of linear search for pages currently under
    writeout by userspace

    - Fix copy_file_range() inconsistencies

    * tag 'fuse-update-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
    fuse: copy_file_range should truncate cache
    fuse: fix copy_file_range cache issues
    fuse: optimize writepages search
    fuse: update attr_version counter on fuse_notify_inval_inode()
    fuse: don't check refcount after stealing page
    fuse: fix weird page warning
    fuse: use dump_page
    virtiofs: do not use fuse_fill_super_common() for device installation
    fuse: always allow query of st_dev
    fuse: always flush dirty data on close(2)
    fuse: invalidate inode attr in writeback cache mode
    fuse: Update stale comment in queue_interrupt()
    fuse: BUG_ON correction in fuse_dev_splice_write()
    virtiofs: Add mount option and atime behavior to the doc
    virtiofs: schedule blocking async replies in separate worker

    Linus Torvalds
     
  • Pull overlayfs updates from Miklos Szeredi:
    "Fixes:

    - Resolve mount option conflicts consistently

    - Sync before remount R/O

    - Fix file handle encoding corner cases

    - Fix metacopy related issues

    - Fix an unintialized return value

    - Add missing permission checks for underlying layers

    Optimizations:

    - Allow multipe whiteouts to share an inode

    - Optimize small writes by inheriting SB_NOSEC from upper layer

    - Do not call ->syncfs() multiple times for sync(2)

    - Do not cache negative lookups on upper layer

    - Make private internal mounts longterm"

    * tag 'ovl-update-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs: (27 commits)
    ovl: remove unnecessary lock check
    ovl: make oip->index bool
    ovl: only pass ->ki_flags to ovl_iocb_to_rwf()
    ovl: make private mounts longterm
    ovl: get rid of redundant members in struct ovl_fs
    ovl: add accessor for ofs->upper_mnt
    ovl: initialize error in ovl_copy_xattr
    ovl: drop negative dentry in upper layer
    ovl: check permission to open real file
    ovl: call secutiry hook in ovl_real_ioctl()
    ovl: verify permissions in ovl_path_open()
    ovl: switch to mounter creds in readdir
    ovl: pass correct flags for opening real directory
    ovl: fix redirect traversal on metacopy dentries
    ovl: initialize OVL_UPPERDATA in ovl_lookup()
    ovl: use only uppermetacopy state in ovl_lookup()
    ovl: simplify setting of origin for index lookup
    ovl: fix out of bounds access warning in ovl_check_fb_len()
    ovl: return required buffer size for file handles
    ovl: sync dirty data when remounting to ro mode
    ...

    Linus Torvalds
     
  • Pull AFS fixes from David Howells:
    "A set of small patches to fix some things, most of them minor.

    - Fix a memory leak in afs_put_sysnames()

    - Fix an oops in AFS file locking

    - Fix new use of BUG()

    - Fix debugging statements containing %px

    - Remove afs_zero_fid as it's unused

    - Make afs_zap_data() static"

    * tag 'afs-fixes-20200609' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
    afs: Make afs_zap_data() static
    afs: Remove afs_zero_fid as it's not used
    afs: Fix debugging statements with %px to be %p
    afs: Fix use of BUG()
    afs: Fix file locking
    afs: Fix memory leak in afs_put_sysnames()

    Linus Torvalds
     
  • These aren't used and the macros that reference them aren't used either.
    Remove the dead code to avoid compile warnings.

    Cc: Owen Chen
    Cc: Mars Cheng
    Cc: Macpaul Lin
    Fixes: 1aca9939bf72 ("clk: mediatek: Add MT6765 clock support")
    Reported-by: kbuild test robot
    Signed-off-by: Stephen Boyd
    Link: https://lore.kernel.org/r/20200609211847.27366-1-sboyd@kernel.org

    Stephen Boyd
     
  • The variable divider is being initialized with a value that is never read
    and it is being updated later with a new value. The initialization is
    redundant and can be removed.

    Addresses-Coverity: ("Unused value")
    Signed-off-by: Colin Ian King
    Link: https://lore.kernel.org/r/20200602172435.70282-1-colin.king@canonical.com
    Reviewed-by: Serge Semin
    Signed-off-by: Stephen Boyd

    Colin Ian King
     
  • There is a spelling mistake in a pr_err error message. Fix it.

    Signed-off-by: Colin Ian King
    Link: https://lore.kernel.org/r/20200602121030.39132-1-colin.king@canonical.com
    Reviewed-by: Serge Semin
    Signed-off-by: Stephen Boyd

    Colin Ian King
     
  • The include file for input clock in the example was missing, breaking the
    validation.

    Signed-off-by: Lubomir Rintel
    Reported-by: Rob Herring
    Link: https://lore.kernel.org/r/20200605065258.567858-1-lkundrak@v3.sk
    Acked-by: Rob Herring
    Signed-off-by: Stephen Boyd

    Lubomir Rintel
     
  • Making module name conflicts a fatal error breaks sparc64 allmodconfig:

    Error log:
    error: the following would cause module name conflict:
    drivers/char/adi.ko
    drivers/input/joystick/adi.ko

    Renaming one of the modules would solve the problem, but then cause other
    problems because neither of them is automatically loaded and changing
    the name is likely to break any setup that relies on manually loading
    it by name.

    As there is probably no sparc64 system with this kind of ancient joystick
    attached, work around it by adding a Kconfig dependency that forbids
    them from both being modules. It is still possible to build the joystick
    driver if the sparc64 adi driver is built-in.

    Reported-by: Guenter Roeck
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Arnd Bergmann
    Reviewed-by: Guenter Roeck
    Link: https://lore.kernel.org/r/20200609100643.1245061-1-arnd@arndb.de
    Signed-off-by: Dmitry Torokhov

    Arnd Bergmann
     
  • Pull f2fs updates from Jaegeuk Kim:
    "In this round, we've added some knobs to enhance compression feature
    and harden testing environment. In addition, we've fixed several bugs
    reported from Android devices such as long discarding latency, device
    hanging during quota_sync, etc.

    Enhancements:
    - support lzo-rle algorithm
    - add two ioctls to release and reserve blocks for compression
    - support partial truncation/fiemap on compressed file
    - introduce sysfs entries to attach IO flags explicitly
    - add iostat trace point along with read io stat

    Bug fixes:
    - fix long discard latency
    - flush quota data by f2fs_quota_sync correctly
    - fix to recover parent inode number for power-cut recovery
    - fix lz4/zstd output buffer budget
    - parse checkpoint mount option correctly
    - avoid inifinite loop to wait for flushing node/meta pages
    - manage discard space correctly

    And some refactoring and clean up patches were added"

    * tag 'f2fs-for-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (51 commits)
    f2fs: attach IO flags to the missing cases
    f2fs: add node_io_flag for bio flags likewise data_io_flag
    f2fs: remove unused parameter of f2fs_put_rpages_mapping()
    f2fs: handle readonly filesystem in f2fs_ioc_shutdown()
    f2fs: avoid utf8_strncasecmp() with unstable name
    f2fs: don't return vmalloc() memory from f2fs_kmalloc()
    f2fs: fix retry logic in f2fs_write_cache_pages()
    f2fs: fix wrong discard space
    f2fs: compress: don't compress any datas after cp stop
    f2fs: remove unneeded return value of __insert_discard_tree()
    f2fs: fix wrong value of tracepoint parameter
    f2fs: protect new segment allocation in expand_inode_data
    f2fs: code cleanup by removing ifdef macro surrounding
    f2fs: avoid inifinite loop to wait for flushing node pages at cp_error
    f2fs: flush dirty meta pages when flushing them
    f2fs: fix checkpoint=disable:%u%%
    f2fs: compress: fix zstd data corruption
    f2fs: add compressed/gc data read IO stat
    f2fs: fix potential use-after-free issue
    f2fs: compress: don't handle non-compressed data in workqueue
    ...

    Linus Torvalds
     
  • Pull exfat update from Namjae Jeon:
    "Bug fixes:
    - Fix memory leak on mount failure with iocharset= option
    - Fix incorrect update of stream entry
    - Fix cluster range validation error

    Clean-ups:
    - Remove unused code and unneeded assignment
    - Rename variables in exfat structure as specification
    - Reorganize boot sector analysis code
    - Simplify exfat_utf8_d_hash and exfat_utf8_d_cmp()
    - Optimize exfat entry cache functions
    - Improve wording of EXFAT_DEFAULT_IOCHARSET config option

    New Feature:
    - Add boot region verification"

    * tag 'exfat-for-5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat:
    exfat: Fix potential use after free in exfat_load_upcase_table()
    exfat: fix range validation error in alloc and free cluster
    exfat: fix incorrect update of stream entry in __exfat_truncate()
    exfat: fix memory leak in exfat_parse_param()
    exfat: remove unnecessary reassignment of p_uniname->name_len
    exfat: standardize checksum calculation
    exfat: add boot region verification
    exfat: separate the boot sector analysis
    exfat: redefine PBR as boot_sector
    exfat: optimize dir-cache
    exfat: replace 'time_ms' with 'time_cs'
    exfat: remove the assignment of 0 to bool variable
    exfat: Remove unused functions exfat_high_surrogate() and exfat_low_surrogate()
    exfat: Simplify exfat_utf8_d_hash() for code points above U+FFFF
    exfat: Improve wording of EXFAT_DEFAULT_IOCHARSET config option
    exfat: Use a more common logging style
    exfat: Simplify exfat_utf8_d_cmp() for code points above U+FFFF

    Linus Torvalds