1. 09 Jun, 2020 5 commits
    • Jean-Philippe Brucker's avatar
      tracing/probe: Fix bpf_task_fd_query() for kprobes and uprobes · 22d5bd68
      Jean-Philippe Brucker authored
      Commit 60d53e2c ("tracing/probe: Split trace_event related data from
      trace_probe") removed the trace_[ku]probe structure from the
      trace_event_call->data pointer. As bpf_get_[ku]probe_info() were
      forgotten in that change, fix them now. These functions are currently
      only used by the bpf_task_fd_query() syscall handler to collect
      information about a perf event.
      
      Fixes: 60d53e2c ("tracing/probe: Split trace_event related data from trace_probe")
      Signed-off-by: default avatarJean-Philippe Brucker <jean-philippe@linaro.org>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Acked-by: default avatarYonghong Song <yhs@fb.com>
      Acked-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
      Link: https://lore.kernel.org/bpf/20200608124531.819838-1-jean-philippe@linaro.org
      22d5bd68
    • Lorenz Bauer's avatar
      scripts: Require pahole v1.16 when generating BTF · 21a85bd6
      Lorenz Bauer authored
      bpf_iter requires the kernel BTF to be generated with
      pahole >= 1.16, since otherwise the function definitions
      that the iterator attaches to are not included.
      This failure mode is indistiguishable from trying to attach
      to an iterator that really doesn't exist.
      
      Since it's really easy to miss this requirement, bump the
      pahole version check used at build time to at least 1.16.
      
      Fixes: 15d83c4d ("bpf: Allow loading of a bpf_iter program")
      Suggested-by: default avatarIvan Babrou <ivan@cloudflare.com>
      Signed-off-by: default avatarLorenz Bauer <lmb@cloudflare.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Acked-by: default avatarYonghong Song <yhs@fb.com>
      Link: https://lore.kernel.org/bpf/20200608094257.47366-1-lmb@cloudflare.com
      21a85bd6
    • Jakub Sitnicki's avatar
      bpf, sockhash: Synchronize delete from bucket list on map free · 75e68e5b
      Jakub Sitnicki authored
      We can end up modifying the sockhash bucket list from two CPUs when a
      sockhash is being destroyed (sock_hash_free) on one CPU, while a socket
      that is in the sockhash is unlinking itself from it on another CPU
      it (sock_hash_delete_from_link).
      
      This results in accessing a list element that is in an undefined state as
      reported by KASAN:
      
      | ==================================================================
      | BUG: KASAN: wild-memory-access in sock_hash_free+0x13c/0x280
      | Write of size 8 at addr dead000000000122 by task kworker/2:1/95
      |
      | CPU: 2 PID: 95 Comm: kworker/2:1 Not tainted 5.7.0-rc7-02961-ge22c35ab0038-dirty #691
      | Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS ?-20190727_073836-buildvm-ppc64le-16.ppc.fedoraproject.org-3.fc31 04/01/2014
      | Workqueue: events bpf_map_free_deferred
      | Call Trace:
      |  dump_stack+0x97/0xe0
      |  ? sock_hash_free+0x13c/0x280
      |  __kasan_report.cold+0x5/0x40
      |  ? mark_lock+0xbc1/0xc00
      |  ? sock_hash_free+0x13c/0x280
      |  kasan_report+0x38/0x50
      |  ? sock_hash_free+0x152/0x280
      |  sock_hash_free+0x13c/0x280
      |  bpf_map_free_deferred+0xb2/0xd0
      |  ? bpf_map_charge_finish+0x50/0x50
      |  ? rcu_read_lock_sched_held+0x81/0xb0
      |  ? rcu_read_lock_bh_held+0x90/0x90
      |  process_one_work+0x59a/0xac0
      |  ? lock_release+0x3b0/0x3b0
      |  ? pwq_dec_nr_in_flight+0x110/0x110
      |  ? rwlock_bug.part.0+0x60/0x60
      |  worker_thread+0x7a/0x680
      |  ? _raw_spin_unlock_irqrestore+0x4c/0x60
      |  kthread+0x1cc/0x220
      |  ? process_one_work+0xac0/0xac0
      |  ? kthread_create_on_node+0xa0/0xa0
      |  ret_from_fork+0x24/0x30
      | ==================================================================
      
      Fix it by reintroducing spin-lock protected critical section around the
      code that removes the elements from the bucket on sockhash free.
      
      To do that we also need to defer processing of removed elements, until out
      of atomic context so that we can unlink the socket from the map when
      holding the sock lock.
      
      Fixes: 90db6d77 ("bpf, sockmap: Remove bucket->lock from sock_{hash|map}_free")
      Reported-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarJakub Sitnicki <jakub@cloudflare.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Acked-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
      Link: https://lore.kernel.org/bpf/20200607205229.2389672-3-jakub@cloudflare.com
      75e68e5b
    • Jakub Sitnicki's avatar
      bpf, sockhash: Fix memory leak when unlinking sockets in sock_hash_free · 33a7c831
      Jakub Sitnicki authored
      When sockhash gets destroyed while sockets are still linked to it, we will
      walk the bucket lists and delete the links. However, we are not freeing the
      list elements after processing them, leaking the memory.
      
      The leak can be triggered by close()'ing a sockhash map when it still
      contains sockets, and observed with kmemleak:
      
        unreferenced object 0xffff888116e86f00 (size 64):
          comm "race_sock_unlin", pid 223, jiffies 4294731063 (age 217.404s)
          hex dump (first 32 bytes):
            00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
            81 de e8 41 00 00 00 00 c0 69 2f 15 81 88 ff ff  ...A.....i/.....
          backtrace:
            [<00000000dd089ebb>] sock_hash_update_common+0x4ca/0x760
            [<00000000b8219bd5>] sock_hash_update_elem+0x1d2/0x200
            [<000000005e2c23de>] __do_sys_bpf+0x2046/0x2990
            [<00000000d0084618>] do_syscall_64+0xad/0x9a0
            [<000000000d96f263>] entry_SYSCALL_64_after_hwframe+0x49/0xb3
      
      Fix it by freeing the list element when we're done with it.
      
      Fixes: 604326b4 ("bpf, sockmap: convert to generic sk_msg interface")
      Signed-off-by: default avatarJakub Sitnicki <jakub@cloudflare.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Acked-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
      Link: https://lore.kernel.org/bpf/20200607205229.2389672-2-jakub@cloudflare.com
      33a7c831
    • dihu's avatar
      bpf/sockmap: Fix kernel panic at __tcp_bpf_recvmsg · 487082fb
      dihu authored
      When user application calls read() with MSG_PEEK flag to read data
      of bpf sockmap socket, kernel panic happens at
      __tcp_bpf_recvmsg+0x12c/0x350. sk_msg is not removed from ingress_msg
      queue after read out under MSG_PEEK flag is set. Because it's not
      judged whether sk_msg is the last msg of ingress_msg queue, the next
      sk_msg may be the head of ingress_msg queue, whose memory address of
      sg page is invalid. So it's necessary to add check codes to prevent
      this problem.
      
      [20759.125457] BUG: kernel NULL pointer dereference, address:
      0000000000000008
      [20759.132118] CPU: 53 PID: 51378 Comm: envoy Tainted: G            E
      5.4.32 #1
      [20759.140890] Hardware name: Inspur SA5212M4/YZMB-00370-109, BIOS
      4.1.12 06/18/2017
      [20759.149734] RIP: 0010:copy_page_to_iter+0xad/0x300
      [20759.270877] __tcp_bpf_recvmsg+0x12c/0x350
      [20759.276099] tcp_bpf_recvmsg+0x113/0x370
      [20759.281137] inet_recvmsg+0x55/0xc0
      [20759.285734] __sys_recvfrom+0xc8/0x130
      [20759.290566] ? __audit_syscall_entry+0x103/0x130
      [20759.296227] ? syscall_trace_enter+0x1d2/0x2d0
      [20759.301700] ? __audit_syscall_exit+0x1e4/0x290
      [20759.307235] __x64_sys_recvfrom+0x24/0x30
      [20759.312226] do_syscall_64+0x55/0x1b0
      [20759.316852] entry_SYSCALL_64_after_hwframe+0x44/0xa9
      Signed-off-by: default avatardihu <anny.hu@linux.alibaba.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Acked-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
      Acked-by: default avatarJakub Sitnicki <jakub@cloudflare.com>
      Link: https://lore.kernel.org/bpf/20200605084625.9783-1-anny.hu@linux.alibaba.com
      487082fb
  2. 08 Jun, 2020 1 commit
  3. 04 Jun, 2020 2 commits
  4. 03 Jun, 2020 26 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next · cb8e59cc
      Linus Torvalds authored
      Pull networking updates from David Miller:
      
       1) Allow setting bluetooth L2CAP modes via socket option, from Luiz
          Augusto von Dentz.
      
       2) Add GSO partial support to igc, from Sasha Neftin.
      
       3) Several cleanups and improvements to r8169 from Heiner Kallweit.
      
       4) Add IF_OPER_TESTING link state and use it when ethtool triggers a
          device self-test. From Andrew Lunn.
      
       5) Start moving away from custom driver versions, use the globally
          defined kernel version instead, from Leon Romanovsky.
      
       6) Support GRO vis gro_cells in DSA layer, from Alexander Lobakin.
      
       7) Allow hard IRQ deferral during NAPI, from Eric Dumazet.
      
       8) Add sriov and vf support to hinic, from Luo bin.
      
       9) Support Media Redundancy Protocol (MRP) in the bridging code, from
          Horatiu Vultur.
      
      10) Support netmap in the nft_nat code, from Pablo Neira Ayuso.
      
      11) Allow UDPv6 encapsulation of ESP in the ipsec code, from Sabrina
          Dubroca. Also add ipv6 support for espintcp.
      
      12) Lots of ReST conversions of the networking documentation, from Mauro
          Carvalho Chehab.
      
      13) Support configuration of ethtool rxnfc flows in bcmgenet driver,
          from Doug Berger.
      
      14) Allow to dump cgroup id and filter by it in inet_diag code, from
          Dmitry Yakunin.
      
      15) Add infrastructure to export netlink attribute policies to
          userspace, from Johannes Berg.
      
      16) Several optimizations to sch_fq scheduler, from Eric Dumazet.
      
      17) Fallback to the default qdisc if qdisc init fails because otherwise
          a packet scheduler init failure will make a device inoperative. From
          Jesper Dangaard Brouer.
      
      18) Several RISCV bpf jit optimizations, from Luke Nelson.
      
      19) Correct the return type of the ->ndo_start_xmit() method in several
          drivers, it's netdev_tx_t but many drivers were using
          'int'. From Yunjian Wang.
      
      20) Add an ethtool interface for PHY master/slave config, from Oleksij
          Rempel.
      
      21) Add BPF iterators, from Yonghang Song.
      
      22) Add cable test infrastructure, including ethool interfaces, from
          Andrew Lunn. Marvell PHY driver is the first to support this
          facility.
      
      23) Remove zero-length arrays all over, from Gustavo A. R. Silva.
      
      24) Calculate and maintain an explicit frame size in XDP, from Jesper
          Dangaard Brouer.
      
      25) Add CAP_BPF, from Alexei Starovoitov.
      
      26) Support terse dumps in the packet scheduler, from Vlad Buslov.
      
      27) Support XDP_TX bulking in dpaa2 driver, from Ioana Ciornei.
      
      28) Add devm_register_netdev(), from Bartosz Golaszewski.
      
      29) Minimize qdisc resets, from Cong Wang.
      
      30) Get rid of kernel_getsockopt and kernel_setsockopt in order to
          eliminate set_fs/get_fs calls. From Christoph Hellwig.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2517 commits)
        selftests: net: ip_defrag: ignore EPERM
        net_failover: fixed rollback in net_failover_open()
        Revert "tipc: Fix potential tipc_aead refcnt leak in tipc_crypto_rcv"
        Revert "tipc: Fix potential tipc_node refcnt leak in tipc_rcv"
        vmxnet3: allow rx flow hash ops only when rss is enabled
        hinic: add set_channels ethtool_ops support
        selftests/bpf: Add a default $(CXX) value
        tools/bpf: Don't use $(COMPILE.c)
        bpf, selftests: Use bpf_probe_read_kernel
        s390/bpf: Use bcr 0,%0 as tail call nop filler
        s390/bpf: Maintain 8-byte stack alignment
        selftests/bpf: Fix verifier test
        selftests/bpf: Fix sample_cnt shared between two threads
        bpf, selftests: Adapt cls_redirect to call csum_level helper
        bpf: Add csum_level helper for fixing up csum levels
        bpf: Fix up bpf_skb_adjust_room helper's skb csum setting
        sfc: add missing annotation for efx_ef10_try_update_nic_stats_vf()
        crypto/chtls: IPv6 support for inline TLS
        Crypto/chcr: Fixes a coccinile check error
        Crypto/chcr: Fixes compilations warnings
        ...
      cb8e59cc
    • Linus Torvalds's avatar
      Merge branch 'uaccess.comedi' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 2e63f6ce
      Linus Torvalds authored
      Pull comedi uaccess cleanups from Al Viro:
       "Comedi compat ioctls done saner - killing the single biggest pile of
        __get_user/__put_user outside of arch/* in the process"
      
      * 'uaccess.comedi' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        comedi: get rid of compat_alloc_user_space() mess in COMEDI_CMD{,TEST} compat
        comedi: do_cmd_ioctl(): lift copyin/copyout into the caller
        comedi: do_cmdtest_ioctl(): lift copyin/copyout into the caller
        comedi: lift copy_from_user() into callers of __comedi_get_user_cmd()
        comedi: get rid of compat_alloc_user_space() mess in COMEDI_INSNLIST compat
        comedi: get rid of compat_alloc_user_space() mess in COMEDI_INSN compat
        comedi: get rid of compat_alloc_user_space() mess in COMEDI_RANGEINFO compat
        comedi: get rid of compat_alloc_user_space() mess in COMEDI_CHANINFO compat
        comedi: get rid of indirection via translated_ioctl()
        comedi: move compat ioctl handling to native fops
      2e63f6ce
    • Linus Torvalds's avatar
      Merge branch 'work.splice' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · ae03c53d
      Linus Torvalds authored
      Pull splice updates from Al Viro:
       "Christoph's assorted splice cleanups"
      
      * 'work.splice' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs: rename pipe_buf ->steal to ->try_steal
        fs: make the pipe_buf_operations ->confirm operation optional
        fs: make the pipe_buf_operations ->steal operation optional
        trace: remove tracing_pipe_buf_ops
        pipe: merge anon_pipe_buf*_ops
        fs: simplify do_splice_from
        fs: simplify do_splice_to
      ae03c53d
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 039aeb9d
      Linus Torvalds authored
      Pull kvm updates from Paolo Bonzini:
       "ARM:
         - Move the arch-specific code into arch/arm64/kvm
      
         - Start the post-32bit cleanup
      
         - Cherry-pick a few non-invasive pre-NV patches
      
        x86:
         - Rework of TLB flushing
      
         - Rework of event injection, especially with respect to nested
           virtualization
      
         - Nested AMD event injection facelift, building on the rework of
           generic code and fixing a lot of corner cases
      
         - Nested AMD live migration support
      
         - Optimization for TSC deadline MSR writes and IPIs
      
         - Various cleanups
      
         - Asynchronous page fault cleanups (from tglx, common topic branch
           with tip tree)
      
         - Interrupt-based delivery of asynchronous "page ready" events (host
           side)
      
         - Hyper-V MSRs and hypercalls for guest debugging
      
         - VMX preemption timer fixes
      
        s390:
         - Cleanups
      
        Generic:
         - switch vCPU thread wakeup from swait to rcuwait
      
        The other architectures, and the guest side of the asynchronous page
        fault work, will come next week"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (256 commits)
        KVM: selftests: fix rdtsc() for vmx_tsc_adjust_test
        KVM: check userspace_addr for all memslots
        KVM: selftests: update hyperv_cpuid with SynDBG tests
        x86/kvm/hyper-v: Add support for synthetic debugger via hypercalls
        x86/kvm/hyper-v: enable hypercalls regardless of hypercall page
        x86/kvm/hyper-v: Add support for synthetic debugger interface
        x86/hyper-v: Add synthetic debugger definitions
        KVM: selftests: VMX preemption timer migration test
        KVM: nVMX: Fix VMX preemption timer migration
        x86/kvm/hyper-v: Explicitly align hcall param for kvm_hyperv_exit
        KVM: x86/pmu: Support full width counting
        KVM: x86/pmu: Tweak kvm_pmu_get_msr to pass 'struct msr_data' in
        KVM: x86: announce KVM_FEATURE_ASYNC_PF_INT
        KVM: x86: acknowledgment mechanism for async pf page ready notifications
        KVM: x86: interrupt based APF 'page ready' event delivery
        KVM: introduce kvm_read_guest_offset_cached()
        KVM: rename kvm_arch_can_inject_async_page_present() to kvm_arch_can_dequeue_async_page_present()
        KVM: x86: extend struct kvm_vcpu_pv_apf_data with token info
        Revert "KVM: async_pf: Fix #DF due to inject "Page not Present" and "Page Ready" exceptions simultaneously"
        KVM: VMX: Replace zero-length array with flexible-array
        ...
      039aeb9d
    • Linus Torvalds's avatar
      Merge tag 'hyperv-next-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux · 6b2591c2
      Linus Torvalds authored
      Pull hyper-v updates from Wei Liu:
      
       - a series from Andrea to support channel reassignment
      
       - a series from Vitaly to clean up Vmbus message handling
      
       - a series from Michael to clean up and augment hyperv-tlfs.h
      
       - patches from Andy to clean up GUID usage in Hyper-V code
      
       - a few other misc patches
      
      * tag 'hyperv-next-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux: (29 commits)
        Drivers: hv: vmbus: Resolve more races involving init_vp_index()
        Drivers: hv: vmbus: Resolve race between init_vp_index() and CPU hotplug
        vmbus: Replace zero-length array with flexible-array
        Driver: hv: vmbus: drop a no long applicable comment
        hyper-v: Switch to use UUID types directly
        hyper-v: Replace open-coded variant of %*phN specifier
        hyper-v: Supply GUID pointer to printf() like functions
        hyper-v: Use UUID API for exporting the GUID (part 2)
        asm-generic/hyperv: Add definitions for Get/SetVpRegister hypercalls
        x86/hyperv: Split hyperv-tlfs.h into arch dependent and independent files
        x86/hyperv: Remove HV_PROCESSOR_POWER_STATE #defines
        KVM: x86: hyperv: Remove duplicate definitions of Reference TSC Page
        drivers: hv: remove redundant assignment to pointer primary_channel
        scsi: storvsc: Re-init stor_chns when a channel interrupt is re-assigned
        Drivers: hv: vmbus: Introduce the CHANNELMSG_MODIFYCHANNEL message type
        Drivers: hv: vmbus: Synchronize init_vp_index() vs. CPU hotplug
        Drivers: hv: vmbus: Remove the unused HV_LOCALIZED channel affinity logic
        PCI: hv: Prepare hv_compose_msi_msg() for the VMBus-channel-interrupt-to-vCPU reassignment functionality
        Drivers: hv: vmbus: Use a spin lock for synchronizing channel scheduling vs. channel removal
        hv_utils: Always execute the fcopy and vss callbacks in a tasklet
        ...
      6b2591c2
    • Linus Torvalds's avatar
      Merge tag 'kgdb-5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux · f1e45535
      Linus Torvalds authored
      Pull kgdb updates from Daniel Thompson:
       "By far the biggest change in this cycle are the changes that allow
        much earlier debug of systems that are hooked up via UART by taking
        advantage of the earlycon framework to implement the kgdb I/O hooks
        before handing over to the regular polling I/O drivers once they are
        available. When discussing Doug's work we also found and fixed an
        broken raw_smp_processor_id() sequence in in_dbg_master().
      
        Also included are a collection of much smaller fixes and tweaks: a
        couple of tweaks to ged rid of doc gen or coccicheck warnings, future
        proof some internal calculations that made implicit power-of-2
        assumptions and eliminate some rather weird handling of magic
        environment variables in kdb"
      
      * tag 'kgdb-5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux:
        kdb: Remove the misfeature 'KDBFLAGS'
        kdb: Cleanup math with KDB_CMD_HISTORY_COUNT
        serial: amba-pl011: Support kgdboc_earlycon
        serial: 8250_early: Support kgdboc_earlycon
        serial: qcom_geni_serial: Support kgdboc_earlycon
        serial: kgdboc: Allow earlycon initialization to be deferred
        Documentation: kgdboc: Document new kgdboc_earlycon parameter
        kgdb: Don't call the deinit under spinlock
        kgdboc: Disable all the early code when kgdboc is a module
        kgdboc: Add kgdboc_earlycon to support early kgdb using boot consoles
        kgdboc: Remove useless #ifdef CONFIG_KGDB_SERIAL_CONSOLE in kgdboc
        kgdb: Prevent infinite recursive entries to the debugger
        kgdb: Delay "kgdbwait" to dbg_late_init() by default
        kgdboc: Use a platform device to handle tty drivers showing up late
        Revert "kgdboc: disable the console lock when in kgdb"
        kgdb: Disable WARN_CONSOLE_UNLOCKED for all kgdb
        kgdb: Return true in kgdb_nmi_poll_knock()
        kgdb: Drop malformed kernel doc comment
        kgdb: Fix spurious true from in_dbg_master()
      f1e45535
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20200603' of git://github.com/jcmvbkbc/linux-xtensa · 38696e33
      Linus Torvalds authored
      Pull Xtensa updates from Max Filippov:
      
       - fix __user annotations in asm/uaccess.h
      
       - fix comments in entry.S
      
      * tag 'xtensa-20200603' of git://github.com/jcmvbkbc/linux-xtensa:
        xtensa: Fix spelling/grammar in comment
        xtensa: add missing __user annotations to asm/uaccess.h
        xtensa: fix error paths in __get_user_{check,size}
        xtensa: fix type conversion in __get_user_size
        xtensa: add missing __user annotations to __{get,put}_user_check
      38696e33
    • Linus Torvalds's avatar
      Merge branch 'parisc-5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 44e40e96
      Linus Torvalds authored
      Pull parsic updates from Helge Deller:
       "Enable the sysctl file interface for panic_on_stackoverflow for
        parisc, a warning fix and a bunch of documentation updates since the
        parisc website is now at https://parisc.wiki.kernel.org"
      
      * 'parisc-5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: MAINTAINERS: Update references to parisc website
        parisc: module: Update references to parisc website
        parisc: hardware: Update references to parisc website
        parisc: firmware: Update references to parisc website
        parisc: Kconfig: Update references to parisc website
        parisc: add sysctl file interface panic_on_stackoverflow
        parisc: use -fno-strict-aliasing for decompressor
        parisc: suppress error messages for 'make clean'
      44e40e96
    • Linus Torvalds's avatar
      Merge tag 'mips_5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 8226f113
      Linus Torvalds authored
      Pull MIPS updates from Thomas Bogendoerfer:
      
       - added support for MIPSr5 and P5600 cores
      
       - converted Loongson PCI driver into a PCI host driver using the
         generic PCI framework
      
       - added emulation of CPUCFG command for Loogonson64 cpus
      
       - removed of LASAT, PMC MSP71xx and NEC MARKEINS/EMMA
      
       - ioremap cleanup
      
       - fix for a race between two threads faulting the same page
      
       - various cleanups and fixes
      
      * tag 'mips_5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (143 commits)
        MIPS: ralink: drop ralink_clk_init for mt7621
        MIPS: ralink: bootrom: mark a function as __init to save some memory
        MIPS: Loongson64: Reorder CPUCFG model match arms
        MIPS: Expose Loongson CPUCFG availability via HWCAP
        MIPS: Loongson64: Guard against future cores without CPUCFG
        MIPS: Fix build warning about "PTR_STR" redefinition
        MIPS: Loongson64: Remove not used pci.c
        MIPS: Loongson64: Define PCI_IOBASE
        MIPS: CPU_LOONGSON2EF need software to maintain cache consistency
        MIPS: DTS: Fix build errors used with various configs
        MIPS: Loongson64: select NO_EXCEPT_FILL
        MIPS: Fix IRQ tracing when call handle_fpe() and handle_msa_fpe()
        MIPS: mm: add page valid judgement in function pte_modify
        mm/memory.c: Add memory read privilege on page fault handling
        mm/memory.c: Update local TLB if PTE entry exists
        MIPS: Do not flush tlb page when updating PTE entry
        MIPS: ingenic: Default to a generic board
        MIPS: ingenic: Add support for GCW Zero prototype
        MIPS: ingenic: DTS: Add memory info of GCW Zero
        MIPS: Loongson64: Switch to generic PCI driver
        ...
      8226f113
    • Linus Torvalds's avatar
      Merge branch 'uaccess.csum' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · e8f4abf8
      Linus Torvalds authored
      Pull ia64 build regression fix from Al Viro:
       "Fix a braino in ia64 uaccess csum changes"
      
      * 'uaccess.csum' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fix a braino in ia64 uaccess csum changes
      e8f4abf8
    • Al Viro's avatar
      fix a braino in ia64 uaccess csum changes · 174e1ea8
      Al Viro authored
      Fixes: cc03f19c (ia64: csum_partial_copy_nocheck(): don't abuse csum_partial_copy_from_user())
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      174e1ea8
    • Linus Torvalds's avatar
      Merge tag 'threads-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux · e7c93cbf
      Linus Torvalds authored
      Pull thread updates from Christian Brauner:
       "We have been discussing using pidfds to attach to namespaces for quite
        a while and the patches have in one form or another already existed
        for about a year. But I wanted to wait to see how the general api
        would be received and adopted.
      
        This contains the changes to make it possible to use pidfds to attach
        to the namespaces of a process, i.e. they can be passed as the first
        argument to the setns() syscall.
      
        When only a single namespace type is specified the semantics are
        equivalent to passing an nsfd. That means setns(nsfd, CLONE_NEWNET)
        equals setns(pidfd, CLONE_NEWNET).
      
        However, when a pidfd is passed, multiple namespace flags can be
        specified in the second setns() argument and setns() will attach the
        caller to all the specified namespaces all at once or to none of them.
      
        Specifying 0 is not valid together with a pidfd. Here are just two
        obvious examples:
      
          setns(pidfd, CLONE_NEWPID | CLONE_NEWNS | CLONE_NEWNET);
          setns(pidfd, CLONE_NEWUSER);
      
        Allowing to also attach subsets of namespaces supports various
        use-cases where callers setns to a subset of namespaces to retain
        privilege, perform an action and then re-attach another subset of
        namespaces.
      
        Apart from significantly reducing the number of syscalls needed to
        attach to all currently supported namespaces (eight "open+setns"
        sequences vs just a single "setns()"), this also allows atomic setns
        to a set of namespaces, i.e. either attaching to all namespaces
        succeeds or we fail without having changed anything.
      
        This is centered around a new internal struct nsset which holds all
        information necessary for a task to switch to a new set of namespaces
        atomically. Fwiw, with this change a pidfd becomes the only token
        needed to interact with a container. I'm expecting this to be
        picked-up by util-linux for nsenter rather soon.
      
        Associated with this change is a shiny new test-suite dedicated to
        setns() (for pidfds and nsfds alike)"
      
      * tag 'threads-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux:
        selftests/pidfd: add pidfd setns tests
        nsproxy: attach to namespaces via pidfds
        nsproxy: add struct nsset
      e7c93cbf
    • Linus Torvalds's avatar
      Merge tag 'sched-core-2020-06-02' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d479c5a1
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "The changes in this cycle are:
      
         - Optimize the task wakeup CPU selection logic, to improve
           scalability and reduce wakeup latency spikes
      
         - PELT enhancements
      
         - CFS bandwidth handling fixes
      
         - Optimize the wakeup path by remove rq->wake_list and replacing it
           with ->ttwu_pending
      
         - Optimize IPI cross-calls by making flush_smp_call_function_queue()
           process sync callbacks first.
      
         - Misc fixes and enhancements"
      
      * tag 'sched-core-2020-06-02' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (36 commits)
        irq_work: Define irq_work_single() on !CONFIG_IRQ_WORK too
        sched/headers: Split out open-coded prototypes into kernel/sched/smp.h
        sched: Replace rq::wake_list
        sched: Add rq::ttwu_pending
        irq_work, smp: Allow irq_work on call_single_queue
        smp: Optimize send_call_function_single_ipi()
        smp: Move irq_work_run() out of flush_smp_call_function_queue()
        smp: Optimize flush_smp_call_function_queue()
        sched: Fix smp_call_function_single_async() usage for ILB
        sched/core: Offload wakee task activation if it the wakee is descheduling
        sched/core: Optimize ttwu() spinning on p->on_cpu
        sched: Defend cfs and rt bandwidth quota against overflow
        sched/cpuacct: Fix charge cpuacct.usage_sys
        sched/fair: Replace zero-length array with flexible-array
        sched/pelt: Sync util/runnable_sum with PELT window when propagating
        sched/cpuacct: Use __this_cpu_add() instead of this_cpu_ptr()
        sched/fair: Optimize enqueue_task_fair()
        sched: Make scheduler_ipi inline
        sched: Clean up scheduler_ipi()
        sched/core: Simplify sched_init()
        ...
      d479c5a1
    • Linus Torvalds's avatar
      Merge tag 'x86-timers-2020-06-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f6aee505
      Linus Torvalds authored
      Pull x86 timer updates from Thomas Gleixner:
       "X86 timer specific updates:
      
         - Add TPAUSE based delay which allows the CPU to enter an optimized
           power state while waiting for the delay to pass. The delay is based
           on TSC cycles.
      
         - Add tsc_early_khz command line parameter to workaround the problem
           that overclocked CPUs can report the wrong frequency via CPUID.16h
           which causes the refined calibration to fail because the delta to
           the initial frequency value is too big. With the parameter users
           can provide an halfways accurate initial value"
      
      * tag 'x86-timers-2020-06-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/tsc: Add tsc_early_khz command line parameter
        x86/delay: Introduce TPAUSE delay
        x86/delay: Refactor delay_mwaitx() for TPAUSE support
        x86/delay: Preparatory code cleanup
      f6aee505
    • Linus Torvalds's avatar
      Merge tag 'timers-core-2020-06-02' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · dabc4df2
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       "The truly boring timer and clocksource updates for 5.8:
      
         - Not a single new clocksource or clockevent driver!
      
         - Device tree updates for various chips
      
         - Fixes and improvements and cleanups all over the place"
      
      * tag 'timers-core-2020-06-02' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)
        dt-bindings: timer: Add renesas,em-sti bindings
        clocksource/drivers/timer-versatile: Clear OF_POPULATED flag
        clocksource: mips-gic-timer: Mark GIC timer as unstable if ref clock changes
        clocksource: mips-gic-timer: Register as sched_clock
        clocksource: dw_apb_timer_of: Fix missing clockevent timers
        clocksource: dw_apb_timer: Affiliate of-based timer with any CPU
        clocksource: dw_apb_timer: Make CPU-affiliation being optional
        dt-bindings: timer: Move snps,dw-apb-timer DT schema from rtc
        dt-bindings: rtc: Convert snps,dw-apb-timer to DT schema
        clocksource/drivers/timer-ti-dm: Do one override clock parent in prepare()
        clocksource/drivers/timer-ti-dm: Fix spelling mistake "detectt" -> "detect"
        clocksource/drivers/timer-ti-dm: Fix warning for set but not used
        clocksource/drivers/timer-ti-dm: Add clockevent and clocksource support
        clocksource/drivers/timer-ti-32k: Add support for initializing directly
        drivers/clocksource/arm_arch_timer: Remove duplicate error message
        clocksource/drivers/arc_timer: Remove duplicate error message
        clocksource/drivers/rda: drop redundant Kconfig dependency
        clocksource/drivers/timer-ti-dm: Fix warning for set but not used
        clocksource/drivers/timer-ti-dm: Add clockevent and clocksource support
        clocksource/drivers/timer-ti-32k: Add support for initializing directly
        ...
      dabc4df2
    • Linus Torvalds's avatar
      Merge tag 'irq-core-2020-06-02' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f6606d0c
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "The generic interrupt departement provides:
      
         - Cleanup of the irq_domain API
      
         - Overhaul of the interrupt chip simulator
      
         - The usual pile of new interrupt chip drivers
      
         - Cleanups, improvements and fixes all over the place"
      
      * tag 'irq-core-2020-06-02' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        irqchip: Fix "Loongson HyperTransport Vector support" driver build on all non-MIPS platforms
        dt-bindings: interrupt-controller: Add Loongson PCH MSI
        irqchip: Add Loongson PCH MSI controller
        dt-bindings: interrupt-controller: Add Loongson PCH PIC
        irqchip: Add Loongson PCH PIC controller
        dt-bindings: interrupt-controller: Add Loongson HTVEC
        irqchip: Add Loongson HyperTransport Vector support
        genirq: Check irq_data_get_irq_chip() return value before use
        irqchip/sifive-plic: Improve boot prints for multiple PLIC instances
        irqchip/sifive-plic: Setup cpuhp once after boot CPU handler is present
        irqchip/sifive-plic: Set default irq affinity in plic_irqdomain_map()
        irqchip/gic-v2, v3: Drop extra IRQ_NOAUTOEN setting for (E)PPIs
        irqdomain: Allow software nodes for IRQ domain creation
        irqdomain: Get rid of special treatment for ACPI in __irq_domain_add()
        irqdomain: Make __irq_domain_add() less OF-dependent
        iio: dummy_evgen: Fix use after free on error in iio_dummy_evgen_create()
        irqchip/gic-v3-its: Balance initial LPI affinity across CPUs
        irqchip/gic-v3-its: Track LPI distribution on a per CPU basis
        genirq/irq_sim: Simplify the API
        irqdomain: Make irq_domain_reset_irq_data() available to  non-hierarchical users
        ...
      f6606d0c
    • Linus Torvalds's avatar
      Merge tag 'erofs-for-5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs · d6f9469a
      Linus Torvalds authored
      Pull erofs updates from Gao Xiang:
       "The most interesting part is the new mount api conversion, which is
        actually a old patch already pending for several cycles. And the
        others are recent trivial cleanups here.
      
        Summary:
      
         - Convert to use the new mount apis
      
         - Some random cleanup patches"
      
      * tag 'erofs-for-5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs:
        erofs: suppress false positive last_block warning
        erofs: convert to use the new mount fs_context api
        erofs: code cleanup by removing ifdef macro surrounding
      d6f9469a
    • Linus Torvalds's avatar
      Merge tag 'jfs-5.8' of git://github.com/kleikamp/linux-shaggy · cadf3223
      Linus Torvalds authored
      Pull JFS update from David Kleikamp:
       "Replace zero-length array in JFS"
      
      * tag 'jfs-5.8' of git://github.com/kleikamp/linux-shaggy:
        jfs: Replace zero-length array with flexible-array member
      cadf3223
    • Linus Torvalds's avatar
      Merge tag 'for-5.8-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · f3cdc8ae
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "Highlights:
      
         - speedup dead root detection during orphan cleanup, eg. when there
           are many deleted subvolumes waiting to be cleaned, the trees are
           now looked up in radix tree instead of a O(N^2) search
      
         - snapshot creation with inherited qgroup will mark the qgroup
           inconsistent, requires a rescan
      
         - send will emit file capabilities after chown, this produces a
           stream that does not need postprocessing to set the capabilities
           again
      
         - direct io ported to iomap infrastructure, cleaned up and simplified
           code, notably removing last use of struct buffer_head in btrfs code
      
        Core changes:
      
         - factor out backreference iteration, to be used by ordinary
           backreferences and relocation code
      
         - improved global block reserve utilization
            * better logic to serialize requests
            * increased maximum available for unlink
            * improved handling on large pages (64K)
      
         - direct io cleanups and fixes
            * simplify layering, where cloned bios were unnecessarily created
              for some cases
            * error handling fixes (submit, endio)
            * remove repair worker thread, used to avoid deadlocks during
              repair
      
         - refactored block group reading code, preparatory work for new type
           of block group storage that should improve mount time on large
           filesystems
      
        Cleanups:
      
         - cleaned up (and slightly sped up) set/get helpers for metadata data
           structure members
      
         - root bit REF_COWS got renamed to SHAREABLE to reflect the that the
           blocks of the tree get shared either among subvolumes or with the
           relocation trees
      
        Fixes:
      
         - when subvolume deletion fails due to ENOSPC, the filesystem is not
           turned read-only
      
         - device scan deals with devices from other filesystems that changed
           ownership due to overwrite (mkfs)
      
         - fix a race between scrub and block group removal/allocation
      
         - fix long standing bug of a runaway balance operation, printing the
           same line to the syslog, caused by a stale status bit on a reloc
           tree that prevented progress
      
         - fix corrupt log due to concurrent fsync of inodes with shared
           extents
      
         - fix space underflow for NODATACOW and buffered writes when it for
           some reason needs to fallback to COW mode"
      
      * tag 'for-5.8-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (133 commits)
        btrfs: fix space_info bytes_may_use underflow during space cache writeout
        btrfs: fix space_info bytes_may_use underflow after nocow buffered write
        btrfs: fix wrong file range cleanup after an error filling dealloc range
        btrfs: remove redundant local variable in read_block_for_search
        btrfs: open code key_search
        btrfs: split btrfs_direct_IO to read and write part
        btrfs: remove BTRFS_INODE_READDIO_NEED_LOCK
        fs: remove dio_end_io()
        btrfs: switch to iomap_dio_rw() for dio
        iomap: remove lockdep_assert_held()
        iomap: add a filesystem hook for direct I/O bio submission
        fs: export generic_file_buffered_read()
        btrfs: turn space cache writeout failure messages into debug messages
        btrfs: include error on messages about failure to write space/inode caches
        btrfs: remove useless 'fail_unlock' label from btrfs_csum_file_blocks()
        btrfs: do not ignore error from btrfs_next_leaf() when inserting checksums
        btrfs: make checksum item extension more efficient
        btrfs: fix corrupt log due to concurrent fsync of inodes with shared extents
        btrfs: unexport btrfs_compress_set_level()
        btrfs: simplify iget helpers
        ...
      f3cdc8ae
    • Linus Torvalds's avatar
      Merge tag 'vfs-5.8-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 8eeae5ba
      Linus Torvalds authored
      Pull DAX updates part two from Darrick Wong:
       "This time around, we're hoisting the DONTCACHE flag from XFS into the
        VFS so that we can make the incore DAX mode changes become effective
        sooner.
      
        We can't change the file data access mode on a live inode because we
        don't have a safe way to change the file ops pointers. The incore
        state change becomes effective at inode loading time, which can happen
        if the inode is evicted. Therefore, we're making it so that
        filesystems can ask the VFS to evict the inode as soon as the last
        holder drops.
      
        The per-fs changes to make this call this will be in subsequent pull
        requests from Ted and myself.
      
        Summary:
      
         - Introduce DONTCACHE flags for dentries and inodes. This hint will
           cause the VFS to drop the associated objects immediately after the
           last put, so that we can change the file access mode (DAX or page
           cache) on the fly"
      
      * tag 'vfs-5.8-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        fs: Introduce DCACHE_DONTCACHE
        fs: Lift XFS_IDONTCACHE to the VFS layer
      8eeae5ba
    • Linus Torvalds's avatar
      Merge tag 'vfs-5.8-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 96ed320d
      Linus Torvalds authored
      Pull DAX updates part one from Darrick Wong:
       "After many years of LKML-wrangling about how to enable programs to
        query and influence the file data access mode (DAX) when a filesystem
        resides on storage devices such as persistent memory, Ira Weiny has
        emerged with a proposed set of standard behaviors that has not been
        shot down by anyone! We're more or less standardizing on the current
        XFS behavior and adapting ext4 to do the same.
      
        This is the first of a handful pull requests that will make ext4 and
        XFS present a consistent interface for user programs that care about
        DAX. We add a statx attribute that programs can check to see if DAX is
        enabled on a particular file. Then, we update the DAX documentation to
        spell out the user-visible behaviors that filesystems will guarantee
        (until the next storage industry shakeup). The on-disk inode flag has
        been in XFS for a few years now.
      
        Summary:
      
         - Clean up io_is_direct.
      
         - Add a new statx flag to indicate when file data access is being
           done via DAX (as opposed to the page cache).
      
         - Update the documentation for how system administrators and
           application programmers can take advantage of the (still
           experimental DAX) feature"
      
      Link: https://lore.kernel.org/lkml/20200505002016.1085071-1-ira.weiny@intel.com/
      
      * tag 'vfs-5.8-merge-1' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        Documentation/dax: Update Usage section
        fs/stat: Define DAX statx attribute
        fs: Remove unneeded IS_DAX() check in io_is_direct()
      96ed320d
    • Linus Torvalds's avatar
      Merge tag 'xfs-5.8-merge-8' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 16d91548
      Linus Torvalds authored
      Pull xfs updates from Darrick Wong:
       "Most of the changes this cycle are refactoring of existing code in
        preparation for things landing in the future.
      
        We also fixed various problems and deficiencies in the quota
        implementation, and (I hope) the last of the stale read vectors by
        forcing write allocations to go through the unwritten state until the
        write completes.
      
        Summary:
      
         - Various cleanups to remove dead code, unnecessary conditionals,
           asserts, etc.
      
         - Fix a linker warning caused by xfs stuffing '-g' into CFLAGS
           redundantly.
      
         - Tighten up our dmesg logging to ensure that everything is prefixed
           with 'XFS' for easier grepping.
      
         - Kill a bunch of typedefs.
      
         - Refactor the deferred ops code to reduce indirect function calls.
      
         - Increase type-safety with the deferred ops code.
      
         - Make the DAX mount options a tri-state.
      
         - Fix some error handling problems in the inode flush code and clean
           up other inode flush warts.
      
         - Refactor log recovery so that each log item recovery functions now
           live with the other log item processing code.
      
         - Fix some SPDX forms.
      
         - Fix quota counter corruption if the fs crashes after running
           quotacheck but before any dquots get logged.
      
         - Don't fail metadata verification on zero-entry attr leaf blocks,
           since they're just part of the disk format now due to a historic
           lack of log atomicity.
      
         - Don't allow SWAPEXT between files with different [ugp]id when
           quotas are enabled.
      
         - Refactor inode fork reading and verification to run directly from
           the inode-from-disk function. This means that we now actually
           guarantee that _iget'ted inodes are totally verified and ready to
           go.
      
         - Move the incore inode fork format and extent counts to the ifork
           structure.
      
         - Scalability improvements by reducing cacheline pingponging in
           struct xfs_mount.
      
         - More scalability improvements by removing m_active_trans from the
           hot path.
      
         - Fix inode counter update sanity checking to run /only/ on debug
           kernels.
      
         - Fix longstanding inconsistency in what error code we return when a
           program hits project quota limits (ENOSPC).
      
         - Fix group quota returning the wrong error code when a program hits
           group quota limits.
      
         - Fix per-type quota limits and grace periods for group and project
           quotas so that they actually work.
      
         - Allow extension of individual grace periods.
      
         - Refactor the non-reclaim inode radix tree walking code to remove a
           bunch of stupid little functions and straighten out the
           inconsistent naming schemes.
      
         - Fix a bug in speculative preallocation where we measured a new
           allocation based on the last extent mapping in the file instead of
           looking farther for the last contiguous space allocation.
      
         - Force delalloc writes to unwritten extents. This closes a stale
           disk contents exposure vector if the system goes down before the
           write completes.
      
         - More lockdep whackamole"
      
      * tag 'xfs-5.8-merge-8' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (129 commits)
        xfs: more lockdep whackamole with kmem_alloc*
        xfs: force writes to delalloc regions to unwritten
        xfs: refactor xfs_iomap_prealloc_size
        xfs: measure all contiguous previous extents for prealloc size
        xfs: don't fail unwritten extent conversion on writeback due to edquot
        xfs: rearrange xfs_inode_walk_ag parameters
        xfs: straighten out all the naming around incore inode tree walks
        xfs: move xfs_inode_ag_iterator to be closer to the perag walking code
        xfs: use bool for done in xfs_inode_ag_walk
        xfs: fix inode ag walk predicate function return values
        xfs: refactor eofb matching into a single helper
        xfs: remove __xfs_icache_free_eofblocks
        xfs: remove flags argument from xfs_inode_ag_walk
        xfs: remove xfs_inode_ag_iterator_flags
        xfs: remove unused xfs_inode_ag_iterator function
        xfs: replace open-coded XFS_ICI_NO_TAG
        xfs: move eofblocks conversion function to xfs_ioctl.c
        xfs: allow individual quota grace period extension
        xfs: per-type quota timers and warn limits
        xfs: switch xfs_get_defquota to take explicit type
        ...
      16d91548
    • Linus Torvalds's avatar
      Merge branch 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · d9afbb35
      Linus Torvalds authored
      Pull lockdown update from James Morris:
       "An update for the security subsystem to allow unprivileged users
        to see the status of the lockdown feature. From Jeremy Cline"
      
      Also an added comment to describe CAP_SETFCAP.
      
      * 'next-general' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        capabilities: add description for CAP_SETFCAP
        lockdown: Allow unprivileged users to see lockdown status
      d9afbb35
    • Linus Torvalds's avatar
      Merge tag 'selinux-pr-20200601' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux · f41030a2
      Linus Torvalds authored
      Pull SELinux updates from Paul Moore:
       "The highlights:
      
         - A number of improvements to various SELinux internal data
           structures to help improve performance. We move the role
           transitions into a hash table. In the content structure we shift
           from hashing the content string (aka SELinux label) to the
           structure itself, when it is valid. This last change not only
           offers a speedup, but it helps us simplify the code some as well.
      
         - Add a new SELinux policy version which allows for a more space
           efficient way of storing the filename transitions in the binary
           policy. Given the default Fedora SELinux policy with the unconfined
           module enabled, this change drops the policy size from ~7.6MB to
           ~3.3MB. The kernel policy load time dropped as well.
      
         - Some fixes to the error handling code in the policy parser to
           properly return error codes when things go wrong"
      
      * tag 'selinux-pr-20200601' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
        selinux: netlabel: Remove unused inline function
        selinux: do not allocate hashtabs dynamically
        selinux: fix return value on error in policydb_read()
        selinux: simplify range_write()
        selinux: fix error return code in policydb_read()
        selinux: don't produce incorrect filename_trans_count
        selinux: implement new format of filename transitions
        selinux: move context hashing under sidtab
        selinux: hash context structure directly
        selinux: store role transitions in a hash table
        selinux: drop unnecessary smp_load_acquire() call
        selinux: fix warning Comparison to bool
      f41030a2
    • Linus Torvalds's avatar
      Merge tag 'audit-pr-20200601' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit · 9d99b164
      Linus Torvalds authored
      Pull audit updates from Paul Moore:
       "Summary of the significant patches:
      
         - Record information about binds/unbinds to the audit multicast
           socket. This helps identify which processes have/had access to the
           information in the audit stream.
      
         - Cleanup and add some additional information to the netfilter
           configuration events collected by audit.
      
         - Fix some of the audit error handling code so we don't leak network
           namespace references"
      
      * tag 'audit-pr-20200601' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit:
        audit: add subj creds to NETFILTER_CFG record to
        audit: Replace zero-length array with flexible-array
        audit: make symbol 'audit_nfcfgs' static
        netfilter: add audit table unregister actions
        audit: tidy and extend netfilter_cfg x_tables
        audit: log audit netlink multicast bind and unbind
        audit: fix a net reference leak in audit_list_rules_send()
        audit: fix a net reference leak in audit_send_reply()
      9d99b164
    • Linus Torvalds's avatar
      Merge tag 'tomoyo-pr-20200601' of git://git.osdn.net/gitroot/tomoyo/tomoyo-test1 · 91681e84
      Linus Torvalds authored
      Pull tomoyo update from Tetsuo Handa:
       "One patch for suppressing coccicheck's warning"
      
      * tag 'tomoyo-pr-20200601' of git://git.osdn.net/gitroot/tomoyo/tomoyo-test1:
        tomoyo: use true for bool variable
      91681e84
  5. 02 Jun, 2020 6 commits
    • Stefan Hajnoczi's avatar
      capabilities: add description for CAP_SETFCAP · 56f2e3b7
      Stefan Hajnoczi authored
      Document the purpose of CAP_SETFCAP.  For some reason this capability
      had no description while the others did.
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: default avatarJames Morris <jmorris@namei.org>
      56f2e3b7
    • Thadeu Lima de Souza Cascardo's avatar
      selftests: net: ip_defrag: ignore EPERM · 065fcfd4
      Thadeu Lima de Souza Cascardo authored
      When running with conntrack rules, the dropped overlap fragments may cause
      EPERM to be returned to sendto. Instead of completely failing, just ignore
      those errors and continue. If this causes packets with overlap fragments to
      be dropped as expected, that is okay. And if it causes packets that are
      expected to be received to be dropped, which should not happen, it will be
      detected as failure.
      Signed-off-by: default avatarThadeu Lima de Souza Cascardo <cascardo@canonical.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      065fcfd4
    • Linus Torvalds's avatar
      Merge tag 'for-5.8/io_uring-2020-06-01' of git://git.kernel.dk/linux-block · 1ee08de1
      Linus Torvalds authored
      Pull io_uring updates from Jens Axboe:
       "A relatively quiet round, mostly just fixes and code improvements. In
      particular:
      
         - Make statx just use the generic statx handler, instead of open
           coding it. We don't need that anymore, as we always call it async
           safe (Bijan)
      
         - Enable closing of the ring itself. Also fixes O_PATH closure (me)
      
         - Properly name completion members (me)
      
         - Batch reap of dead file registrations (me)
      
         - Allow IORING_OP_POLL with double waitqueues (me)
      
         - Add tee(2) support (Pavel)
      
         - Remove double off read (Pavel)
      
         - Fix overflow cancellations (Pavel)
      
         - Improve CQ timeouts (Pavel)
      
         - Async defer drain fixes (Pavel)
      
         - Add support for enabling/disabling notifications on a registered
           eventfd (Stefano)
      
         - Remove dead state parameter (Xiaoguang)
      
         - Disable SQPOLL submit on dying ctx (Xiaoguang)
      
         - Various code cleanups"
      
      * tag 'for-5.8/io_uring-2020-06-01' of git://git.kernel.dk/linux-block: (29 commits)
        io_uring: fix overflowed reqs cancellation
        io_uring: off timeouts based only on completions
        io_uring: move timeouts flushing to a helper
        statx: hide interfaces no longer used by io_uring
        io_uring: call statx directly
        statx: allow system call to be invoked from io_uring
        io_uring: add io_statx structure
        io_uring: get rid of manual punting in io_close
        io_uring: separate DRAIN flushing into a cold path
        io_uring: don't re-read sqe->off in timeout_prep()
        io_uring: simplify io_timeout locking
        io_uring: fix flush req->refs underflow
        io_uring: don't submit sqes when ctx->refs is dying
        io_uring: async task poll trigger cleanup
        io_uring: add tee(2) support
        splice: export do_tee()
        io_uring: don't repeat valid flag list
        io_uring: rename io_file_put()
        io_uring: remove req->needs_fixed_files
        io_uring: cleanup io_poll_remove_one() logic
        ...
      1ee08de1
    • Linus Torvalds's avatar
      Merge tag 'for-5.8/drivers-2020-06-01' of git://git.kernel.dk/linux-block · bce159d7
      Linus Torvalds authored
      Pull block driver updates from Jens Axboe:
       "On top of the core changes, here are the block driver changes for this
        merge window:
      
         - NVMe changes:
              - NVMe over Fibre Channel protocol updates, which also reach
                over to drivers/scsi/lpfc (James Smart)
              - namespace revalidation support on the target (Anthony
                Iliopoulos)
              - gcc zero length array fix (Arnd Bergmann)
              - nvmet cleanups (Chaitanya Kulkarni)
              - misc cleanups and fixes (me, Keith Busch, Sagi Grimberg)
              - use a SRQ per completion vector (Max Gurtovoy)
              - fix handling of runtime changes to the queue count (Weiping
                Zhang)
              - t10 protection information support for nvme-rdma and
                nvmet-rdma (Israel Rukshin and Max Gurtovoy)
              - target side AEN improvements (Chaitanya Kulkarni)
              - various fixes and minor improvements all over, icluding the
                nvme part of the lpfc driver"
      
         - Floppy code cleanup series (Willy, Denis)
      
         - Floppy contention fix (Jiri)
      
         - Loop CONFIGURE support (Martijn)
      
         - bcache fixes/improvements (Coly, Joe, Colin)
      
         - q->queuedata cleanups (Christoph)
      
         - Get rid of ioctl_by_bdev (Christoph, Stefan)
      
         - md/raid5 allocation fixes (Coly)
      
         - zero length array fixes (Gustavo)
      
         - swim3 task state fix (Xu)"
      
      * tag 'for-5.8/drivers-2020-06-01' of git://git.kernel.dk/linux-block: (166 commits)
        bcache: configure the asynchronous registertion to be experimental
        bcache: asynchronous devices registration
        bcache: fix refcount underflow in bcache_device_free()
        bcache: Convert pr_<level> uses to a more typical style
        bcache: remove redundant variables i and n
        lpfc: Fix return value in __lpfc_nvme_ls_abort
        lpfc: fix axchg pointer reference after free and double frees
        lpfc: Fix pointer checks and comments in LS receive refactoring
        nvme: set dma alignment to qword
        nvmet: cleanups the loop in nvmet_async_events_process
        nvmet: fix memory leak when removing namespaces and controllers concurrently
        nvmet-rdma: add metadata/T10-PI support
        nvmet: add metadata support for block devices
        nvmet: add metadata/T10-PI support
        nvme: add Metadata Capabilities enumerations
        nvmet: rename nvmet_check_data_len to nvmet_check_transfer_len
        nvmet: rename nvmet_rw_len to nvmet_rw_data_len
        nvmet: add metadata characteristics for a namespace
        nvme-rdma: add metadata/T10-PI support
        nvme-rdma: introduce nvme_rdma_sgl structure
        ...
      bce159d7
    • Vasily Averin's avatar
      net_failover: fixed rollback in net_failover_open() · e8224bfe
      Vasily Averin authored
      found by smatch:
      drivers/net/net_failover.c:65 net_failover_open() error:
       we previously assumed 'primary_dev' could be null (see line 43)
      
      Fixes: cfc80d9a ("net: Introduce net_failover driver")
      Signed-off-by: default avatarVasily Averin <vvs@virtuozzo.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e8224bfe
    • Linus Torvalds's avatar
      Merge tag 'for-5.8/block-2020-06-01' of git://git.kernel.dk/linux-block · 750a02ab
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
       "Core block changes that have been queued up for this release:
      
         - Remove dead blk-throttle and blk-wbt code (Guoqing)
      
         - Include pid in blktrace note traces (Jan)
      
         - Don't spew I/O errors on wouldblock termination (me)
      
         - Zone append addition (Johannes, Keith, Damien)
      
         - IO accounting improvements (Konstantin, Christoph)
      
         - blk-mq hardware map update improvements (Ming)
      
         - Scheduler dispatch improvement (Salman)
      
         - Inline block encryption support (Satya)
      
         - Request map fixes and improvements (Weiping)
      
         - blk-iocost tweaks (Tejun)
      
         - Fix for timeout failing with error injection (Keith)
      
         - Queue re-run fixes (Douglas)
      
         - CPU hotplug improvements (Christoph)
      
         - Queue entry/exit improvements (Christoph)
      
         - Move DMA drain handling to the few drivers that use it (Christoph)
      
         - Partition handling cleanups (Christoph)"
      
      * tag 'for-5.8/block-2020-06-01' of git://git.kernel.dk/linux-block: (127 commits)
        block: mark bio_wouldblock_error() bio with BIO_QUIET
        blk-wbt: rename __wbt_update_limits to wbt_update_limits
        blk-wbt: remove wbt_update_limits
        blk-throttle: remove tg_drain_bios
        blk-throttle: remove blk_throtl_drain
        null_blk: force complete for timeout request
        blk-mq: drain I/O when all CPUs in a hctx are offline
        blk-mq: add blk_mq_all_tag_iter
        blk-mq: open code __blk_mq_alloc_request in blk_mq_alloc_request_hctx
        blk-mq: use BLK_MQ_NO_TAG in more places
        blk-mq: rename BLK_MQ_TAG_FAIL to BLK_MQ_NO_TAG
        blk-mq: move more request initialization to blk_mq_rq_ctx_init
        blk-mq: simplify the blk_mq_get_request calling convention
        blk-mq: remove the bio argument to ->prepare_request
        nvme: force complete cancelled requests
        blk-mq: blk-mq: provide forced completion method
        block: fix a warning when blkdev.h is included for !CONFIG_BLOCK builds
        block: blk-crypto-fallback: remove redundant initialization of variable err
        block: reduce part_stat_lock() scope
        block: use __this_cpu_add() instead of access by smp_processor_id()
        ...
      750a02ab