11 Aug, 2020

2 commits

  • Add gki-debug build.config files which disable whitelisting trimming.
    This is intended to ease GKI development.

    Bug: 163360978
    Signed-off-by: Steve Muckle
    Change-Id: I384c91b854ffb0752c625b7aff55a1e2b2304b3a

    Steve Muckle
     
  • The upstream config option changed names (CONFIG_INIT_STACK_ALL is now
    gone), and was removed in bf2a21fbe44e ("ANDROID: GKI: update defconfigs
    due to mainline merges")

    This restores the correct build option, and also should fix up the
    failing cuttlefish test for this.

    Bug: 163301784
    Cc: Steve Muckle
    Fixes: bf2a21fbe44e ("ANDROID: GKI: update defconfigs due to mainline merges")
    Signed-off-by: Greg Kroah-Hartman
    Change-Id: Ibb065f8311d4b5b1ff84bb2226cd9214e0912de9

    Greg Kroah-Hartman
     

10 Aug, 2020

19 commits

  • Right now both the sfc and aquantia drivers are failing to build in
    Linus's tree with the following errors:
    ERROR: modpost: "__aeabi_uldivmod" [drivers/net/ethernet/sfc/sfc.ko] undefined!
    ERROR: modpost: "__bad_udelay" [drivers/net/ethernet/aquantia/atlantic/atlantic.ko] undefined!

    Fix this for now by disabling building these drivers on arm32.

    Signed-off-by: Greg Kroah-Hartman
    Change-Id: If849576f4cab9a35ea4a7998853f9ee37346a0fd

    Greg Kroah-Hartman
     
  • This reverts commit 859247d39fb008ea812e8f0c398a58a20c12899e as it
    breaks the arm32 build, as well as many other arches.

    Hopefully will also be reverted upstream soon...

    Link: https://lore.kernel.org/lkml/20200808232122.GA176509@roeck-us.net/
    Signed-off-by: Greg Kroah-Hartman
    Change-Id: Icf04319e43ea8f53e6eb174305c0dd28d2c4a967

    Greg Kroah-Hartman
     
  • …ux/kernel/git/masahiroy/linux-kbuild") into android-mainline

    Steps on the way to 5.9-rc1

    Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
    Change-Id: I75b7f1589f230e546c0f2103456fd725c8866460

    Greg Kroah-Hartman
     
  • Pull Kbuild updates from Masahiro Yamada:

    - run the checker (e.g. sparse) after the compiler

    - remove unneeded cc-option tests for old compiler flags

    - fix tar-pkg to install dtbs

    - introduce ccflags-remove-y and asflags-remove-y syntax

    - allow to trace functions in sub-directories of lib/

    - introduce hostprogs-always-y and userprogs-always-y syntax

    - various Makefile cleanups

    * tag 'kbuild-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    kbuild: stop filtering out $(GCC_PLUGINS_CFLAGS) from cc-option base
    kbuild: include scripts/Makefile.* only when relevant CONFIG is enabled
    kbuild: introduce hostprogs-always-y and userprogs-always-y
    kbuild: sort hostprogs before passing it to ifneq
    kbuild: move host .so build rules to scripts/gcc-plugins/Makefile
    kbuild: Replace HTTP links with HTTPS ones
    kbuild: trace functions in subdirectories of lib/
    kbuild: introduce ccflags-remove-y and asflags-remove-y
    kbuild: do not export LDFLAGS_vmlinux
    kbuild: always create directories of targets
    powerpc/boot: add DTB to 'targets'
    kbuild: buildtar: add dtbs support
    kbuild: remove cc-option test of -ffreestanding
    kbuild: remove cc-option test of -fno-stack-protector
    Revert "kbuild: Create directory for target DTB"
    kbuild: run the checker after the compiler

    Linus Torvalds
     
  • Pull NFS server updates from Chuck Lever:
    "Highlights:
    - Support for user extended attributes on NFS (RFC 8276)
    - Further reduce unnecessary NFSv4 delegation recalls

    Notable fixes:
    - Fix recent krb5p regression
    - Address a few resource leaks and a rare NULL dereference

    Other:
    - De-duplicate RPC/RDMA error handling and other utility functions
    - Replace storage and display of kernel memory addresses by tracepoints"

    * tag 'nfsd-5.9' of git://git.linux-nfs.org/projects/cel/cel-2.6: (38 commits)
    svcrdma: CM event handler clean up
    svcrdma: Remove transport reference counting
    svcrdma: Fix another Receive buffer leak
    SUNRPC: Refresh the show_rqstp_flags() macro
    nfsd: netns.h: delete a duplicated word
    SUNRPC: Fix ("SUNRPC: Add "@len" parameter to gss_unwrap()")
    nfsd: avoid a NULL dereference in __cld_pipe_upcall()
    nfsd4: a client's own opens needn't prevent delegations
    nfsd: Use seq_putc() in two functions
    svcrdma: Display chunk completion ID when posting a rw_ctxt
    svcrdma: Record send_ctxt completion ID in trace_svcrdma_post_send()
    svcrdma: Introduce Send completion IDs
    svcrdma: Record Receive completion ID in svc_rdma_decode_rqst
    svcrdma: Introduce Receive completion IDs
    svcrdma: Introduce infrastructure to support completion IDs
    svcrdma: Add common XDR encoders for RDMA and Read segments
    svcrdma: Add common XDR decoders for RDMA and Read segments
    SUNRPC: Add helpers for decoding list discriminators symbolically
    svcrdma: Remove declarations for functions long removed
    svcrdma: Clean up trace_svcrdma_send_failed() tracepoint
    ...

    Linus Torvalds
     
  • Pull regset conversion fix from Al Viro:
    "Fix a regression from an unnoticed bisect hazard in the regset series.

    A bunch of old (aout, originally) primitives used by coredumps became
    dead code after fdpic conversion to regsets. Removal of that dead code
    had been the first commit in the followups to regset series;
    unfortunately, it happened to hide the bisect hazard on sh (extern for
    fpregs_get() had not been updated in the main series when it should
    have been; followup simply made fpregs_get() static). And without that
    followup commit this bisect hazard became breakage in the mainline"

    Tested-by: John Paul Adrian Glaubitz

    * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    kill unused dump_fpu() instances

    Linus Torvalds
     
  • Pull pin control updates from Linus Walleij:
    "This is the bulk of the pin control changes for the v5.9 kernel
    series:

    Core changes:

    - The GPIO patch "gpiolib: Introduce for_each_requested_gpio_in_range()
    macro" was put in an immutable branch and merged into the pinctrl
    tree as well. We see these changes also here.

    - Improved debug output for pins used as GPIO.

    New drivers:

    - Ocelot Sparx5 SoC driver.

    - Intel Emmitsburg SoC subdriver.

    - Intel Tiger Lake-H SoC subdriver.

    - Qualcomm PM660 SoC subdriver.

    - Renesas SH-PFC R8A774E1 subdriver.

    Driver improvements:

    - Linear improvement and cleanups of the Intel drivers for
    Cherryview, Lynxpoint, Baytrail etc. Improved locking among other
    things.

    - Renesas SH-PFC has added support for RPC pins, groups, and
    functions to r8a77970 and r8a77980.

    - The newere Freescale (now NXP) i.MX8 pin controllers have been
    modularized. This is driven by the Google Android GKI initiative I
    think.

    - Open drain support for pins on the Qualcomm IPQ4019.

    - The Ingenic driver can handle both edges IRQ detection.

    - A big slew of documentation fixes all over the place.

    - A few irqchip template conversions by yours truly.

    * tag 'pinctrl-v5.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (107 commits)
    dt-bindings: pinctrl: add bindings for MediaTek MT6779 SoC
    pinctrl: stmfx: Use irqchip template
    pinctrl: amd: Use irqchip template
    pinctrl: mediatek: fix build for tristate changes
    pinctrl: samsung: Use bank name as irqchip name
    pinctrl: core: print gpio in pins debugfs file
    pinctrl: mediatek: add mt6779 eint support
    pinctrl: mediatek: add pinctrl support for MT6779 SoC
    pinctrl: mediatek: avoid virtual gpio trying to set reg
    pinctrl: mediatek: update pinmux definitions for mt6779
    pinctrl: stm32: use the hwspin_lock_timeout_in_atomic() API
    pinctrl: mcp23s08: Use irqchip template
    pinctrl: sx150x: Use irqchip template
    dt-bindings: ingenic,pinctrl: Support pinmux/pinconf nodes
    pinctrl: intel: Add Intel Emmitsburg pin controller support
    pinctl: ti: iodelay: Replace HTTP links with HTTPS ones
    Revert "gpio: omap: handle pin config bias flags"
    pinctrl: single: Use fallthrough pseudo-keyword
    pinctrl: qcom: spmi-gpio: Use fallthrough pseudo-keyword
    pinctrl: baytrail: Use fallthrough pseudo-keyword
    ...

    Linus Torvalds
     
  • Pull mtd updates from Miquel Raynal:
    "MTD core changes:
    - Spelling
    - http to https updates

    NAND core changes:
    - Drop useless 'depends on' in Kconfig
    - Add an extra level in the Kconfig hierarchy
    - Trivial spellings
    - Dynamic allocation of the interface configurations
    - Dropping the default ONFI timing mode
    - Various cleanup (types, structures, naming, comments)
    - Hide the chip->data_interface indirection
    - Add the generic rb-gpios property
    - Add the ->choose_interface_config() hook
    - Introduce nand_choose_best_sdr_timings()
    - Use default values for tPROG_max and tBERS_max
    - Avoid redefining tR_max and tCCS_min
    - Add a helper to find the closest ONFI mode
    - bcm63xx MTD parsers: simplify CFE detection

    Raw NAND controller drivers changes:
    - fsl-upm: Deprecation of specific DT properties
    - fsl_upm: Driver rework and cleanup in favor of ->exec_op()
    - Ingenic: Cleanup ARRAY_SIZE() vs sizeof() use
    - brcmnand: ECC error handling on EDU transfers
    - brcmnand: Don't default to EDU transfers
    - qcom: Set BAM mode only if not set already
    - qcom: Avoid write to unavailable register
    - gpio: Driver rework in favor of ->exec_op()
    - tango: ->exec_op() conversion
    - mtk: ->exec_op() conversion

    Raw NAND chip drivers changes:
    - toshiba: Implement ->choose_interface_config() for TH58NVG2S3HBAI4,
    TC58NVG0S3E, and TC58TEG5DCLTA00
    - hynix: Implement ->choose_interface_config() for H27UCG8T2ATR-BC

    SPI NOR core changes:
    - Disable Quad Mode in spi_nor_restore().
    - Don't abort BFPT parsing when QER reserved value is used.
    - Add support/update capabilities for few flashes.
    - Drop s70fl01gs flash: it does not support RDSR(05h) which is
    critical for erase/write.
    - Merge the SPIMEM DTR bits in spi-nor/next to avoid conflicts during
    the release cycle.

    SPI NOR controller drivers changes:
    - Move the cadence-quadspi driver to spi-mem. The series was taken
    through the SPI tree. Merge it also in spi-nor/next to avoid
    conflicts during the release cycle.
    - intel-spi:
    - Add new PCI IDs.
    - Ignore the Write Disable command, the controller doesn't support
    it.
    - Fix performance regression"

    * tag 'mtd/for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (79 commits)
    MTD: pfow.h: drop a duplicated word
    MTD: mtd-abi.h: drop a duplicated word
    mtd: rawnand: omap_elm: Replace HTTP links with HTTPS ones
    mtd: Replace HTTP links with HTTPS ones
    mtd: hyperbus: Replace HTTP links with HTTPS ones
    mtd: revert "spi-nor: intel: provide a range for poll_timout"
    mtd: spi-nor: update read capabilities for w25q64 and s25fl064k
    mtd: spi-nor: micron: Add SPI_NOR_DUAL_READ flag on mt25qu02g
    mtd: spi-nor: macronix: Add support for mx66u2g45g
    mtd: spi-nor: intel-spi: Simulate WRDI command
    mtd: spi-nor: Disable the flash quad mode in spi_nor_restore()
    mtd: spi-nor: Add capability to disable flash quad mode
    mtd: spi-nor: spansion: Remove s70fl01gs from flash_info
    mtd: spi-nor: sfdp: do not make invalid quad enable fatal
    dt-bindings: mtd: fsl-upm-nand: Deprecate chip-delay and fsl, upm-wait-flags
    mtd: rawnand: stm32_fmc2: get resources from parent node
    mtd: rawnand: stm32_fmc2: use regmap APIs
    memory: stm32-fmc2-ebi: add STM32 FMC2 EBI controller driver
    dt-bindings: memory-controller: add STM32 FMC2 EBI controller documentation
    dt-bindings: mtd: update STM32 FMC2 NAND controller documentation
    ...

    Linus Torvalds
     
  • Signed-off-by: Stephen Rothwell
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • Commit d26e94149276 ("kbuild: no gcc-plugins during cc-option tests")
    was neeeded because scripts/Makefile.gcc-plugins was too early.

    This is unneeded by including scripts/Makefile.gcc-plugins last,
    and being careful to not add cc-option tests after it.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Currently, the top Makefile includes all of scripts/Makefile.
    even if the associated CONFIG option is disabled.

    Do not include unneeded Makefiles in order to slightly optimize the
    parse stage.

    Include $(include-y), and ignore $(include-).

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • To build host programs, you need to add the program names to 'hostprogs'
    to use the necessary build rule, but it is not enough to build them
    because there is no dependency.

    There are two types of host programs: built as the prerequisite of
    another (e.g. gen_crc32table in lib/Makefile), or always built when
    Kbuild visits the Makefile (e.g. genksyms in scripts/genksyms/Makefile).

    The latter is typical in Makefiles under scripts/, which contains host
    programs globally used during the kernel build. To build them, you need
    to add them to both 'hostprogs' and 'always-y'.

    This commit adds hostprogs-always-y as a shorthand.

    The same applies to user programs. net/bpfilter/Makefile builds
    bpfilter_umh on demand, hence always-y is unneeded. In contrast,
    programs under samples/ are added to both 'userprogs' and 'always-y'
    so they are always built when Kbuild visits the Makefiles.

    userprogs-always-y works as a shorthand.

    Signed-off-by: Masahiro Yamada
    Acked-by: Miguel Ojeda

    Masahiro Yamada
     
  • The conditional:

    ifneq ($(hostprogs),)

    ... is evaluated to true if $(hostprogs) does not contain any word but
    whitespace characters.

    ifneq ($(strip $(hostprogs)),)

    ... is a safe way to avoid interpreting whitespace as a non-empty value,
    but I'd rather want to use the side-effect of $(sort ...) to do the
    equivalent.

    $(sort ...) is used in scripts/Makefile.host in order to drop duplication
    in $(hostprogs). It is also useful to strip excessive spaces.

    Move $(sort ...) before evaluating the ifneq.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • The host shared library rules are currently implemented in
    scripts/Makefile.host, but actually GCC-plugin is the only user of
    them. (The VDSO .so files are built for the target by different
    build rules) Hence, they do not need to be treewide available.

    Move all the relevant build rules to scripts/gcc-plugins/Makefile.

    I also optimized the build steps so *.so is directly built from .c
    because every upstream plugin is compiled from a single source file.

    I am still keeping the multi-file plugin support, which Kees Cook
    mentioned might be needed by out-of-tree plugins.
    (https://lkml.org/lkml/2019/1/11/1107)

    If the plugin, foo.so, is compiled from two files foo.c and foo2.c,
    then you can do like follows:

    foo-objs := foo.o foo2.o

    Single-file plugins do not need the *-objs notation.

    Signed-off-by: Masahiro Yamada
    Acked-by: Kees Cook

    Masahiro Yamada
     
  • Rationale:
    Reduces attack surface on kernel devs opening the links for MITM
    as HTTPS traffic is much harder to manipulate.

    Deterministic algorithm:
    For each file:
    If not .svg:
    For each line:
    If doesn't contain `\bxmlns\b`:
    For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`:
    If neither `\bgnu\.org/license`, nor `\bmozilla\.org/MPL\b`:
    If both the HTTP and HTTPS versions
    return 200 OK and serve the same content:
    Replace HTTP with HTTPS.

    Signed-off-by: Alexander A. Klimov
    Signed-off-by: Masahiro Yamada

    Alexander A. Klimov
     
  • ccflags-remove-$(CONFIG_FUNCTION_TRACER) += $(CC_FLAGS_FTRACE)

    exists here in sub-directories of lib/ to keep the behavior of
    commit 2464a609ded0 ("ftrace: do not trace library functions").

    Since that commit, not only the objects in lib/ but also the ones in
    the sub-directories are excluded from ftrace (although the commit
    description did not explicitly mention this).

    However, most of library functions in sub-directories are not so hot.
    Re-add them to ftrace.

    Going forward, only the objects right under lib/ will be excluded.

    Cc: Ingo Molnar
    Signed-off-by: Masahiro Yamada
    Acked-by: Steven Rostedt (VMware)

    Masahiro Yamada
     
  • CFLAGS_REMOVE_.o filters out flags when compiling a particular
    object, but there is no convenient way to do that for every object in
    a directory.

    Add ccflags-remove-y and asflags-remove-y to make it easily.

    Use ccflags-remove-y to clean up some Makefiles.

    The add/remove order works as follows:

    [1] KBUILD_CFLAGS specifies compiler flags used globally

    [2] ccflags-y adds compiler flags for all objects in the
    current Makefile

    [3] ccflags-remove-y removes compiler flags for all objects in the
    current Makefile (New feature)

    [4] CFLAGS_ adds compiler flags per file.

    [5] CFLAGS_REMOVE_ removes compiler flags per file.

    Having [3] before [4] allows us to remove flags from most (but not all)
    objects in the current Makefile.

    For example, kernel/trace/Makefile removes $(CC_FLAGS_FTRACE)
    from all objects in the directory, then adds it back to
    trace_selftest_dynamic.o and CFLAGS_trace_kprobe_selftest.o

    The same applies to lib/livepatch/Makefile.

    Please note ccflags-remove-y has no effect to the sub-directories.
    In contrast, the previous notation got rid of compiler flags also from
    all the sub-directories.

    The following are not affected because they have no sub-directories:

    arch/arm/boot/compressed/
    arch/powerpc/xmon/
    arch/sh/
    kernel/trace/

    However, lib/ has several sub-directories.

    To keep the behavior, I added ccflags-remove-y to all Makefiles
    in subdirectories of lib/, except the following:

    lib/vdso/Makefile - Kbuild does not descend into this Makefile
    lib/raid/test/Makefile - This is not used for the kernel build

    I think commit 2464a609ded0 ("ftrace: do not trace library functions")
    excluded too much. In the next commit, I will remove ccflags-remove-y
    from the sub-directories of lib/.

    Suggested-by: Sami Tolvanen
    Signed-off-by: Masahiro Yamada
    Acked-by: Steven Rostedt (VMware)
    Acked-by: Michael Ellerman (powerpc)
    Acked-by: Brendan Higgins (KUnit)
    Tested-by: Anders Roxell

    Masahiro Yamada
     
  • When you clean the build tree for ARCH=arm, you may see the following
    error message from 'nm' command:

    $ make -j24 ARCH=arm clean
    CLEAN arch/arm/crypto
    CLEAN arch/arm/kernel
    CLEAN arch/arm/mach-at91
    CLEAN arch/arm/mach-omap2
    CLEAN arch/arm/vdso
    CLEAN certs
    CLEAN lib
    CLEAN usr
    CLEAN net/wireless
    CLEAN drivers/firmware/efi/libstub
    nm: 'arch/arm/boot/compressed/../../../../vmlinux': No such file
    /bin/sh: 1: arithmetic expression: expecting primary: " "
    CLEAN arch/arm/boot/compressed
    CLEAN drivers/scsi
    CLEAN drivers/tty/vt
    CLEAN arch/arm/boot
    CLEAN vmlinux.symvers modules.builtin modules.builtin.modinfo

    Even if you rerun the same command, the error message will not be
    shown despite vmlinux is already gone.

    To reproduce it, the parallel option -j is needed. Single thread
    cleaning always executes 'archclean', 'vmlinuxclean' in this order,
    so vmlinux still exists when arch/arm/boot/compressed/ is cleaned.

    Looking at arch/arm/boot/compressed/Makefile does not help understand
    the reason of the error message. Both KBSS_SZ and LDFLAGS_vmlinux are
    assigned with '=' operator, hence, they are not expanded unless used.
    Obviously, 'make clean' does not use them.

    In fact, the root cause exists in the top Makefile:

    export LDFLAGS_vmlinux

    Since LDFLAGS_vmlinux is an exported variable, LDFLAGS_vmlinux in
    arch/arm/boot/compressed/Makefile is expanded when scripts/Makefile.clean
    has a command to execute. This is why the error message shows up only
    when there exist build artifacts in arch/arm/boot/compressed/.

    Adding 'unexport LDFLAGS_vmlinux' to arch/arm/boot/compressed/Makefile
    will fix it as far as ARCH=arm is concerned, but I think the proper fix
    is to get rid of 'export LDFLAGS_vmlinux' from the top Makefile.

    LDFLAGS_vmlinux in the top Makefile contains linker flags for the top
    vmlinux. LDFLAGS_vmlinux in arch/arm/boot/compressed/Makefile is for
    arch/arm/boot/compressed/vmlinux. They just happen to have the same
    variable name, but are used for different purposes. Stop shadowing
    LDFLAGS_vmlinux.

    This commit passes LDFLAGS_vmlinux to scripts/link-vmlinux.sh via a
    command line parameter instead of via an environment variable. LD and
    KBUILD_LDFLAGS are exported, but I did the same for consistency. Anyway,
    they must be included in cmd_link-vmlinux to allow if_changed to detect
    the changes in LD or KBUILD_LDFLAGS.

    The following Makefiles are not affected:

    arch/arm/boot/compressed/Makefile
    arch/h8300/boot/compressed/Makefile
    arch/nios2/boot/compressed/Makefile
    arch/parisc/boot/compressed/Makefile
    arch/s390/boot/compressed/Makefile
    arch/sh/boot/compressed/Makefile
    arch/sh/boot/romimage/Makefile
    arch/x86/boot/compressed/Makefile

    They use ':=' or '=' to clear the LDFLAGS_vmlinux inherited from the
    top Makefile.

    We need to take a closer look at the impact to unicore32 and xtensa.

    arch/unicore32/boot/compressed/Makefile only uses '+=' operator for
    LDFLAGS_vmlinux. So, the decompressor previously inherited the linker
    flags from the top Makefile.

    However, commit 70fac51feaf2 ("unicore32 additional architecture files:
    boot process") was merged before commit 1f2bfbd00e46 ("kbuild: link of
    vmlinux moved to a script"). So, I rather consider this is a bug fix of
    1f2bfbd00e46.

    arch/xtensa/boot/boot-elf/Makefile is also affected, but this is also
    considered a fix for the same reason. It did not inherit LDFLAGS_vmlinux
    when commit 4bedea945451 ("[PATCH] xtensa: Architecture support for
    Tensilica Xtensa Part 2") was merged. I deleted $(LDFLAGS_vmlinux),
    which is now empty.

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Nick Desaulniers
    Tested-by: Nick Desaulniers

    Masahiro Yamada
     
  • Currently, the directories of objects are automatically created
    only for O= builds.

    It should not hurt to cater to this for in-tree builds too.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

09 Aug, 2020

6 commits

  • …ux/kernel/git/arm64/linux") into android-mainline

    Steps on the way to 5.9-rc1

    Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
    Change-Id: Id74224d7f18ddadb68bee87a17093de49331c8be

    Greg Kroah-Hartman
     
  • This reverts commit 2c2320041c46f82c4a3001fff995e723f7950b9a.

    It is fixed in a different way in Linus's tree.

    Signed-off-by: Greg Kroah-Hartman
    Change-Id: I3f40e7a9570cfc78e738a7691b8f229169686f6b

    Greg Kroah-Hartman
     
  • Pull arm64 fixes from Catalin Marinas:

    - Fix tegra194-cpufreq module build failure caused by __cpu_logical_map
    not being exported.

    - Improve fixed_addresses comment regarding the fixmap buffer sizes.

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: Fix __cpu_logical_map undefined issue
    arm64/fixmap: make notes of fixed_addresses more precisely

    Linus Torvalds
     
  • The __cpu_logical_map undefined issue occued when the new
    tegra194-cpufreq drvier building as a module.

    ERROR: modpost: "__cpu_logical_map" [drivers/cpufreq/tegra194-cpufreq.ko] undefined!

    The driver using cpu_logical_map() macro which will expand to
    __cpu_logical_map, we can't access it in a drvier. Let's turn
    cpu_logical_map() into a C wrapper and export it to fix the
    build issue.

    Also create a function set_cpu_logical_map(cpu, hwid) when assign
    a value to cpu_logical_map(cpu).

    Reported-by: Hulk Robot
    Signed-off-by: Kefeng Wang
    Signed-off-by: Catalin Marinas

    Kefeng Wang
     
  • These 'compile-time allocated' memory buffers can occupy more than one
    page and each enum increment is page-sized. So improve the note about it.

    Signed-off-by: Pingfan Liu
    Cc: Will Deacon
    Link: https://lore.kernel.org/r/1596460720-19243-1-git-send-email-kernelfans@gmail.com
    To: linux-arm-kernel@lists.infradead.org
    Signed-off-by: Catalin Marinas

    Pingfan Liu
     
  • Pull IPMI updates from Corey Minyard:
    "Minor cleanups to the IPMI driver for 5.9

    Nothing of any major consequence. Duplicate code, some missing \n's in
    sysfs files, some documentation and comment changes"

    * tag 'for-linus-5.9-1' of git://github.com/cminyard/linux-ipmi:
    ipmi/watchdog: add missing newlines when printing parameters by sysfs
    ipmi: remve duplicate code in __ipmi_bmc_register()
    ipmi: ssif: Remove finished TODO comment about SMBus alert
    Doc: driver-api: ipmi: Add description of alerts_broken module param

    Linus Torvalds
     

08 Aug, 2020

13 commits

  • Currently Linus's tree fails with the following build error on arm64
    makeallmodconfig:
    ERROR: modpost: "__cpu_logical_map" [drivers/cpufreq/tegra194-cpufreq.ko] undefined!

    Seems that kernel.ci also notices this for the past 2 days:
    https://lore.kernel.org/r/5f2c97ab.1c69fb81.160f4.0196@mx.google.com
    https://lore.kernel.org/r/5f2ab734.1c69fb81.24b16.8537@mx.google.com

    Fix this up by just exporting the symbol. Don't know if it's the
    "right" fix, but it solves the build error for my machines.

    Reported-by: "kernelci.org bot"
    Link: https://lore.kernel.org/lkml/20200808124242.GA352821@kroah.com/
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Greg Kroah-Hartman
    Change-Id: If67777d8300d4cd6af15440164556d10c22c2235

    Greg Kroah-Hartman
     
  • This hack is needed to run 32-bit userspace on 64-bit kernel.

    This effectively reverts:
    commit 1a9d91561de246161297005c80bf2cd4f3c8dcaa.
    ANDROID: xfrm: remove in_compat_syscall() checks

    and then re-implements the same functionality as a two liner
    which should be easier to understand across merge conflicts.

    Bug: 138147164
    Bug: 163141236
    Test: kernel_net_tests
    Change-Id: Ic7839c20e832781ac908d2779419d66e87e2b48c
    Signed-off-by: Maciej Żenczykowski
    Signed-off-by: Greg Kroah-Hartman

    Maciej Żenczykowski
     
  • commit 92501cb6702a ("ANDROID: add extra free kbytes tunable") added a
    use of the vm_total_pages variable, which is now gone upstream.

    So fix this up with a call to
    nr_free_zone_pages(gfp_zone(GFP_HIGHUSER_MOVABLE) instead, which I
    _think_ is the equivalent value. Hopefully :)

    Bug: 86445363
    Bug: 109664768
    Bug: 120445732
    Cc: Rik van Riel
    Cc: Colin Cross
    Cc: Suren Baghdasaryan
    Signed-off-by: Greg Kroah-Hartman
    Change-Id: I78d4a0877fd2fc449e663e0f4aa047b1b21d4d2b

    Greg Kroah-Hartman
     
  • commit 60500a42286d ("ANDROID: mm: add a field to store names for
    private anonymous memory") changed the parameters to vma_merge() which
    causes any new use of that function upstream to break the build.

    So fix up the new call by adding the needed extra parameter.

    Maybe someday this patch could be dropped to prevent this.

    Bug: 120441514
    Cc: Colin Cross
    Cc: Dmitry Shmidt
    Cc: Amit Pundir
    Signed-off-by: Greg Kroah-Hartman
    Change-Id: I05629d408449124215ef9181223a686f4855cbf6

    Greg Kroah-Hartman
     
  • CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is removed from arm64
    gki_defconfig as it's no longer needed.

    Signed-off-by: Greg Kroah-Hartman
    Change-Id: Ieb6daa643900106281205c41f6911dfea8782df3

    Greg Kroah-Hartman
     
  • …kernel/git/sre/linux-power-supply") into android-mainline

    Merges along the way to 5.9-rc1

    resolves conflicts in:
    Documentation/ABI/testing/sysfs-class-power
    drivers/power/supply/power_supply_sysfs.c
    fs/crypto/inline_crypt.c

    Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
    Change-Id: Ia087834f54fb4e5269d68c3c404747ceed240701

    Greg Kroah-Hartman
     
  • This reverts commit 8e31748d2cf13426154d3f8eacbaa26bea2e5709
    (change Ie769d7b3bb2f5972afe05c1bf16cf88c91647ab2).

    This is no longer needed because the only user of vfsmount::data was
    sdcardfs, and sdcardfs has now been removed.

    Bug: 157700134
    Change-Id: I1af6d917288e80b8fec5abcb27bd896078cecf30
    Signed-off-by: Eric Biggers
    Signed-off-by: Greg Kroah-Hartman

    Eric Biggers
     
  • This reverts commit cbfbd9e932dec85e9b30550b79d3b1ba040ce1d5
    (change I6aedaa89536ae85e6bc29093f38934c672c8fe42).

    This is no longer needed because the only user of vfsmount::data was
    sdcardfs, and sdcardfs has now been removed.

    Bug: 157700134
    Change-Id: I1f4da1a9e6ce1c3509fdf233cf9de446a53b28da
    Signed-off-by: Eric Biggers
    Signed-off-by: Greg Kroah-Hartman

    Eric Biggers
     
  • This reverts commit e2b3aa25c512b94b755d93de23bec7af81d4b7d9
    (change I2d1c06fae274eeac03ac1924ef162f7bbb2f29d0).

    This is no longer needed because the only user of show_options2 was
    sdcardfs, and sdcardfs has now been removed.

    Bug: 157700134
    Change-Id: I740a75f8e34b6119d71905b6787d4955a7aad1bf
    Signed-off-by: Eric Biggers
    Signed-off-by: Greg Kroah-Hartman

    Eric Biggers
     
  • This fixes up the drivers/gpu/drm/bridge/lontium-lt9611.c to build
    properly, should still work just as well as no logic changed, but would
    be good if someone verified this...

    Bug: 146449535
    Cc: John Stultz
    Signed-off-by: Greg Kroah-Hartman
    Change-Id: I89984053acccff38d3156d24ec28fc165af50013

    Greg Kroah-Hartman
     
  • Pull power supply and reset updates from Sebastian Reichel:
    "Power-supply core:
    - add COOL/WARM/HOT state from JEITA JISC8712:2015 specification
    - convert simple-battery DT binding to YAML
    - add long-life charging mode

    Battery/charger drivers:
    - bq25150: new charger driver
    - bq27xxx: add support for BQ27z561 and BQ28z610
    - max17040: support CAPACITY_ALERT_MIN
    - sbs-battery: add PEC support
    - wilco-ec: support long-life charging mode
    - bq25890: fix DT binding
    - misc. fixes and cleanups

    Reset drivers:
    - linkstation: new reset driver"

    * tag 'for-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (32 commits)
    power: supply: wilco_ec: Add long life charging mode
    power: supply: bq27xxx_battery: Add the BQ28z610 Battery monitor
    dt-bindings: power: Add BQ28z610 compatible
    power: supply: bq27xxx_battery: Add the BQ27Z561 Battery monitor
    dt-bindings: power: Add BQ27Z561 compatible
    power: supply: test_power: Fix battery_current initial value
    power: supply: Fix kerneldoc of power_supply_temp2resist_simple()
    power: supply: cpcap-battery: Fix kerneldoc of cpcap_battery_read_accumulated()
    dt-bindings: power: Convert battery.txt to battery.yaml
    power: supply: rt5033_battery: Fix error code in rt5033_battery_probe()
    power: supply: max17040: Add POWER_SUPPLY_PROP_CAPACITY_ALERT_MIN
    power: supply: check if calc_soc succeeded in pm860x_init_battery
    power: supply: bq2xxxx: Replace HTTP links with HTTPS ones
    power: reset: add driver for LinkStation power off
    power: supply: sc27xx: prevent adc * 1000 from overflow
    math64: New DIV_S64_ROUND_CLOSEST helper
    power: fix duplicated words in bq2415x_charger.h
    power: Convert to DEFINE_SHOW_ATTRIBUTE
    power: reset: keystone-reset: Replace HTTP links with HTTPS ones
    power: supply: bq25150 introduce the bq25150
    ...

    Linus Torvalds
     
  • Pull misc vfs updates from Al Viro:
    "No common topic whatsoever in those, sorry"

    * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    fs: define inode flags using bit numbers
    iov_iter: Move unnecessary inclusion of crypto/hash.h
    dlmfs: clean up dlmfs_file_{read,write}() a bit

    Linus Torvalds
     
  • Pull mount leak fix from Al Viro:
    "Regression fix for the syscalls-for-init series - fix a leak of a 'struct path'"

    * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    fs: fix a struct path leak in path_umount

    Linus Torvalds