25 Aug, 2019

1 commit

  • Commit 0cfaee2af3a0 ("include/asm-generic/5level-fixup.h: fix variable
    'p4d' set but not used") converted a few functions from macros to static
    inline, which causes parisc to complain,

    In file included from include/asm-generic/4level-fixup.h:38:0,
    from arch/parisc/include/asm/pgtable.h:5,
    from arch/parisc/include/asm/io.h:6,
    from include/linux/io.h:13,
    from sound/core/memory.c:9:
    include/asm-generic/5level-fixup.h:14:18: error: unknown type name 'pgd_t'; did you mean 'pid_t'?
    #define p4d_t pgd_t
    ^
    include/asm-generic/5level-fixup.h:24:28: note: in expansion of macro 'p4d_t'
    static inline int p4d_none(p4d_t p4d)
    ^~~~~

    It is because "4level-fixup.h" is included before "asm/page.h" where
    "pgd_t" is defined.

    Link: http://lkml.kernel.org/r/20190815205305.1382-1-cai@lca.pw
    Fixes: 0cfaee2af3a0 ("include/asm-generic/5level-fixup.h: fix variable 'p4d' set but not used")
    Signed-off-by: Qian Cai
    Reported-by: Guenter Roeck
    Tested-by: Guenter Roeck
    Cc: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Qian Cai
     

11 Aug, 2019

1 commit

  • A compilation -Wimplicit-fallthrough warning was enabled by commit
    a035d552a93b ("Makefile: Globally enable fall-through warning")

    Even though clang 10.0.0 does not currently support this warning without
    a patch, clang currently does not support a value for this option.

    Link: https://bugs.llvm.org/show_bug.cgi?id=39382

    The gcc default for this warning is 3 so removing the =3 has no effect
    for gcc and enables the warning for patched versions of clang.

    Also remove the =3 from an existing use in a parisc Makefile:
    arch/parisc/math-emu/Makefile

    Signed-off-by: Joe Perches
    Reviewed-and-tested-by: Nathan Chancellor
    Cc: Gustavo A. R. Silva
    Signed-off-by: Linus Torvalds

    Joe Perches
     

01 Aug, 2019

3 commits

  • Apparently we don't have an archclean target in our
    arch/parisc/Makefile, so files in there never get cleaned out by make
    mrproper. This, in turn means that the sizes.h file in
    arch/parisc/boot/compressed never gets removed and worse, when you
    transition to an O=build/parisc[64] build model it overrides the
    generated file. The upshot being my bzImage was building with a SZ_end
    that was too small.

    I fixed it by making mrproper clean everything.

    Signed-off-by: James Bottomley
    Cc: stable@vger.kernel.org # v4.20+
    Signed-off-by: Helge Deller

    James Bottomley
     
  • Same as on x86-64, strip the .comment, .note and debug sections from the
    Linux kernel before creating the compressed image for the boot loader.

    Reported-by: James Bottomley
    Reported-by: Sven Schnelle
    Cc: stable@vger.kernel.org # v4.20+
    Signed-off-by: Helge Deller

    Helge Deller
     
  • With debug info enabled (CONFIG_DEBUG_INFO=y) the resulting vmlinux may get
    that huge that we need to increase the start addresss for the decompression
    text section otherwise one will face a linker error.

    Reported-by: Sven Schnelle
    Tested-by: Sven Schnelle
    Cc: stable@vger.kernel.org # v4.14+
    Signed-off-by: Helge Deller

    Helge Deller
     

31 Jul, 2019

4 commits

  • Assume the following ftrace code sequence that was patched in earlier by
    ftrace_make_call():

    PAGE A:
    ffc: addr of ftrace_caller()
    PAGE B:
    000: 0x6fc10080 /* stw,ma r1,40(sp) */
    004: 0x48213fd1 /* ldw -18(r1),r1 */
    008: 0xe820c002 /* bv,n r0(r1) */
    00c: 0xe83f1fdf /* b,l,n .-c,r1 */

    When a Code sequences that is to be patched spans a page break, we might
    have already cleared the part on the PAGE A. If an interrupt is coming in
    during the remap of the fixed mapping to PAGE B, it might execute the
    patched function with only parts of the FTRACE code cleared. To prevent
    this, clear the jump to our mini trampoline first, and clear the remaining
    parts after this. This might also happen when patch_text() patches a
    function that it calls during remap.

    Signed-off-by: Sven Schnelle
    Cc: # 5.2+
    Signed-off-by: Helge Deller

    Sven Schnelle
     
  • 'default_defconfig' is an awkward name since 'defconfig' is the default.
    Let's simply say 'defconfig' like other architectures. You can drop the
    KBUILD_DEFCONFIG define by following the standard naming.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Helge Deller

    Masahiro Yamada
     
  • In fpudispatch.c we see a lot of fall-through warnings, but for this file we
    prefer to not mark the switches and instead keep it in it's original state as
    it's copied from HP-UX.

    Fixes: a035d552a93b ("Makefile: Globally enable fall-through warning")
    Signed-off-by: Helge Deller

    Helge Deller
     
  • Fix a fall-through warning in fault.c.

    Fixes: a035d552a93b ("Makefile: Globally enable fall-through warning")
    Signed-off-by: Helge Deller

    Helge Deller
     

21 Jul, 2019

2 commits

  • flush_tlb_all_local() flushes the ITLB and DTLB of the CPU.
    In case the machine does not have separate ITLBs and DTLBs, use the
    alternative functionality to replace the code which flushes the ITLB
    with nops while keeping the code which flushes the DTLB.

    Signed-off-by: Helge Deller

    Helge Deller
     
  • Add kprobe_fault_handler() to fix compilation for PA-RISC.
    On PA-RISC we actually don't need that function as the recovery counter
    is restored after interrupt. See the PA-RISC 2.0 Architecture Manual,
    pg. 4-8, Figure 4-4: "Interruption Processing".

    Fixes: b98cca444d28 ("mm, kprobes: generalize and rename notify_page_fault() as kprobe_page_fault()")
    Signed-off-by: Sven Schnelle
    Signed-off-by: Helge Deller

    Sven Schnelle
     

19 Jul, 2019

1 commit

  • Pull parisc fixes from Helge Deller:

    - Prevent kernel panics by adding proper checking of register values
    injected via the ptrace interface

    - Wire up the new clone3 syscall

    * 'parisc-5.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    parisc: Wire up clone3 syscall
    parisc: Avoid kernel panic triggered by invalid kprobe
    parisc: Ensure userspace privilege for ptraced processes in regset functions
    parisc: Fix kernel panic due invalid values in IAOQ0 or IAOQ1

    Linus Torvalds
     

18 Jul, 2019

4 commits

  • Signed-off-by: Helge Deller
    Tested-by: Sven Schnelle
    Acked-by: Christian Brauner

    Helge Deller
     
  • When running gdb I was able to trigger this kernel panic:

    Kernel Fault: Code=26 (Data memory access rights trap) at addr 0000000000000060
    CPU: 0 PID: 1401 Comm: gdb-crash Not tainted 5.2.0-rc7-64bit+ #1053

    YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
    PSW: 00001000000001000000000000001111 Not tainted
    r00-03 000000000804000f 0000000040dee1a0 0000000040c78cf0 00000000b8d50160
    r04-07 0000000040d2b1a0 000000004360a098 00000000bbbe87b8 0000000000000003
    r08-11 00000000fac20a70 00000000fac24160 00000000fac1bbe0 0000000000000000
    r12-15 00000000fabfb79a 00000000fac244a4 0000000000010000 0000000000000001
    r16-19 00000000bbbe87b8 00000000f8f02910 0000000000010034 0000000000000000
    r20-23 00000000fac24630 00000000fac24630 000000006474e552 00000000fac1aa52
    r24-27 0000000000000028 00000000bbbe87b8 00000000bbbe87b8 0000000040d2b1a0
    r28-31 0000000000000000 00000000b8d501c0 00000000b8d501f0 0000000003424000
    sr00-03 0000000000423000 0000000000000000 0000000000000000 0000000000423000
    sr04-07 0000000000000000 0000000000000000 0000000000000000 0000000000000000

    IASQ: 0000000000000000 0000000000000000 IAOQ: 0000000040c78cf0 0000000040c78cf4
    IIR: 539f00c0 ISR: 0000000000000000 IOR: 0000000000000060
    CPU: 0 CR30: 00000000b8d50000 CR31: 00000000d22345e2
    ORIG_R28: 0000000040250798
    IAOQ[0]: parisc_kprobe_ss_handler+0x58/0x170
    IAOQ[1]: parisc_kprobe_ss_handler+0x5c/0x170
    RP(r2): parisc_kprobe_ss_handler+0x58/0x170
    Backtrace:
    [] handle_interruption+0x178/0xbb8
    Kernel panic - not syncing: Kernel Fault

    Avoid this panic by checking the return value of kprobe_running() and
    skip kprobe if none is currently active.

    Cc: # v5.2
    Acked-by: Sven Schnelle
    Tested-by: Rolf Eike Beer
    Signed-off-by: Helge Deller

    Helge Deller
     
  • On parisc the privilege level of a process is stored in the lowest two bits of
    the instruction pointers (IAOQ0 and IAOQ1). On Linux we use privilege level 0
    for the kernel and privilege level 3 for user-space. So userspace should not be
    allowed to modify IAOQ0 or IAOQ1 of a ptraced process to change it's privilege
    level to e.g. 0 to try to gain kernel privileges.

    This patch prevents such modifications in the regset support functions by
    always setting the two lowest bits to one (which relates to privilege level 3
    for user-space) if IAOQ0 or IAOQ1 are modified via ptrace regset calls.

    Link: https://bugs.gentoo.org/481768
    Cc: # v4.7+
    Tested-by: Rolf Eike Beer
    Signed-off-by: Helge Deller

    Helge Deller
     
  • On parisc the privilege level of a process is stored in the lowest two bits of
    the instruction pointers (IAOQ0 and IAOQ1). On Linux we use privilege level 0
    for the kernel and privilege level 3 for user-space. So userspace should not be
    allowed to modify IAOQ0 or IAOQ1 of a ptraced process to change it's privilege
    level to e.g. 0 to try to gain kernel privileges.

    This patch prevents such modifications by always setting the two lowest bits to
    one (which relates to privilege level 3 for user-space) if IAOQ0 or IAOQ1 are
    modified via ptrace calls in the native and compat ptrace paths.

    Link: https://bugs.gentoo.org/481768
    Reported-by: Jeroen Roovers
    Cc:
    Tested-by: Rolf Eike Beer
    Signed-off-by: Helge Deller

    Helge Deller
     

17 Jul, 2019

3 commits

  • Merge more updates from Andrew Morton:
    "VM:
    - z3fold fixes and enhancements by Henry Burns and Vitaly Wool

    - more accurate reclaimed slab caches calculations by Yafang Shao

    - fix MAP_UNINITIALIZED UAPI symbol to not depend on config, by
    Christoph Hellwig

    - !CONFIG_MMU fixes by Christoph Hellwig

    - new novmcoredd parameter to omit device dumps from vmcore, by
    Kairui Song

    - new test_meminit module for testing heap and pagealloc
    initialization, by Alexander Potapenko

    - ioremap improvements for huge mappings, by Anshuman Khandual

    - generalize kprobe page fault handling, by Anshuman Khandual

    - device-dax hotplug fixes and improvements, by Pavel Tatashin

    - enable synchronous DAX fault on powerpc, by Aneesh Kumar K.V

    - add pte_devmap() support for arm64, by Robin Murphy

    - unify locked_vm accounting with a helper, by Daniel Jordan

    - several misc fixes

    core/lib:
    - new typeof_member() macro including some users, by Alexey Dobriyan

    - make BIT() and GENMASK() available in asm, by Masahiro Yamada

    - changed LIST_POISON2 on x86_64 to 0xdead000000000122 for better
    code generation, by Alexey Dobriyan

    - rbtree code size optimizations, by Michel Lespinasse

    - convert struct pid count to refcount_t, by Joel Fernandes

    get_maintainer.pl:
    - add --no-moderated switch to skip moderated ML's, by Joe Perches

    misc:
    - ptrace PTRACE_GET_SYSCALL_INFO interface

    - coda updates

    - gdb scripts, various"

    [ Using merge message suggestion from Vlastimil Babka, with some editing - Linus ]

    * emailed patches from Andrew Morton : (100 commits)
    fs/select.c: use struct_size() in kmalloc()
    mm: add account_locked_vm utility function
    arm64: mm: implement pte_devmap support
    mm: introduce ARCH_HAS_PTE_DEVMAP
    mm: clean up is_device_*_page() definitions
    mm/mmap: move common defines to mman-common.h
    mm: move MAP_SYNC to asm-generic/mman-common.h
    device-dax: "Hotremove" persistent memory that is used like normal RAM
    mm/hotplug: make remove_memory() interface usable
    device-dax: fix memory and resource leak if hotplug fails
    include/linux/lz4.h: fix spelling and copy-paste errors in documentation
    ipc/mqueue.c: only perform resource calculation if user valid
    include/asm-generic/bug.h: fix "cut here" for WARN_ON for __WARN_TAINT architectures
    scripts/gdb: add helpers to find and list devices
    scripts/gdb: add lx-genpd-summary command
    drivers/pps/pps.c: clear offset flags in PPS_SETPARAMS ioctl
    kernel/pid.c: convert struct pid count to refcount_t
    drivers/rapidio/devices/rio_mport_cdev.c: NUL terminate some strings
    select: shift restore_saved_sigmask_unless() into poll_select_copy_remaining()
    select: change do_poll() to return -ERESTARTNOHAND rather than -EINTR
    ...

    Linus Torvalds
     
  • syscall_get_error() is required to be implemented on all architectures in
    addition to already implemented syscall_get_nr(), syscall_get_arguments(),
    syscall_get_return_value(), and syscall_get_arch() functions in order to
    extend the generic ptrace API with PTRACE_GET_SYSCALL_INFO request.

    Link: http://lkml.kernel.org/r/20190510152812.GD28558@altlinux.org
    Signed-off-by: Dmitry V. Levin
    Acked-by: Helge Deller [parisc]
    Cc: James E.J. Bottomley
    Cc: Elvira Khabirova
    Cc: Eugene Syromyatnikov
    Cc: Oleg Nesterov
    Cc: Andy Lutomirski
    Cc: Benjamin Herrenschmidt
    Cc: Greentime Hu
    Cc: James Hogan
    Cc: kbuild test robot
    Cc: Kees Cook
    Cc: Michael Ellerman
    Cc: Paul Burton
    Cc: Paul Mackerras
    Cc: Ralf Baechle
    Cc: Richard Kuo
    Cc: Shuah Khan
    Cc: Vincent Chen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dmitry V. Levin
     
  • Pull rst conversion of docs from Mauro Carvalho Chehab:
    "As agreed with Jon, I'm sending this big series directly to you, c/c
    him, as this series required a special care, in order to avoid
    conflicts with other trees"

    * tag 'docs/v5.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (77 commits)
    docs: kbuild: fix build with pdf and fix some minor issues
    docs: block: fix pdf output
    docs: arm: fix a breakage with pdf output
    docs: don't use nested tables
    docs: gpio: add sysfs interface to the admin-guide
    docs: locking: add it to the main index
    docs: add some directories to the main documentation index
    docs: add SPDX tags to new index files
    docs: add a memory-devices subdir to driver-api
    docs: phy: place documentation under driver-api
    docs: serial: move it to the driver-api
    docs: driver-api: add remaining converted dirs to it
    docs: driver-api: add xilinx driver API documentation
    docs: driver-api: add a series of orphaned documents
    docs: admin-guide: add a series of orphaned documents
    docs: cgroup-v1: add it to the admin-guide book
    docs: aoe: add it to the driver-api book
    docs: add some documentation dirs to the driver-api book
    docs: driver-model: move it to the driver-api book
    docs: lp855x-driver.rst: add it to the driver-api book
    ...

    Linus Torvalds
     

15 Jul, 2019

2 commits

  • There are lots of documents that belong to the admin-guide but
    are on random places (most under Documentation root dir).

    Move them to the admin guide.

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Alexandre Belloni
    Acked-by: Bartlomiej Zolnierkiewicz

    Mauro Carvalho Chehab
     
  • A while ago Arnd made it possible to give new system calls the same
    syscall number on all architectures (except alpha). To not break this
    nice new feature let's mark 435 for clone3 as reserved on all
    architectures that do not yet implement it.
    Even if an architecture does not plan to implement it this ensures that
    new system calls coming after clone3 will have the same number on all
    architectures.

    Signed-off-by: Christian Brauner
    Cc: linux-arch@vger.kernel.org
    Cc: linux-alpha@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-ia64@vger.kernel.org
    Cc: linux-m68k@lists.linux-m68k.org
    Cc: linux-mips@vger.kernel.org
    Cc: linux-parisc@vger.kernel.org
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: linux-s390@vger.kernel.org
    Cc: linux-sh@vger.kernel.org
    Cc: sparclinux@vger.kernel.org
    Link: https://lore.kernel.org/r/20190714192205.27190-2-christian@brauner.io
    Reviewed-by: Arnd Bergmann
    Signed-off-by: Christian Brauner

    Christian Brauner
     

13 Jul, 2019

3 commits

  • Pull Kbuild updates from Masahiro Yamada:

    - remove headers_{install,check}_all targets

    - remove unreasonable 'depends on !UML' from CONFIG_SAMPLES

    - re-implement 'make headers_install' more cleanly

    - add new header-test-y syntax to compile-test headers

    - compile-test exported headers to ensure they are compilable in
    user-space

    - compile-test headers under include/ to ensure they are self-contained

    - remove -Waggregate-return, -Wno-uninitialized, -Wno-unused-value
    flags

    - add -Werror=unknown-warning-option for Clang

    - add 128-bit built-in types support to genksyms

    - fix missed rebuild of modules.builtin

    - propagate 'No space left on device' error in fixdep to Make

    - allow Clang to use its integrated assembler

    - improve some coccinelle scripts

    - add a new flag KBUILD_ABS_SRCTREE to request Kbuild to use absolute
    path for $(srctree).

    - do not ignore errors when compression utility is missing

    - misc cleanups

    * tag 'kbuild-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (49 commits)
    kbuild: use -- separater intead of $(filter-out ...) for cc-cross-prefix
    kbuild: Inform user to pass ARCH= for make mrproper
    kbuild: fix compression errors getting ignored
    kbuild: add a flag to force absolute path for srctree
    kbuild: replace KBUILD_SRCTREE with boolean building_out_of_srctree
    kbuild: remove src and obj from the top Makefile
    scripts/tags.sh: remove unused environment variables from comments
    scripts/tags.sh: drop SUBARCH support for ARM
    kbuild: compile-test kernel headers to ensure they are self-contained
    kheaders: include only headers into kheaders_data.tar.xz
    kheaders: remove meaningless -R option of 'ls'
    kbuild: support header-test-pattern-y
    kbuild: do not create wrappers for header-test-y
    kbuild: compile-test exported headers to ensure they are self-contained
    init/Kconfig: add CONFIG_CC_CAN_LINK
    kallsyms: exclude kasan local symbols on s390
    kbuild: add more hints about SUBDIRS replacement
    coccinelle: api/stream_open: treat all wait_.*() calls as blocking
    coccinelle: put_device: Add a cast to an expression for an assignment
    coccinelle: put_device: Adjust a message construction
    ...

    Linus Torvalds
     
  • Pull dma-mapping updates from Christoph Hellwig:

    - move the USB special case that bounced DMA through a device bar into
    the USB code instead of handling it in the common DMA code (Laurentiu
    Tudor and Fredrik Noring)

    - don't dip into the global CMA pool for single page allocations
    (Nicolin Chen)

    - fix a crash when allocating memory for the atomic pool failed during
    boot (Florian Fainelli)

    - move support for MIPS-style uncached segments to the common code and
    use that for MIPS and nios2 (me)

    - make support for DMA_ATTR_NON_CONSISTENT and
    DMA_ATTR_NO_KERNEL_MAPPING generic (me)

    - convert nds32 to the generic remapping allocator (me)

    * tag 'dma-mapping-5.3' of git://git.infradead.org/users/hch/dma-mapping: (29 commits)
    dma-mapping: mark dma_alloc_need_uncached as __always_inline
    MIPS: only select ARCH_HAS_UNCACHED_SEGMENT for non-coherent platforms
    usb: host: Fix excessive alignment restriction for local memory allocations
    lib/genalloc.c: Add algorithm, align and zeroed family of DMA allocators
    nios2: use the generic uncached segment support in dma-direct
    nds32: use the generic remapping allocator for coherent DMA allocations
    arc: use the generic remapping allocator for coherent DMA allocations
    dma-direct: handle DMA_ATTR_NO_KERNEL_MAPPING in common code
    dma-direct: handle DMA_ATTR_NON_CONSISTENT in common code
    dma-mapping: add a dma_alloc_need_uncached helper
    openrisc: remove the partial DMA_ATTR_NON_CONSISTENT support
    arc: remove the partial DMA_ATTR_NON_CONSISTENT support
    arm-nommu: remove the partial DMA_ATTR_NON_CONSISTENT support
    ARM: dma-mapping: allow larger DMA mask than supported
    dma-mapping: truncate dma masks to what dma_addr_t can hold
    iommu/dma: Apply dma_{alloc,free}_contiguous functions
    dma-remap: Avoid de-referencing NULL atomic_pool
    MIPS: use the generic uncached segment support in dma-direct
    dma-direct: provide generic support for uncached kernel segments
    au1100fb: fix DMA API abuse
    ...

    Linus Torvalds
     
  • parisc allocates PTE pages with __get_free_page() and uses
    GFP_KERNEL | __GFP_ZERO for the allocations.

    Switch it to the generic version that does exactly the same thing for the
    kernel page tables and adds __GFP_ACCOUNT for the user PTEs.

    The pte_free_kernel() and pte_free() versions on are identical to the
    generic ones and can be simply dropped.

    Link: http://lkml.kernel.org/r/1557296232-15361-12-git-send-email-rppt@linux.ibm.com
    Signed-off-by: Mike Rapoport
    Cc: Albert Ou
    Cc: Anshuman Khandual
    Cc: Anton Ivanov
    Cc: Arnd Bergmann
    Cc: Catalin Marinas
    Cc: Geert Uytterhoeven
    Cc: Greentime Hu
    Cc: Guan Xuetao
    Cc: Guo Ren
    Cc: Guo Ren
    Cc: Helge Deller
    Cc: Ley Foon Tan
    Cc: Matthew Wilcox
    Cc: Matt Turner
    Cc: Michael Ellerman
    Cc: Michal Hocko
    Cc: Palmer Dabbelt
    Cc: Paul Burton
    Cc: Ralf Baechle
    Cc: Richard Kuo
    Cc: Richard Weinberger
    Cc: Russell King
    Cc: Sam Creasey
    Cc: Vincent Chen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Rapoport
     

12 Jul, 2019

1 commit

  • Pull networking updates from David Miller:
    "Some highlights from this development cycle:

    1) Big refactoring of ipv6 route and neigh handling to support
    nexthop objects configurable as units from userspace. From David
    Ahern.

    2) Convert explored_states in BPF verifier into a hash table,
    significantly decreased state held for programs with bpf2bpf
    calls, from Alexei Starovoitov.

    3) Implement bpf_send_signal() helper, from Yonghong Song.

    4) Various classifier enhancements to mvpp2 driver, from Maxime
    Chevallier.

    5) Add aRFS support to hns3 driver, from Jian Shen.

    6) Fix use after free in inet frags by allocating fqdirs dynamically
    and reworking how rhashtable dismantle occurs, from Eric Dumazet.

    7) Add act_ctinfo packet classifier action, from Kevin
    Darbyshire-Bryant.

    8) Add TFO key backup infrastructure, from Jason Baron.

    9) Remove several old and unused ISDN drivers, from Arnd Bergmann.

    10) Add devlink notifications for flash update status to mlxsw driver,
    from Jiri Pirko.

    11) Lots of kTLS offload infrastructure fixes, from Jakub Kicinski.

    12) Add support for mv88e6250 DSA chips, from Rasmus Villemoes.

    13) Various enhancements to ipv6 flow label handling, from Eric
    Dumazet and Willem de Bruijn.

    14) Support TLS offload in nfp driver, from Jakub Kicinski, Dirk van
    der Merwe, and others.

    15) Various improvements to axienet driver including converting it to
    phylink, from Robert Hancock.

    16) Add PTP support to sja1105 DSA driver, from Vladimir Oltean.

    17) Add mqprio qdisc offload support to dpaa2-eth, from Ioana
    Radulescu.

    18) Add devlink health reporting to mlx5, from Moshe Shemesh.

    19) Convert stmmac over to phylink, from Jose Abreu.

    20) Add PTP PHC (Physical Hardware Clock) support to mlxsw, from
    Shalom Toledo.

    21) Add nftables SYNPROXY support, from Fernando Fernandez Mancera.

    22) Convert tcp_fastopen over to use SipHash, from Ard Biesheuvel.

    23) Track spill/fill of constants in BPF verifier, from Alexei
    Starovoitov.

    24) Support bounded loops in BPF, from Alexei Starovoitov.

    25) Various page_pool API fixes and improvements, from Jesper Dangaard
    Brouer.

    26) Just like ipv4, support ref-countless ipv6 route handling. From
    Wei Wang.

    27) Support VLAN offloading in aquantia driver, from Igor Russkikh.

    28) Add AF_XDP zero-copy support to mlx5, from Maxim Mikityanskiy.

    29) Add flower GRE encap/decap support to nfp driver, from Pieter
    Jansen van Vuuren.

    30) Protect against stack overflow when using act_mirred, from John
    Hurley.

    31) Allow devmap map lookups from eBPF, from Toke Høiland-Jørgensen.

    32) Use page_pool API in netsec driver, Ilias Apalodimas.

    33) Add Google gve network driver, from Catherine Sullivan.

    34) More indirect call avoidance, from Paolo Abeni.

    35) Add kTLS TX HW offload support to mlx5, from Tariq Toukan.

    36) Add XDP_REDIRECT support to bnxt_en, from Andy Gospodarek.

    37) Add MPLS manipulation actions to TC, from John Hurley.

    38) Add sending a packet to connection tracking from TC actions, and
    then allow flower classifier matching on conntrack state. From
    Paul Blakey.

    39) Netfilter hw offload support, from Pablo Neira Ayuso"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (2080 commits)
    net/mlx5e: Return in default case statement in tx_post_resync_params
    mlx5: Return -EINVAL when WARN_ON_ONCE triggers in mlx5e_tls_resync().
    net: dsa: add support for BRIDGE_MROUTER attribute
    pkt_sched: Include const.h
    net: netsec: remove static declaration for netsec_set_tx_de()
    net: netsec: remove superfluous if statement
    netfilter: nf_tables: add hardware offload support
    net: flow_offload: rename tc_cls_flower_offload to flow_cls_offload
    net: flow_offload: add flow_block_cb_is_busy() and use it
    net: sched: remove tcf block API
    drivers: net: use flow block API
    net: sched: use flow block API
    net: flow_offload: add flow_block_cb_{priv, incref, decref}()
    net: flow_offload: add list handling functions
    net: flow_offload: add flow_block_cb_alloc() and flow_block_cb_free()
    net: flow_offload: rename TCF_BLOCK_BINDER_TYPE_* to FLOW_BLOCK_BINDER_TYPE_*
    net: flow_offload: rename TC_BLOCK_{UN}BIND to FLOW_BLOCK_{UN}BIND
    net: flow_offload: add flow_block_cb_setup_simple()
    net: hisilicon: Add an tx_desc to adapt HI13X1_GMAC
    net: hisilicon: Add an rx_desc to adapt HI13X1_GMAC
    ...

    Linus Torvalds
     

11 Jul, 2019

1 commit

  • Pull pidfd updates from Christian Brauner:
    "This adds two main features.

    - First, it adds polling support for pidfds. This allows process
    managers to know when a (non-parent) process dies in a race-free
    way.

    The notification mechanism used follows the same logic that is
    currently used when the parent of a task is notified of a child's
    death. With this patchset it is possible to put pidfds in an
    {e}poll loop and get reliable notifications for process (i.e.
    thread-group) exit.

    - The second feature compliments the first one by making it possible
    to retrieve pollable pidfds for processes that were not created
    using CLONE_PIDFD.

    A lot of processes get created with traditional PID-based calls
    such as fork() or clone() (without CLONE_PIDFD). For these
    processes a caller can currently not create a pollable pidfd. This
    is a problem for Android's low memory killer (LMK) and service
    managers such as systemd.

    Both patchsets are accompanied by selftests.

    It's perhaps worth noting that the work done so far and the work done
    in this branch for pidfd_open() and polling support do already see
    some adoption:

    - Android is in the process of backporting this work to all their LTS
    kernels [1]

    - Service managers make use of pidfd_send_signal but will need to
    wait until we enable waiting on pidfds for full adoption.

    - And projects I maintain make use of both pidfd_send_signal and
    CLONE_PIDFD [2] and will use polling support and pidfd_open() too"

    [1] https://android-review.googlesource.com/q/topic:%22pidfd+polling+support+4.9+backport%22
    https://android-review.googlesource.com/q/topic:%22pidfd+polling+support+4.14+backport%22
    https://android-review.googlesource.com/q/topic:%22pidfd+polling+support+4.19+backport%22

    [2] https://github.com/lxc/lxc/blob/aab6e3eb73c343231cdde775db938994fc6f2803/src/lxc/start.c#L1753

    * tag 'pidfd-updates-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
    tests: add pidfd_open() tests
    arch: wire-up pidfd_open()
    pid: add pidfd_open()
    pidfd: add polling selftests
    pidfd: add polling support

    Linus Torvalds
     

10 Jul, 2019

2 commits


09 Jul, 2019

1 commit

  • …iederm/user-namespace

    Pull force_sig() argument change from Eric Biederman:
    "A source of error over the years has been that force_sig has taken a
    task parameter when it is only safe to use force_sig with the current
    task.

    The force_sig function is built for delivering synchronous signals
    such as SIGSEGV where the userspace application caused a synchronous
    fault (such as a page fault) and the kernel responded with a signal.

    Because the name force_sig does not make this clear, and because the
    force_sig takes a task parameter the function force_sig has been
    abused for sending other kinds of signals over the years. Slowly those
    have been fixed when the oopses have been tracked down.

    This set of changes fixes the remaining abusers of force_sig and
    carefully rips out the task parameter from force_sig and friends
    making this kind of error almost impossible in the future"

    * 'siginfo-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (27 commits)
    signal/x86: Move tsk inside of CONFIG_MEMORY_FAILURE in do_sigbus
    signal: Remove the signal number and task parameters from force_sig_info
    signal: Factor force_sig_info_to_task out of force_sig_info
    signal: Generate the siginfo in force_sig
    signal: Move the computation of force into send_signal and correct it.
    signal: Properly set TRACE_SIGNAL_LOSE_INFO in __send_signal
    signal: Remove the task parameter from force_sig_fault
    signal: Use force_sig_fault_to_task for the two calls that don't deliver to current
    signal: Explicitly call force_sig_fault on current
    signal/unicore32: Remove tsk parameter from __do_user_fault
    signal/arm: Remove tsk parameter from __do_user_fault
    signal/arm: Remove tsk parameter from ptrace_break
    signal/nds32: Remove tsk parameter from send_sigtrap
    signal/riscv: Remove tsk parameter from do_trap
    signal/sh: Remove tsk parameter from force_sig_info_fault
    signal/um: Remove task parameter from send_sigtrap
    signal/x86: Remove task parameter from send_sigtrap
    signal: Remove task parameter from force_sig_mceerr
    signal: Remove task parameter from force_sig
    signal: Remove task parameter from force_sigsegv
    ...

    Linus Torvalds
     

28 Jun, 2019

2 commits

  • This wires up the pidfd_open() syscall into all arches at once.

    Signed-off-by: Christian Brauner
    Reviewed-by: David Howells
    Reviewed-by: Oleg Nesterov
    Acked-by: Arnd Bergmann
    Cc: "Eric W. Biederman"
    Cc: Kees Cook
    Cc: Joel Fernandes (Google)
    Cc: Thomas Gleixner
    Cc: Jann Horn
    Cc: Andy Lutomirsky
    Cc: Andrew Morton
    Cc: Aleksa Sarai
    Cc: Linus Torvalds
    Cc: Al Viro
    Cc: linux-api@vger.kernel.org
    Cc: linux-alpha@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-ia64@vger.kernel.org
    Cc: linux-m68k@lists.linux-m68k.org
    Cc: linux-mips@vger.kernel.org
    Cc: linux-parisc@vger.kernel.org
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: linux-s390@vger.kernel.org
    Cc: linux-sh@vger.kernel.org
    Cc: sparclinux@vger.kernel.org
    Cc: linux-xtensa@linux-xtensa.org
    Cc: linux-arch@vger.kernel.org
    Cc: x86@kernel.org

    Christian Brauner
     
  • The new route handling in ip_mc_finish_output() from 'net' overlapped
    with the new support for returning congestion notifications from BPF
    programs.

    In order to handle this I had to take the dev_loopback_xmit() calls
    out of the switch statement.

    The aquantia driver conflicts were simple overlapping changes.

    Signed-off-by: David S. Miller

    David S. Miller
     

25 Jun, 2019

3 commits


22 Jun, 2019

1 commit


20 Jun, 2019

1 commit

  • Alexei Starovoitov says:

    ====================
    pull-request: bpf-next 2019-06-19

    The following pull-request contains BPF updates for your *net-next* tree.

    The main changes are:

    1) new SO_REUSEPORT_DETACH_BPF setsocktopt, from Martin.

    2) BTF based map definition, from Andrii.

    3) support bpf_map_lookup_elem for xskmap, from Jonathan.

    4) bounded loops and scalar precision logic in the verifier, from Alexei.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

19 Jun, 2019

1 commit

  • Based on 2 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation #

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 4122 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Enrico Weigelt
    Reviewed-by: Kate Stewart
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

15 Jun, 2019

2 commits

  • Commit 5318321d367c ("samples: disable CONFIG_SAMPLES for UML") used
    a big hammer to fix the build errors under the samples/ directory.
    Only some samples actually include uapi headers from usr/include.

    Introduce CONFIG_HEADERS_INSTALL since 'depends on HEADERS_INSTALL' is
    clearer than 'depends on !UML'. If this option is enabled, uapi headers
    are installed before starting directory descending.

    I added 'depends on HEADERS_INSTALL' to per-sample CONFIG options.
    This allows UML to compile some samples.

    $ make ARCH=um allmodconfig samples/
    [ snip ]
    CC [M] samples/configfs/configfs_sample.o
    CC [M] samples/kfifo/bytestream-example.o
    CC [M] samples/kfifo/dma-example.o
    CC [M] samples/kfifo/inttype-example.o
    CC [M] samples/kfifo/record-example.o
    CC [M] samples/kobject/kobject-example.o
    CC [M] samples/kobject/kset-example.o
    CC [M] samples/trace_events/trace-events-sample.o
    CC [M] samples/trace_printk/trace-printk.o
    AR samples/vfio-mdev/built-in.a
    AR samples/built-in.a

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • There is SO_ATTACH_REUSEPORT_[CE]BPF but there is no DETACH.
    This patch adds SO_DETACH_REUSEPORT_BPF sockopt. The same
    sockopt can be used to undo both SO_ATTACH_REUSEPORT_[CE]BPF.

    reseport_detach_prog() is added and it is mostly a mirror
    of the existing reuseport_attach_prog(). The differences are,
    it does not call reuseport_alloc() and returns -ENOENT when
    there is no old prog.

    Cc: Craig Gallek
    Signed-off-by: Martin KaFai Lau
    Reviewed-by: Stanislav Fomichev
    Signed-off-by: Daniel Borkmann

    Martin KaFai Lau
     

09 Jun, 2019

1 commit

  • Pull yet more SPDX updates from Greg KH:
    "Another round of SPDX header file fixes for 5.2-rc4

    These are all more "GPL-2.0-or-later" or "GPL-2.0-only" tags being
    added, based on the text in the files. We are slowly chipping away at
    the 700+ different ways people tried to write the license text. All of
    these were reviewed on the spdx mailing list by a number of different
    people.

    We now have over 60% of the kernel files covered with SPDX tags:
    $ ./scripts/spdxcheck.py -v 2>&1 | grep Files
    Files checked: 64533
    Files with SPDX: 40392
    Files with errors: 0

    I think the majority of the "easy" fixups are now done, it's now the
    start of the longer-tail of crazy variants to wade through"

    * tag 'spdx-5.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (159 commits)
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 450
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 449
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 448
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 446
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 445
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 444
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 443
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 442
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 440
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 438
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 437
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 436
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 435
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 434
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 433
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 432
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 431
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 430
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 429
    ...

    Linus Torvalds