17 Apr, 2019

1 commit

  • commit ada770b1e74a77fff2d5f539bf6c42c25f4784db upstream.

    return_address returns the address that is one level higher in the call
    stack than requested in its argument, because level 0 corresponds to its
    caller's return address. Use requested level as the number of stack
    frames to skip.

    This fixes the address reported by might_sleep and friends.

    Cc: stable@vger.kernel.org
    Signed-off-by: Max Filippov
    Signed-off-by: Greg Kroah-Hartman

    Max Filippov
     

14 Mar, 2019

5 commits

  • [ Upstream commit 25384ce5f9530def39421597b1457d9462df6455 ]

    This fixes the following warning at boot when the kernel is booted on a
    board with more CPU cores than was configured in NR_CPUS:

    smp_init_cpus: Core Count = 8
    smp_init_cpus: Core Id = 0
    ------------[ cut here ]------------
    WARNING: CPU: 0 PID: 0 at include/linux/cpumask.h:121 smp_init_cpus+0x54/0x74
    Modules linked in:
    CPU: 0 PID: 0 Comm: swapper Not tainted 5.0.0-rc3-00015-g1459333f88a0 #124
    Call Trace:
    __warn$part$3+0x6a/0x7c
    warn_slowpath_null+0x35/0x3c
    smp_init_cpus+0x54/0x74
    setup_arch+0x1c0/0x1d0
    start_kernel+0x44/0x310
    _startup+0x107/0x107

    Signed-off-by: Max Filippov
    Signed-off-by: Sasha Levin

    Max Filippov
     
  • [ Upstream commit 8b1c42cdd7181200dc1fff39dcb6ac1a3fac2c25 ]

    Otherwise it is impossible to enable CPUs after booting with 'maxcpus'
    parameter.

    Signed-off-by: Max Filippov
    Signed-off-by: Sasha Levin

    Max Filippov
     
  • [ Upstream commit 306b38305c0f86de7f17c5b091a95451dcc93d7d ]

    Secondary CPU reset vector overlaps part of the double exception handler
    code, resulting in weird crashes and hangups when running user code.
    Move exception vectors one page up so that they don't clash with the
    secondary CPU reset vector.

    Signed-off-by: Max Filippov
    Signed-off-by: Sasha Levin

    Max Filippov
     
  • [ Upstream commit 32a7726c4f4aadfabdb82440d84f88a5a2c8fe13 ]

    - add missing memory barriers to the secondary CPU synchronization spin
    loops; add comment to the matching memory barrier in the boot_secondary
    and __cpu_die functions;
    - use READ_ONCE/WRITE_ONCE to access cpu_start_id/cpu_start_ccount
    instead of reading/writing them directly;
    - re-initialize cpu_running every time before starting secondary CPU to
    flush possible previous CPU startup results.

    Signed-off-by: Max Filippov
    Signed-off-by: Sasha Levin

    Max Filippov
     
  • [ Upstream commit 4fe8713b873fc881284722ce4ac47995de7cf62c ]

    ccount_timer_shutdown is called from the atomic context in the
    secondary_start_kernel, resulting in the following BUG:

    BUG: sleeping function called from invalid context
    in_atomic(): 1, irqs_disabled(): 1, pid: 0, name: swapper/1
    Preemption disabled at:
    secondary_start_kernel+0xa1/0x130
    Call Trace:
    ___might_sleep+0xe7/0xfc
    __might_sleep+0x41/0x44
    synchronize_irq+0x24/0x64
    disable_irq+0x11/0x14
    ccount_timer_shutdown+0x12/0x20
    clockevents_switch_state+0x82/0xb4
    clockevents_exchange_device+0x54/0x60
    tick_check_new_device+0x46/0x70
    clockevents_register_device+0x8c/0xc8
    clockevents_config_and_register+0x1d/0x2c
    local_timer_setup+0x75/0x7c
    secondary_start_kernel+0xb4/0x130
    should_never_return+0x32/0x35

    Use disable_irq_nosync instead of disable_irq to avoid it.
    This is safe because the ccount timer IRQ is per-CPU, and once IRQ is
    masked the ISR will not be called.

    Signed-off-by: Max Filippov
    Signed-off-by: Sasha Levin

    Max Filippov
     

10 Mar, 2019

1 commit

  • commit d90b88fd3653f1fb66ecc6571b860d5a5749fa56 upstream.

    Stack unwinding is implemented incorrectly in xtensa get_wchan: instead
    of extracting a0 and a1 registers from the spill location under the
    stack pointer it extracts a word pointed to by the stack pointer and
    subtracts 4 or 3 from it.

    Cc: stable@vger.kernel.org
    Signed-off-by: Max Filippov
    Signed-off-by: Greg Kroah-Hartman

    Max Filippov
     

13 Feb, 2019

1 commit

  • [ Upstream commit f37598be4e3896359e87c824be57ddddc280cc3f ]

    Rename SPI controller node in the XTFPGA DTS to spi@...
    This fixes the following build warnings:

    arch/xtensa/boot/dts/kc705_nommu.dtb: Warning (spi_bus_bridge):
    /soc/spi-master@0d0a0000: node name for SPI buses should be 'spi'
    arch/xtensa/boot/dts/kc705_nommu.dtb: Warning (spi_bus_reg):
    Failed prerequisite 'spi_bus_bridge'
    arch/xtensa/boot/dts/lx200mx.dtb: Warning (spi_bus_bridge):
    /soc/spi-master@0d0a0000: node name for SPI buses should be 'spi'
    arch/xtensa/boot/dts/lx200mx.dtb: Warning (spi_bus_reg):
    Failed prerequisite 'spi_bus_bridge'
    arch/xtensa/boot/dts/kc705.dtb: Warning (spi_bus_bridge):
    /soc/spi-master@0d0a0000: node name for SPI buses should be 'spi'
    arch/xtensa/boot/dts/kc705.dtb: Warning (spi_bus_reg):
    Failed prerequisite 'spi_bus_bridge'
    arch/xtensa/boot/dts/ml605.dtb: Warning (spi_bus_bridge):
    /soc/spi-master@0d0a0000: node name for SPI buses should be 'spi'
    arch/xtensa/boot/dts/ml605.dtb: Warning (spi_bus_reg):
    Failed prerequisite 'spi_bus_bridge'
    arch/xtensa/boot/dts/lx60.dtb: Warning (spi_bus_bridge):
    /soc/spi-master@0d0a0000: node name for SPI buses should be 'spi'
    arch/xtensa/boot/dts/lx60.dtb: Warning (spi_bus_reg):
    Failed prerequisite 'spi_bus_bridge'

    Signed-off-by: Max Filippov
    Signed-off-by: Sasha Levin

    Max Filippov
     

06 Dec, 2018

3 commits

  • commit 38a35a78c5e270cbe53c4fef6b0d3c2da90dd849 upstream.

    Layout of coprocessor registers in the elf_xtregs_t and
    xtregs_coprocessor_t may be different due to alignment. Thus it is not
    always possible to copy data between the xtregs_coprocessor_t structure
    and the elf_xtregs_t and get correct values for all registers.
    Use a table of offsets and sizes of individual coprocessor register
    groups to do coprocessor context copying in the ptrace_getxregs and
    ptrace_setxregs.
    This fixes incorrect coprocessor register values reading from the user
    process by the native gdb on an xtensa core with multiple coprocessors
    and registers with high alignment requirements.

    Cc: stable@vger.kernel.org
    Signed-off-by: Max Filippov
    Signed-off-by: Greg Kroah-Hartman

    Max Filippov
     
  • commit 03bc996af0cc71c7f30c384d8ce7260172423b34 upstream.

    Coprocessor context offsets are used by the assembly code that moves
    coprocessor context between the individual fields of the
    thread_info::xtregs_cp structure and coprocessor registers.
    This fixes coprocessor context clobbering on flushing and reloading
    during normal user code execution and user process debugging in the
    presence of more than one coprocessor in the core configuration.

    Cc: stable@vger.kernel.org
    Signed-off-by: Max Filippov
    Signed-off-by: Greg Kroah-Hartman

    Max Filippov
     
  • commit 2958b66694e018c552be0b60521fec27e8d12988 upstream.

    coprocessor_flush_all may be called from a context of a thread that is
    different from the thread being flushed. In that case contents of the
    cpenable special register may not match ti->cpenable of the target
    thread, resulting in unhandled coprocessor exception in the kernel
    context.
    Set cpenable special register to the ti->cpenable of the target register
    for the duration of the flush and restore it afterwards.
    This fixes the following crash caused by coprocessor register inspection
    in native gdb:

    (gdb) p/x $w0
    Illegal instruction in kernel: sig: 9 [#1] PREEMPT
    Call Trace:
    ___might_sleep+0x184/0x1a4
    __might_sleep+0x41/0xac
    exit_signals+0x14/0x218
    do_exit+0xc9/0x8b8
    die+0x99/0xa0
    do_illegal_instruction+0x18/0x6c
    common_exception+0x77/0x77
    coprocessor_flush+0x16/0x3c
    arch_ptrace+0x46c/0x674
    sys_ptrace+0x2ce/0x3b4
    system_call+0x54/0x80
    common_exception+0x77/0x77
    note: gdb[100] exited with preempt_count 1
    Killed

    Cc: stable@vger.kernel.org
    Signed-off-by: Max Filippov
    Signed-off-by: Greg Kroah-Hartman

    Max Filippov
     

21 Nov, 2018

3 commits

  • commit 40dc948f234b73497c3278875eb08a01d5854d3f upstream.

    The bootloader may pass physical address of the boot parameters structure
    to the MMUv3 kernel in the register a2. Code in the _SetupMMU block in
    the arch/xtensa/kernel/head.S is supposed to map that physical address to
    the virtual address in the configured virtual memory layout.

    This code haven't been updated when additional 256+256 and 512+512
    memory layouts were introduced and it may produce wrong addresses when
    used with these layouts.

    Cc: stable@vger.kernel.org
    Signed-off-by: Max Filippov
    Signed-off-by: Greg Kroah-Hartman

    Max Filippov
     
  • commit 0773495b1f5f1c5e23551843f87b5ff37e7af8f7 upstream.

    Xtensa ABI requires stack alignment to be at least 16. In noMMU
    configuration ARCH_SLAB_MINALIGN is used to align stack. Make it at
    least 16.

    This fixes the following runtime error in noMMU configuration, caused by
    interaction between insufficiently aligned stack and alloca function,
    that results in corruption of on-stack variable in the libc function
    glob:

    Caught unhandled exception in 'sh' (pid = 47, pc = 0x02d05d65)
    - should not happen
    EXCCAUSE is 15

    Cc: stable@vger.kernel.org
    Signed-off-by: Max Filippov
    Signed-off-by: Greg Kroah-Hartman

    Max Filippov
     
  • commit 4119ba211bc4f1bf638f41e50b7a0f329f58aa16 upstream.

    This section collects all source .note.* sections together in the
    vmlinux image. Without it .note.Linux section may be placed at address
    0, while the rest of the kernel is at its normal address, resulting in a
    huge vmlinux.bin image that may not be linked into the xtensa Image.elf.

    Cc: stable@vger.kernel.org
    Signed-off-by: Max Filippov
    Signed-off-by: Greg Kroah-Hartman

    Max Filippov
     

12 Sep, 2018

2 commits


07 Sep, 2018

1 commit


26 Aug, 2018

1 commit

  • Pull more Kbuild updates from Masahiro Yamada:

    - add build_{menu,n,g,x}config targets for compile-testing Kconfig

    - fix and improve recursive dependency detection in Kconfig

    - fix parallel building of menuconfig/nconfig

    - fix syntax error in clang-version.sh

    - suppress distracting log from syncconfig

    - remove obsolete "rpm" target

    - remove VMLINUX_SYMBOL(_STR) macro entirely

    - fix microblaze build with CONFIG_DYNAMIC_FTRACE

    - move compiler test for dead code/data elimination to Kconfig

    - rename well-known LDFLAGS variable to KBUILD_LDFLAGS

    - misc fixes and cleanups

    * tag 'kbuild-v4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    kbuild: rename LDFLAGS to KBUILD_LDFLAGS
    kbuild: pass LDFLAGS to recordmcount.pl
    kbuild: test dead code/data elimination support in Kconfig
    initramfs: move gen_initramfs_list.sh from scripts/ to usr/
    vmlinux.lds.h: remove stale include
    export.h: remove VMLINUX_SYMBOL() and VMLINUX_SYMBOL_STR()
    Coccinelle: remove pci_alloc_consistent semantic to detect in zalloc-simple.cocci
    kbuild: make sorting initramfs contents independent of locale
    kbuild: remove "rpm" target, which is alias of "rpm-pkg"
    kbuild: Fix LOADLIBES rename in Documentation/kbuild/makefiles.txt
    kconfig: suppress "configuration written to .config" for syncconfig
    kconfig: fix "Can't open ..." in parallel build
    kbuild: Add a space after `!` to prevent parsing as file pattern
    scripts: modpost: check memory allocation results
    kconfig: improve the recursive dependency report
    kconfig: report recursive dependency involving 'imply'
    kconfig: error out when seeing recursive dependency
    kconfig: add build-only configurator targets
    scripts/dtc: consolidate include path options in Makefile

    Linus Torvalds
     

24 Aug, 2018

1 commit

  • Commit a0f97e06a43c ("kbuild: enable 'make CFLAGS=...' to add
    additional options to CC") renamed CFLAGS to KBUILD_CFLAGS.

    Commit 222d394d30e7 ("kbuild: enable 'make AFLAGS=...' to add
    additional options to AS") renamed AFLAGS to KBUILD_AFLAGS.

    Commit 06c5040cdb13 ("kbuild: enable 'make CPPFLAGS=...' to add
    additional options to CPP") renamed CPPFLAGS to KBUILD_CPPFLAGS.

    For some reason, LDFLAGS was not renamed.

    Using a well-known variable like LDFLAGS may result in accidental
    override of the variable.

    Kbuild generally uses KBUILD_ prefixed variables for the internally
    appended options, so here is one more conversion to sanitize the
    naming convention.

    I did not touch Makefiles under tools/ since the tools build system
    is a different world.

    Signed-off-by: Masahiro Yamada
    Acked-by: Kirill A. Shutemov
    Reviewed-by: Palmer Dabbelt

    Masahiro Yamada
     

23 Aug, 2018

1 commit

  • Pull Xtensa updates from Max Filippov:

    - switch xtensa arch to the generic noncoherent direct mapping
    operations

    - add support for DMA_ATTR_NO_KERNEL_MAPPING attribute

    - clean up users of platform/hardware.h in generic Xtensa code

    - fix assembly cache maintenance code for long cache lines

    - rework noMMU cache attributes initialization

    - add big-endian HiFi2 test_kc705_be CPU variant

    * tag 'xtensa-20180820' of git://github.com/jcmvbkbc/linux-xtensa:
    xtensa: add test_kc705_be variant
    xtensa: clean up boot-elf/bootstrap.S
    xtensa: make bootparam parsing optional
    xtensa: drop variant IRQ support
    xtensa: drop unneeded platform/hardware.h headers
    xtensa: move PLATFORM_NR_IRQS to Kconfig
    xtensa: rework {CONFIG,PLATFORM}_DEFAULT_MEM_START
    xtensa: drop unused {CONFIG,PLATFORM}_DEFAULT_MEM_SIZE
    xtensa: rework noMMU cache attributes initialization
    xtensa: increase ranges in ___invalidate_{i,d}cache_all
    xtensa: limit offsets in __loop_cache_{all,page}
    xtensa: platform-specific handling of coherent memory
    xtensa: support DMA_ATTR_NO_KERNEL_MAPPING attribute
    xtensa: use generic dma_noncoherent_ops

    Linus Torvalds
     

21 Aug, 2018

9 commits


18 Aug, 2018

2 commits

  • The CMA memory allocator doesn't support standard gfp flags for memory
    allocation, so there is no point having it as a parameter for
    dma_alloc_from_contiguous() function. Replace it by a boolean no_warn
    argument, which covers all the underlaying cma_alloc() function
    supports.

    This will help to avoid giving false feeling that this function supports
    standard gfp flags and callers can pass __GFP_ZERO to get zeroed buffer,
    what has already been an issue: see commit dd65a941f6ba ("arm64:
    dma-mapping: clear buffers allocated with FORCE_CONTIGUOUS flag").

    Link: http://lkml.kernel.org/r/20180709122020eucas1p21a71b092975cb4a3b9954ffc63f699d1~-sqUFoa-h2939329393eucas1p2Y@eucas1p2.samsung.com
    Signed-off-by: Marek Szyprowski
    Acked-by: Michał Nazarewicz
    Acked-by: Vlastimil Babka
    Reviewed-by: Christoph Hellwig
    Cc: Laura Abbott
    Cc: Michal Hocko
    Cc: Joonsoo Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marek Szyprowski
     
  • Use new return type vm_fault_t for fault handler. For now, this is just
    documenting that the function returns a VM_FAULT value rather than an
    errno. Once all instances are converted, vm_fault_t will become a
    distinct type.

    Ref-> commit 1c8f422059ae ("mm: change return type to vm_fault_t")

    In this patch all the caller of handle_mm_fault() are changed to return
    vm_fault_t type.

    Link: http://lkml.kernel.org/r/20180617084810.GA6730@jordon-HP-15-Notebook-PC
    Signed-off-by: Souptick Joarder
    Cc: Matthew Wilcox
    Cc: Richard Henderson
    Cc: Tony Luck
    Cc: Matt Turner
    Cc: Vineet Gupta
    Cc: Russell King
    Cc: Catalin Marinas
    Cc: Will Deacon
    Cc: Richard Kuo
    Cc: Geert Uytterhoeven
    Cc: Michal Simek
    Cc: James Hogan
    Cc: Ley Foon Tan
    Cc: Jonas Bonn
    Cc: James E.J. Bottomley
    Cc: Benjamin Herrenschmidt
    Cc: Palmer Dabbelt
    Cc: Yoshinori Sato
    Cc: David S. Miller
    Cc: Richard Weinberger
    Cc: Guan Xuetao
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: "Levin, Alexander (Sasha Levin)"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Souptick Joarder
     

16 Aug, 2018

3 commits

  • Pull networking updates from David Miller:
    "Highlights:

    - Gustavo A. R. Silva keeps working on the implicit switch fallthru
    changes.

    - Support 802.11ax High-Efficiency wireless in cfg80211 et al, From
    Luca Coelho.

    - Re-enable ASPM in r8169, from Kai-Heng Feng.

    - Add virtual XFRM interfaces, which avoids all of the limitations of
    existing IPSEC tunnels. From Steffen Klassert.

    - Convert GRO over to use a hash table, so that when we have many
    flows active we don't traverse a long list during accumluation.

    - Many new self tests for routing, TC, tunnels, etc. Too many
    contributors to mention them all, but I'm really happy to keep
    seeing this stuff.

    - Hardware timestamping support for dpaa_eth/fsl-fman from Yangbo Lu.

    - Lots of cleanups and fixes in L2TP code from Guillaume Nault.

    - Add IPSEC offload support to netdevsim, from Shannon Nelson.

    - Add support for slotting with non-uniform distribution to netem
    packet scheduler, from Yousuk Seung.

    - Add UDP GSO support to mlx5e, from Boris Pismenny.

    - Support offloading of Team LAG in NFP, from John Hurley.

    - Allow to configure TX queue selection based upon RX queue, from
    Amritha Nambiar.

    - Support ethtool ring size configuration in aquantia, from Anton
    Mikaev.

    - Support DSCP and flowlabel per-transport in SCTP, from Xin Long.

    - Support list based batching and stack traversal of SKBs, this is
    very exciting work. From Edward Cree.

    - Busyloop optimizations in vhost_net, from Toshiaki Makita.

    - Introduce the ETF qdisc, which allows time based transmissions. IGB
    can offload this in hardware. From Vinicius Costa Gomes.

    - Add parameter support to devlink, from Moshe Shemesh.

    - Several multiplication and division optimizations for BPF JIT in
    nfp driver, from Jiong Wang.

    - Lots of prepatory work to make more of the packet scheduler layer
    lockless, when possible, from Vlad Buslov.

    - Add ACK filter and NAT awareness to sch_cake packet scheduler, from
    Toke Høiland-Jørgensen.

    - Support regions and region snapshots in devlink, from Alex Vesker.

    - Allow to attach XDP programs to both HW and SW at the same time on
    a given device, with initial support in nfp. From Jakub Kicinski.

    - Add TLS RX offload and support in mlx5, from Ilya Lesokhin.

    - Use PHYLIB in r8169 driver, from Heiner Kallweit.

    - All sorts of changes to support Spectrum 2 in mlxsw driver, from
    Ido Schimmel.

    - PTP support in mv88e6xxx DSA driver, from Andrew Lunn.

    - Make TCP_USER_TIMEOUT socket option more accurate, from Jon
    Maxwell.

    - Support for templates in packet scheduler classifier, from Jiri
    Pirko.

    - IPV6 support in RDS, from Ka-Cheong Poon.

    - Native tproxy support in nf_tables, from Máté Eckl.

    - Maintain IP fragment queue in an rbtree, but optimize properly for
    in-order frags. From Peter Oskolkov.

    - Improvde handling of ACKs on hole repairs, from Yuchung Cheng"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1996 commits)
    bpf: test: fix spelling mistake "REUSEEPORT" -> "REUSEPORT"
    hv/netvsc: Fix NULL dereference at single queue mode fallback
    net: filter: mark expected switch fall-through
    xen-netfront: fix warn message as irq device name has '/'
    cxgb4: Add new T5 PCI device ids 0x50af and 0x50b0
    net: dsa: mv88e6xxx: missing unlock on error path
    rds: fix building with IPV6=m
    inet/connection_sock: prefer _THIS_IP_ to current_text_addr
    net: dsa: mv88e6xxx: bitwise vs logical bug
    net: sock_diag: Fix spectre v1 gadget in __sock_diag_cmd()
    ieee802154: hwsim: using right kind of iteration
    net: hns3: Add vlan filter setting by ethtool command -K
    net: hns3: Set tx ring' tc info when netdev is up
    net: hns3: Remove tx ring BD len register in hns3_enet
    net: hns3: Fix desc num set to default when setting channel
    net: hns3: Fix for phy link issue when using marvell phy driver
    net: hns3: Fix for information of phydev lost problem when down/up
    net: hns3: Fix for command format parsing error in hclge_is_all_function_id_zero
    net: hns3: Add support for serdes loopback selftest
    bnxt_en: take coredump_record structure off stack
    ...

    Linus Torvalds
     
  • Pull Kconfig consolidation from Masahiro Yamada:
    "Consolidation of Kconfig files by Christoph Hellwig.

    Move the source statements of arch-independent Kconfig files instead
    of duplicating the includes in every arch/$(SRCARCH)/Kconfig"

    * tag 'kconfig-v4.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    kconfig: add a Memory Management options" menu
    kconfig: move the "Executable file formats" menu to fs/Kconfig.binfmt
    kconfig: use a menu in arch/Kconfig to reduce clutter
    kconfig: include kernel/Kconfig.preempt from init/Kconfig
    Kconfig: consolidate the "Kernel hacking" menu
    kconfig: include common Kconfig files from top-level Kconfig
    kconfig: remove duplicate SWAP symbol defintions
    um: create a proper drivers Kconfig
    um: cleanup Kconfig files
    um: stop abusing KBUILD_KCONFIG

    Linus Torvalds
     
  • Pull Kbuild updates from Masahiro Yamada:

    - verify depmod is installed before modules_install

    - support build salt in case build ids must be unique between builds

    - allow users to specify additional host compiler flags via HOST*FLAGS,
    and rename internal variables to KBUILD_HOST*FLAGS

    - update buildtar script to drop vax support, add arm64 support

    - update builddeb script for better debarch support

    - document the pit-fall of if_changed usage

    - fix parallel build of UML with O= option

    - make 'samples' target depend on headers_install to fix build errors

    - remove deprecated host-progs variable

    - add a new coccinelle script for refcount_t vs atomic_t check

    - improve double-test coccinelle script

    - misc cleanups and fixes

    * tag 'kbuild-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (41 commits)
    coccicheck: return proper error code on fail
    Coccinelle: doubletest: reduce side effect false positives
    kbuild: remove deprecated host-progs variable
    kbuild: make samples really depend on headers_install
    um: clean up archheaders recipe
    kbuild: add %asm-generic to no-dot-config-targets
    um: fix parallel building with O= option
    scripts: Add Python 3 support to tracing/draw_functrace.py
    builddeb: Add automatic support for sh{3,4}{,eb} architectures
    builddeb: Add automatic support for riscv* architectures
    builddeb: Add automatic support for m68k architecture
    builddeb: Add automatic support for or1k architecture
    builddeb: Add automatic support for sparc64 architecture
    builddeb: Add automatic support for mips{,64}r6{,el} architectures
    builddeb: Add automatic support for mips64el architecture
    builddeb: Add automatic support for ppc64 and powerpcspe architectures
    builddeb: Introduce functions to simplify kconfig tests in set_debarch
    builddeb: Drop check for 32-bit s390
    builddeb: Change architecture detection fallback to use dpkg-architecture
    builddeb: Skip architecture detection when KBUILD_DEBARCH is set
    ...

    Linus Torvalds
     

14 Aug, 2018

4 commits

  • Marking default memory region as cached is not always sufficient and is
    not flexible. Allow specifying cache attributes for the whole memory
    address space with new config entry MEMMAP_CACHEATTR. Apply it after
    cache initialization.

    Signed-off-by: Max Filippov

    Max Filippov
     
  • Cache invalidation macros use cache line size to iterate over
    invalidated cache lines, assuming that all cache ways are invalidated by
    single instruction, but xtensa ISA recommends to not assume that for
    future compatibility:
    In some implementations all ways at index Addry-1..z are invalidated
    regardless of the specified way, but for future compatibility this
    behavior should not be assumed.

    Iterate over all cache ways in ___invalidate_icache_all and
    ___invalidate_dcache_all.

    Cc: stable@vger.kernel.org
    Signed-off-by: Max Filippov

    Max Filippov
     
  • When building kernel for xtensa cores with big cache lines (e.g. 128
    bytes or more) __loop_cache_all and __loop_cache_page may generate
    assembly instructions with immediate fields that are too big. This
    results in the following build errors:

    arch/xtensa/mm/misc.S: Assembler messages:
    arch/xtensa/mm/misc.S:464: Error: operand 2 of 'diwbi' has invalid value '256'
    arch/xtensa/mm/misc.S:464: Error: operand 2 of 'diwbi' has invalid value '384'
    arch/xtensa/kernel/head.S: Assembler messages:
    arch/xtensa/kernel/head.S:172: Error: operand 2 of 'diu' has invalid value '256'
    arch/xtensa/kernel/head.S:172: Error: operand 2 of 'diu' has invalid value '384'
    arch/xtensa/kernel/head.S:176: Error: operand 2 of 'iiu' has invalid value '256'
    arch/xtensa/kernel/head.S:176: Error: operand 2 of 'iiu' has invalid value '384'
    arch/xtensa/kernel/head.S:255: Error: operand 2 of 'diwb' has invalid value '256'
    arch/xtensa/kernel/head.S:255: Error: operand 2 of 'diwb' has invalid value '384'

    Add parameter max_immed to these macros and use it to limit values of
    immediate operands. Extract common code of these macros into the new
    macro __loop_cache_unroll.

    Cc: stable@vger.kernel.org
    Signed-off-by: Max Filippov

    Max Filippov
     
  • Pull perf update from Thomas Gleixner:
    "The perf crowd presents:

    Kernel updates:

    - Removal of jprobes

    - Cleanup and consolidatation the handling of kprobes

    - Cleanup and consolidation of hardware breakpoints

    - The usual pile of fixes and updates to PMUs and event descriptors

    Tooling updates:

    - Updates and improvements all over the place. Nothing outstanding,
    just the (good) boring incremental grump work"

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (103 commits)
    perf trace: Do not require --no-syscalls to suppress strace like output
    perf bpf: Include uapi/linux/bpf.h from the 'perf trace' script's bpf.h
    perf tools: Allow overriding MAX_NR_CPUS at compile time
    perf bpf: Show better message when failing to load an object
    perf list: Unify metric group description format with PMU event description
    perf vendor events arm64: Update ThunderX2 implementation defined pmu core events
    perf cs-etm: Generate branch sample for CS_ETM_TRACE_ON packet
    perf cs-etm: Generate branch sample when receiving a CS_ETM_TRACE_ON packet
    perf cs-etm: Support dummy address value for CS_ETM_TRACE_ON packet
    perf cs-etm: Fix start tracing packet handling
    perf build: Fix installation directory for eBPF
    perf c2c report: Fix crash for empty browser
    perf tests: Fix indexing when invoking subtests
    perf trace: Beautify the AF_INET & AF_INET6 'socket' syscall 'protocol' args
    perf trace beauty: Add beautifiers for 'socket''s 'protocol' arg
    perf trace beauty: Do not print NULL strarray entries
    perf beauty: Add a generator for IPPROTO_ socket's protocol constants
    tools include uapi: Grab a copy of linux/in.h
    perf tests: Fix complex event name parsing
    perf evlist: Fix error out while applying initial delay and LBR
    ...

    Linus Torvalds
     

09 Aug, 2018

1 commit

  • The host-progs has been kept as an alias of hostprogs-y for a long time
    (at least since the beginning of Git era), with the clear prompt:
    Usage of host-progs is deprecated. Please replace with hostprogs-y!

    Enough time for the migration has passed.

    Signed-off-by: Masahiro Yamada
    Acked-by: Max Filippov

    Masahiro Yamada
     

02 Aug, 2018

1 commit