Skip to content
  1. Apr 27, 2020
    • Linus Torvalds's avatar
      Linux 5.7-rc3 · 6a8b55ed
      Linus Torvalds authored
      v5.7-rc3
      6a8b55ed
    • Linus Torvalds's avatar
      Merge tag '5.7-rc2-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6 · d4fb4bfb
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Five cifs/smb3 fixes:two for DFS reconnect failover, one lease fix for
        stable and the others to fix a missing spinlock during reconnect"
      
      * tag '5.7-rc2-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix uninitialised lease_key in open_shroot()
        cifs: ensure correct super block for DFS reconnect
        cifs: do not share tcons with DFS
        cifs: minor update to comments around the cifs_tcp_ses_lock mutex
        cifs: protect updating server->dstaddr with a spinlock
      d4fb4bfb
    • Linus Torvalds's avatar
      Merge tag 'usb-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · e9a61afb
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are a number of USB driver fixes for 5.7-rc3.
      
        Nothing huge, just the usual collection of:
      
         - xhci fixes
      
         - gadget driver fixes
      
         - syzkaller fuzzing fixes
      
         - new device ids and DT bindings
      
         - new quirks added for broken devices
      
        A few of the gadget driver fixes show up twice here as they were
        applied to my branch, and also by Felipe to his branch which I then
        pulled in as we got out of sync a bit.
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'usb-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (33 commits)
        USB: sisusbvga: Change port variable from signed to unsigned
        usb-storage: Add unusual_devs entry for JMicron JMS566
        USB: hub: Revert commit bd0e6c96 ("usb: hub: try old enumeration scheme first for high speed devices")
        USB: hub: Fix handling of connect changes during sleep
        usb: typec: altmode: Fix typec_altmode_get_partner sometimes returning an invalid pointer
        xhci: Don't clear hub TT buffer on ep0 protocol stall
        xhci: prevent bus suspend if a roothub port detected a over-current condition
        xhci: Fix handling halted endpoint even if endpoint ring appears empty
        usb: raw-gadget: Fix copy_to/from_user() checks
        usb: raw-gadget: fix raw_event_queue_fetch locking
        usb: gadget: udc: atmel: Fix vbus disconnect handling
        usb: dwc3: gadget: Fix request completion check
        USB: Add USB_QUIRK_DELAY_CTRL_MSG and USB_QUIRK_DELAY_INIT for Corsair K70 RGB RAPIDFIRE
        phy: tegra: Select USB_COMMON for usb_get_maximum_speed()
        usb: typec: tcpm: Ignore CC and vbus changes in PORT_RESET change
        usb: f_fs: Clear OS Extended descriptor counts to zero in ffs_data_reset()
        cdc-acm: introduce a cool down
        cdc-acm: close race betrween suspend() and acm_softint
        UAS: fix deadlock in error handling and PM flushing work
        UAS: no use logging any details in case of ENODEV
        ...
      e9a61afb
    • Linus Torvalds's avatar
      Merge tag 'tty-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · c5f33785
      Linus Torvalds authored
      Pull tty/serial fixes from Greg KH:
       "Here are some tty and serial driver fixes for 5.7-rc3.
      
        The "largest" in here are a number of reverts for previous changes to
        the uartps serial driver that turned out to not be a good idea at all.
      
        The others are just small fixes found by people and tools. Included in
        here is a much-reported symbol export needed by previous changes that
        happened in 5.7-rc1. All of these have been in linux-next for a while
        with no reported issues"
      
      * tag 'tty-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        tty: hvc: fix buffer overflow during hvc_alloc().
        tty: rocket, avoid OOB access
        tty: serial: bcm63xx: fix missing clk_put() in bcm63xx_uart
        vt: don't hardcode the mem allocation upper bound
        tty: serial: owl: add "much needed" clk_prepare_enable()
        vt: don't use kmalloc() for the unicode screen buffer
        tty/sysrq: Export sysrq_mask(), sysrq_toggle_support()
        serial: sh-sci: Make sure status register SCxSR is read in correct sequence
        serial: sunhv: Initialize lock for non-registered console
        Revert "serial: uartps: Register own uart console and driver structures"
        Revert "serial: uartps: Move Port ID to device data structure"
        Revert "serial: uartps: Change uart ID port allocation"
        Revert "serial: uartps: Do not allow use aliases >= MAX_UART_INSTANCES"
        Revert "serial: uartps: Fix error path when alloc failed"
        Revert "serial: uartps: Use the same dynamic major number for all ports"
        Revert "serial: uartps: Fix uartps_major handling"
      c5f33785
    • Linus Torvalds's avatar
      Merge tag 'char-misc-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · f6da8bd1
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are 4 small misc driver fixes for 5.7-rc3:
      
         - mei driver fix
      
         - interconnect driver fix
      
         - two fpga driver fixes
      
        All have been in linux-next with no reported issues"
      
      * tag 'char-misc-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        interconnect: qcom: Fix uninitialized tcs_cmd::wait
        mei: me: fix irq number stored in hw struct
        fpga: dfl: pci: fix return value of cci_pci_sriov_configure
        fpga: zynq: Remove clk_get error message for probe defer
      f6da8bd1
    • Linus Torvalds's avatar
      Merge tag 'staging-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · edf17b28
      Linus Torvalds authored
      Pull staging/IIO driver fixes from Greg KH:
       "Here are some small staging and IIO driver fixes for 5.7-rc3
      
        Lots of tiny things for reported issues in staging and IIO drivers,
        including a counter driver fix as well (the iio drivers seem to be
        tied to those). Full details of the fixes are in the shortlog.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (27 commits)
        staging: vt6656: Fix calling conditions of vnt_set_bss_mode
        staging: comedi: Fix comedi_device refcnt leak in comedi_open
        staging: vt6656: Fix pairwise key entry save.
        staging: vt6656: Fix drivers TBTT timing counter.
        staging: vt6656: Don't set RCR_MULTICAST or RCR_BROADCAST by default.
        MAINTAINERS: remove Stefan Popa's email
        iio: adc: ad7192: fix null pointer de-reference crash during probe
        iio: core: remove extra semi-colon from devm_iio_device_register() macro
        iio: adc: ti-ads8344: properly byte swap value
        iio: imu: inv_mpu6050: fix suspend/resume with runtime power
        iio: st_sensors: rely on odr mask to know if odr can be set
        iio: xilinx-xadc: Make sure not exceed maximum samplerate
        iio: xilinx-xadc: Fix sequencer configuration for aux channels in simultaneous mode
        iio: xilinx-xadc: Fix clearing interrupt when enabling trigger
        iio: xilinx-xadc: Fix ADC-B powerdown
        iio: dac: ad5770r: fix off-by-one check on maximum number of channels
        iio: imu: st_lsm6dsx: flush hw FIFO before resetting the device
        iio: core: Fix handling of 'dB'
        dt-bindings: iio: adc: stm32-adc: fix id relative path
        counter: 104-quad-8: Add lock guards - generic interface
        ...
      edf17b28
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · a8a0e2a9
      Linus Torvalds authored
      Pull driver core fixes from Greg KH:
       "Here are some small firmware/driver core/debugfs fixes for 5.7-rc3.
      
        The debugfs change is now possible as now the last users of
        debugfs_create_u32() have been fixed up in the different trees that
        got merged into 5.7-rc1, and I don't want it creeping back in.
      
        The firmware changes did cause a regression in linux-next, so the
        final patch here reverts part of that, re-exporting the symbol to
        resolve that issue. All of these patches, with the exception of the
        final one, have been in linux-next with only that one reported issue"
      
      * tag 'driver-core-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        firmware_loader: revert removal of the fw_fallback_config export
        debugfs: remove return value of debugfs_create_u32()
        firmware_loader: remove unused exports
        firmware: imx: fix compile-testing
      a8a0e2a9
    • Linus Torvalds's avatar
      Merge tag 's390-5.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 749f0461
      Linus Torvalds authored
      Pull s390 fixes from Vasily Gorbik:
      
       - Add a few notrace annotations to avoid potential crashes when
         switching ftrace tracers.
      
       - Avoid setting affinity for floating irqs in pci code.
      
       - Fix build issue found by kbuild test robot.
      
      * tag 's390-5.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/protvirt: fix compilation issue
        s390/pci: do not set affinity for floating irqs
        s390/ftrace: fix potential crashes when switching tracers
      749f0461
    • Linus Torvalds's avatar
      Merge tag 'powerpc-5.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 670bcd79
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - One important fix for a bug in the way we find the cache-line size
         from the device tree, which was leading to the wrong size being
         reported to userspace on some platforms.
      
       - A fix for 8xx STRICT_KERNEL_RWX which was leaving TLB entries around
         leading to a window at boot when the strict mapping wasn't enforced.
      
       - A fix to enable our KUAP (kernel user access prevention) debugging on
         PPC32.
      
       - A build fix for clang in lib/mpi.
      
      Thanks to: Chris Packham, Christophe Leroy, Nathan Chancellor, Qian Cai.
      
      * tag 'powerpc-5.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        lib/mpi: Fix building for powerpc with clang
        powerpc/mm: Fix CONFIG_PPC_KUAP_DEBUG on PPC32
        powerpc/8xx: Fix STRICT_KERNEL_RWX startup test failure
        powerpc/setup_64: Set cache-line-size based on cache-block-size
      670bcd79
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-5.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 58792882
      Linus Torvalds authored
      Pull more Devicetree fixes from Rob Herring:
       "A couple of schema and kbuild fixes"
      
      * tag 'devicetree-fixes-for-5.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt-bindings: phy: qcom-qusb2: Fix defaults
        dt-bindings: Fix erroneous 'additionalProperties'
        dt-bindings: Fix command line length limit calling dt-mk-schema
        dt-bindings: Re-enable core schemas for dtbs_check
      58792882
  2. Apr 26, 2020
  3. Apr 25, 2020
    • Claudio Imbrenda's avatar
      s390/protvirt: fix compilation issue · 673deb0b
      Claudio Imbrenda authored
      The kernel fails to compile with CONFIG_PROTECTED_VIRTUALIZATION_GUEST
      set but CONFIG_KVM unset.
      
      This patch fixes the issue by making the needed variable always available.
      
      Link: https://lkml.kernel.org/r/20200423120114.2027410-1-imbrenda@linux.ibm.com
      Fixes: a0f60f84
      
       ("s390/protvirt: Add sysfs firmware interface for Ultravisor information")
      Reported-by: default avatarkbuild test robot <lkp@intel.com>
      Reported-by: default avatarPhilipp Rudo <prudo@linux.ibm.com>
      Suggested-by: default avatarPhilipp Rudo <prudo@linux.ibm.com>
      Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
      Reviewed-by: default avatarCornelia Huck <cohuck@redhat.com>
      Reviewed-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      Acked-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: default avatarClaudio Imbrenda <imbrenda@linux.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      673deb0b
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · ab51cac0
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix memory leak in netfilter flowtable, from Roi Dayan.
      
       2) Ref-count leaks in netrom and tipc, from Xiyu Yang.
      
       3) Fix warning when mptcp socket is never accepted before close, from
          Florian Westphal.
      
       4) Missed locking in ovs_ct_exit(), from Tonghao Zhang.
      
       5) Fix large delays during PTP synchornization in cxgb4, from Rahul
          Lakkireddy.
      
       6) team_mode_get() can hang, from Taehee Yoo.
      
       7) Need to use kvzalloc() when allocating fw tracer in mlx5 driver,
          from Niklas Schnelle.
      
       8) Fix handling of bpf XADD on BTF memory, from Jann Horn.
      
       9) Fix BPF_STX/BPF_B encoding in x86 bpf jit, from Luke Nelson.
      
      10) Missing queue memory release in iwlwifi pcie code, from Johannes
          Berg.
      
      11) Fix NULL deref in macvlan device event, from Taehee Yoo.
      
      12) Initialize lan87xx phy correctly, from Yuiko Oshino.
      
      13) Fix looping between VRF and XFRM lookups, from David Ahern.
      
      14) etf packet scheduler assumes all sockets are full sockets, which is
          not necessarily true. From Eric Dumazet.
      
      15) Fix mptcp data_fin handling in RX path, from Paolo Abeni.
      
      16) fib_select_default() needs to handle nexthop objects, from David
          Ahern.
      
      17) Use GFP_ATOMIC under spinlock in mac80211_hwsim, from Wei Yongjun.
      
      18) vxlan and geneve use wrong nlattr array, from Sabrina Dubroca.
      
      19) Correct rx/tx stats in bcmgenet driver, from Doug Berger.
      
      20) BPF_LDX zero-extension is encoded improperly in x86_32 bpf jit, fix
          from Luke Nelson.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (100 commits)
        selftests/bpf: Fix a couple of broken test_btf cases
        tools/runqslower: Ensure own vmlinux.h is picked up first
        bpf: Make bpf_link_fops static
        bpftool: Respect the -d option in struct_ops cmd
        selftests/bpf: Add test for freplace program with expected_attach_type
        bpf: Propagate expected_attach_type when verifying freplace programs
        bpf: Fix leak in LINK_UPDATE and enforce empty old_prog_fd
        bpf, x86_32: Fix logic error in BPF_LDX zero-extension
        bpf, x86_32: Fix clobbering of dst for BPF_JSET
        bpf, x86_32: Fix incorrect encoding in BPF_LDX zero-extension
        bpf: Fix reStructuredText markup
        net: systemport: suppress warnings on failed Rx SKB allocations
        net: bcmgenet: suppress warnings on failed Rx SKB allocations
        macsec: avoid to set wrong mtu
        mac80211: sta_info: Add lockdep condition for RCU list usage
        mac80211: populate debugfs only after cfg80211 init
        net: bcmgenet: correct per TX/RX ring statistics
        net: meth: remove spurious copyright text
        net: phy: bcm84881: clear settings on link down
        chcr: Fix CPU hard lockup
        ...
      ab51cac0
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf · 167ff131
      David S. Miller authored
      
      
      Alexei Starovoitov says:
      
      ====================
      pull-request: bpf 2020-04-24
      
      The following pull-request contains BPF updates for your *net* tree.
      
      We've added 17 non-merge commits during the last 5 day(s) which contain
      a total of 19 files changed, 203 insertions(+), 85 deletions(-).
      
      The main changes are:
      
      1) link_update fix, from Andrii.
      
      2) libbpf get_xdp_id fix, from David.
      
      3) xadd verifier fix, from Jann.
      
      4) x86-32 JIT fixes, from Luke and Wang.
      
      5) test_btf fix, from Stanislav.
      
      6) freplace verifier fix, from Toke.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      167ff131
    • Stanislav Fomichev's avatar
      selftests/bpf: Fix a couple of broken test_btf cases · e1cebd84
      Stanislav Fomichev authored
      Commit 51c39bb1 ("bpf: Introduce function-by-function verification")
      introduced function linkage flag and changed the error message from
      "vlen != 0" to "Invalid func linkage" and broke some fake BPF programs.
      
      Adjust the test accordingly.
      
      AFACT, the programs don't really need any arguments and only look
      at BTF for maps, so let's drop the args altogether.
      
      Before:
      BTF raw test[103] (func (Non zero vlen)): do_test_raw:3703:FAIL expected
      err_str:vlen != 0
      magic: 0xeb9f
      version: 1
      flags: 0x0
      hdr_len: 24
      type_off: 0
      type_len: 72
      str_off: 72
      str_len: 10
      btf_total_size: 106
      [1] INT (anon) size=4 bits_offset=0 nr_bits=32 encoding=SIGNED
      [2] INT (anon) size=4 bits_offset=0 nr_bits=32 encoding=(none)
      [3] FUNC_PROTO (anon) return=0 args=(1 a, 2 b)
      [4] FUNC func type_id=3 Invalid func linkage
      
      BTF libbpf test[1] (test_btf_haskv.o): libbpf: load bpf program failed:
      Invalid argument
      libbpf: -- BEGIN DUMP LOG ---
      libbpf:
      Validating test_long_fname_2() func#1...
      Arg#0 type PTR in test_long_fname_2() is not supported yet.
      processed 0 insns (limit 1000000) max_states_per_insn 0 total_states 0
      peak_states 0 mark_read 0
      
      libbpf: -- END LOG --
      libbpf: failed to load program 'dummy_tracepoint'
      libbpf: failed to load object 'test_btf_haskv.o'
      do_test_file:4201:FAIL bpf_object__load: -4007
      BTF libbpf test[2] (test_btf_newkv.o): libbpf: load bpf program failed:
      Invalid argument
      libbpf: -- BEGIN DUMP LOG ---
      libbpf:
      Validating test_long_fname_2() func#1...
      Arg#0 type PTR in test_long_fname_2() is not supported yet.
      processed 0 insns (limit 1000000) max_states_per_insn 0 total_states 0
      peak_states 0 mark_read 0
      
      libbpf: -- END LOG --
      libbpf: failed to load program 'dummy_tracepoint'
      libbpf: failed to load object 'test_btf_newkv.o'
      do_test_file:4201:FAIL bpf_object__load: -4007
      BTF libbpf test[3] (test_btf_nokv.o): libbpf: load bpf program failed:
      Invalid argument
      libbpf: -- BEGIN DUMP LOG ---
      libbpf:
      Validating test_long_fname_2() func#1...
      Arg#0 type PTR in test_long_fname_2() is not supported yet.
      processed 0 insns (limit 1000000) max_states_per_insn 0 total_states 0
      peak_states 0 mark_read 0
      
      libbpf: -- END LOG --
      libbpf: failed to load program 'dummy_tracepoint'
      libbpf: failed to load object 'test_btf_nokv.o'
      do_test_file:4201:FAIL bpf_object__load: -4007
      
      Fixes: 51c39bb1
      
       ("bpf: Introduce function-by-function verification")
      Signed-off-by: default avatarStanislav Fomichev <sdf@google.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Link: https://lore.kernel.org/bpf/20200422003753.124921-1-sdf@google.com
      e1cebd84
    • Andrii Nakryiko's avatar
      tools/runqslower: Ensure own vmlinux.h is picked up first · dfc55ace
      Andrii Nakryiko authored
      
      
      Reorder include paths to ensure that runqslower sources are picking up
      vmlinux.h, generated by runqslower's own Makefile. When runqslower is built
      from selftests/bpf, due to current -I$(BPF_INCLUDE) -I$(OUTPUT) ordering, it
      might pick up not-yet-complete vmlinux.h, generated by selftests Makefile,
      which could lead to compilation errors like [0]. So ensure that -I$(OUTPUT)
      goes first and rely on runqslower's Makefile own dependency chain to ensure
      vmlinux.h is properly completed before source code relying on it is compiled.
      
        [0] https://travis-ci.org/github/libbpf/libbpf/jobs/677905925
      
      Signed-off-by: default avatarAndrii Nakryiko <andriin@fb.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Link: https://lore.kernel.org/bpf/20200422012407.176303-1-andriin@fb.com
      dfc55ace
    • Zou Wei's avatar
      bpf: Make bpf_link_fops static · 6f302bfb
      Zou Wei authored
      
      
      Fix the following sparse warning:
      
      kernel/bpf/syscall.c:2289:30: warning: symbol 'bpf_link_fops' was not declared. Should it be static?
      
      Reported-by: default avatarHulk Robot <hulkci@huawei.com>
      Signed-off-by: default avatarZou Wei <zou_wei@huawei.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Acked-by: default avatarAndrii Nakryiko <andriin@fb.com>
      Link: https://lore.kernel.org/bpf/1587609160-117806-1-git-send-email-zou_wei@huawei.com
      6f302bfb
    • Martin KaFai Lau's avatar
      bpftool: Respect the -d option in struct_ops cmd · 32e4c6f4
      Martin KaFai Lau authored
      In the prog cmd, the "-d" option turns on the verifier log.
      This is missed in the "struct_ops" cmd and this patch fixes it.
      
      Fixes: 65c93628
      
       ("bpftool: Add struct_ops support")
      Signed-off-by: default avatarMartin KaFai Lau <kafai@fb.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Reviewed-by: default avatarQuentin Monnet <quentin@isovalent.com>
      Link: https://lore.kernel.org/bpf/20200424182911.1259355-1-kafai@fb.com
      32e4c6f4
    • Toke Høiland-Jørgensen's avatar
      selftests/bpf: Add test for freplace program with expected_attach_type · 1d8a0af5
      Toke Høiland-Jørgensen authored
      
      
      This adds a new selftest that tests the ability to attach an freplace
      program to a program type that relies on the expected_attach_type of the
      target program to pass verification.
      
      Signed-off-by: default avatarToke Høiland-Jørgensen <toke@redhat.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Link: https://lore.kernel.org/bpf/158773526831.293902.16011743438619684815.stgit@toke.dk
      1d8a0af5
    • Toke Høiland-Jørgensen's avatar
      bpf: Propagate expected_attach_type when verifying freplace programs · 03f87c0b
      Toke Høiland-Jørgensen authored
      For some program types, the verifier relies on the expected_attach_type of
      the program being verified in the verification process. However, for
      freplace programs, the attach type was not propagated along with the
      verifier ops, so the expected_attach_type would always be zero for freplace
      programs.
      
      This in turn caused the verifier to sometimes make the wrong call for
      freplace programs. For all existing uses of expected_attach_type for this
      purpose, the result of this was only false negatives (i.e., freplace
      functions would be rejected by the verifier even though they were valid
      programs for the target they were replacing). However, should a false
      positive be introduced, this can lead to out-of-bounds accesses and/or
      crashes.
      
      The fix introduced in this patch is to propagate the expected_attach_type
      to the freplace program during verification, and reset it after that is
      done.
      
      Fixes: be8704ff
      
       ("bpf: Introduce dynamic program extensions")
      Signed-off-by: default avatarToke Høiland-Jørgensen <toke@redhat.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Link: https://lore.kernel.org/bpf/158773526726.293902.13257293296560360508.stgit@toke.dk
      03f87c0b
    • Andrii Nakryiko's avatar
      bpf: Fix leak in LINK_UPDATE and enforce empty old_prog_fd · 4adb7a4a
      Andrii Nakryiko authored
      
      
      Fix bug of not putting bpf_link in LINK_UPDATE command.
      Also enforce zeroed old_prog_fd if no BPF_F_REPLACE flag is specified.
      
      Signed-off-by: default avatarAndrii Nakryiko <andriin@fb.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Link: https://lore.kernel.org/bpf/20200424052045.4002963-1-andriin@fb.com
      4adb7a4a
    • Wang YanQing's avatar
      bpf, x86_32: Fix logic error in BPF_LDX zero-extension · 5ca1ca01
      Wang YanQing authored
      When verifier_zext is true, we don't need to emit code
      for zero-extension.
      
      Fixes: 836256bf
      
       ("x32: bpf: eliminate zero extension code-gen")
      Signed-off-by: default avatarWang YanQing <udknight@gmail.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Link: https://lore.kernel.org/bpf/20200423050637.GA4029@udknight
      5ca1ca01
    • Luke Nelson's avatar
      bpf, x86_32: Fix clobbering of dst for BPF_JSET · 50fe7ebb
      Luke Nelson authored
      The current JIT clobbers the destination register for BPF_JSET BPF_X
      and BPF_K by using "and" and "or" instructions. This is fine when the
      destination register is a temporary loaded from a register stored on
      the stack but not otherwise.
      
      This patch fixes the problem (for both BPF_K and BPF_X) by always loading
      the destination register into temporaries since BPF_JSET should not
      modify the destination register.
      
      This bug may not be currently triggerable as BPF_REG_AX is the only
      register not stored on the stack and the verifier uses it in a limited
      way.
      
      Fixes: 03f5781b
      
       ("bpf, x86_32: add eBPF JIT compiler for ia32")
      Signed-off-by: default avatarXi Wang <xi.wang@gmail.com>
      Signed-off-by: default avatarLuke Nelson <luke.r.nels@gmail.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Acked-by: default avatarWang YanQing <udknight@gmail.com>
      Link: https://lore.kernel.org/bpf/20200422173630.8351-2-luke.r.nels@gmail.com
      50fe7ebb
    • Luke Nelson's avatar
      bpf, x86_32: Fix incorrect encoding in BPF_LDX zero-extension · 5fa9a98f
      Luke Nelson authored
      The current JIT uses the following sequence to zero-extend into the
      upper 32 bits of the destination register for BPF_LDX BPF_{B,H,W},
      when the destination register is not on the stack:
      
        EMIT3(0xC7, add_1reg(0xC0, dst_hi), 0);
      
      The problem is that C7 /0 encodes a MOV instruction that requires a 4-byte
      immediate; the current code emits only 1 byte of the immediate. This
      means that the first 3 bytes of the next instruction will be treated as
      the rest of the immediate, breaking the stream of instructions.
      
      This patch fixes the problem by instead emitting "xor dst_hi,dst_hi"
      to clear the upper 32 bits. This fixes the problem and is more efficient
      than using MOV to load a zero immediate.
      
      This bug may not be currently triggerable as BPF_REG_AX is the only
      register not stored on the stack and the verifier uses it in a limited
      way, and the verifier implements a zero-extension optimization. But the
      JIT should avoid emitting incorrect encodings regardless.
      
      Fixes: 03f5781b
      
       ("bpf, x86_32: add eBPF JIT compiler for ia32")
      Signed-off-by: default avatarXi Wang <xi.wang@gmail.com>
      Signed-off-by: default avatarLuke Nelson <luke.r.nels@gmail.com>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Reviewed-by: default avatarH. Peter Anvin (Intel) <hpa@zytor.com>
      Acked-by: default avatarWang YanQing <udknight@gmail.com>
      Link: https://lore.kernel.org/bpf/20200422173630.8351-1-luke.r.nels@gmail.com
      5fa9a98f
    • Jakub Wilk's avatar
      bpf: Fix reStructuredText markup · a33d3147
      Jakub Wilk authored
      
      
      The patch fixes:
      $ scripts/bpf_helpers_doc.py > bpf-helpers.rst
      $ rst2man bpf-helpers.rst > bpf-helpers.7
      bpf-helpers.rst:1105: (WARNING/2) Inline strong start-string without end-string.
      
      Signed-off-by: default avatarJakub Wilk <jwilk@jwilk.net>
      Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Reviewed-by: default avatarQuentin Monnet <quentin@isovalent.com>
      Link: https://lore.kernel.org/bpf/20200422082324.2030-1-jwilk@jwilk.net
      a33d3147
    • Doug Berger's avatar
      net: systemport: suppress warnings on failed Rx SKB allocations · 3554e54a
      Doug Berger authored
      
      
      The driver is designed to drop Rx packets and reclaim the buffers
      when an allocation fails, and the network interface needs to safely
      handle this packet loss. Therefore, an allocation failure of Rx
      SKBs is relatively benign.
      
      However, the output of the warning message occurs with a high
      scheduling priority that can cause excessive jitter/latency for
      other high priority processing.
      
      This commit suppresses the warning messages to prevent scheduling
      problems while retaining the failure count in the statistics of
      the network interface.
      
      Signed-off-by: default avatarDoug Berger <opendmb@gmail.com>
      Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3554e54a
    • Doug Berger's avatar
      net: bcmgenet: suppress warnings on failed Rx SKB allocations · ecaeceb8
      Doug Berger authored
      
      
      The driver is designed to drop Rx packets and reclaim the buffers
      when an allocation fails, and the network interface needs to safely
      handle this packet loss. Therefore, an allocation failure of Rx
      SKBs is relatively benign.
      
      However, the output of the warning message occurs with a high
      scheduling priority that can cause excessive jitter/latency for
      other high priority processing.
      
      This commit suppresses the warning messages to prevent scheduling
      problems while retaining the failure count in the statistics of
      the network interface.
      
      Signed-off-by: default avatarDoug Berger <opendmb@gmail.com>
      Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ecaeceb8
    • Taehee Yoo's avatar
      macsec: avoid to set wrong mtu · 7f327080
      Taehee Yoo authored
      When a macsec interface is created, the mtu is calculated with the lower
      interface's mtu value.
      If the mtu of lower interface is lower than the length, which is needed
      by macsec interface, macsec's mtu value will be overflowed.
      So, if the lower interface's mtu is too low, macsec interface's mtu
      should be set to 0.
      
      Test commands:
          ip link add dummy0 mtu 10 type dummy
          ip link add macsec0 link dummy0 type macsec
          ip link show macsec0
      
      Before:
          11: macsec0@dummy0: <BROADCAST,MULTICAST,M-DOWN> mtu 4294967274
      After:
          11: macsec0@dummy0: <BROADCAST,MULTICAST,M-DOWN> mtu 0
      
      Fixes: c09440f7
      
       ("macsec: introduce IEEE 802.1AE driver")
      Signed-off-by: default avatarTaehee Yoo <ap420073@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7f327080
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 5ef58e29
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Two minor fixes: one to update a Kconfig reference and the other to
        fix a resource leak on an error path in sg"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: Update referenced link to cdrtools
        scsi: sg: add sg_remove_request in sg_write
      5ef58e29
    • Douglas Anderson's avatar
      dt-bindings: phy: qcom-qusb2: Fix defaults · 4bc77b2d
      Douglas Anderson authored
      The defaults listed in the bindings don't match what the code is
      actually doing.  Presumably existing users care more about keeping
      existing behavior the same, so change the bindings to match the code
      in Linux.
      
      The "qcom,preemphasis-level" default has been wrong for quite a long
      time (May 2018).  The other two were recently added.
      
      As some evidence that these values are wrong, this is from the Linux
      driver:
      - qcom,preemphasis-level: sets "PORT_TUNE1", lower 2 bits.  Driver
        programs PORT_TUNE1 to 0x30 by default and (0x30 & 0x3) = 0.
      - qcom,bias-ctrl-value: sets "PLL_BIAS_CONTROL_2", lower 6 bits.
        Driver programs PLL_BIAS_CONTROL_2 to 0x20 by default and (0x20 &
        0x3f) = 0x20 = 32.
      - qcom,hsdisc-trim-value: sets "PORT_TUNE2", lower 2 bits.  Driver
        programs PORT_TUNE2 to 0x29 by default and (0x29 & 0x3) = 1.
      
      Fixes: 1e6f134e ("dt-bindings: phy: qcom-qusb2: Add support for overriding Phy tuning parameters")
      Fixes: a8b70ccf
      
       ("dt-bindings: phy-qcom-usb2: Add support to override tuning values")
      Signed-off-by: default avatarDouglas Anderson <dianders@chromium.org>
      Reviewed-by: default avatarMatthias Kaehlcke <mka@chromium.org>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      4bc77b2d
    • Rob Herring's avatar
      dt-bindings: Fix erroneous 'additionalProperties' · 2bdfd4fb
      Rob Herring authored
      
      
      There's several cases of json-schema 'additionalProperties' at the wrong
      indentation level which has the effect of making them DT properties. This
      is harmless, but let's fix them so a meta-schema check for this can be
      added.
      
      In all the cases, either the 'additionalProperties' was extra or doesn't
      work because there's a $ref to more properties. In the latter case, we
      can use 'unevaluatedProperties' instead.
      
      Reported-by: default avatarIskren Chernev <iskren.chernev@gmail.com>
      Cc: Lee Jones <lee.jones@linaro.org>
      Cc: Saravanan Sekar <sravanhome@gmail.com>
      Cc: Liam Girdwood <lgirdwood@gmail.com>
      Acked-by: default avatarMark Brown <broonie@kernel.org>
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      2bdfd4fb
    • Eric W. Biederman's avatar
      proc: Put thread_pid in release_task not proc_flush_pid · 6ade99ec
      Eric W. Biederman authored
      Oleg pointed out that in the unlikely event the kernel is compiled
      with CONFIG_PROC_FS unset that release_task will now leak the pid.
      
      Move the put_pid out of proc_flush_pid into release_task to fix this
      and to guarantee I don't make that mistake again.
      
      When possible it makes sense to keep get and put in the same function
      so it can easily been seen how they pair up.
      
      Fixes: 7bc3e6e5
      
       ("proc: Use a list of inodes to flush from proc")
      Reported-by: default avatarOleg Nesterov <oleg@redhat.com>
      Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      6ade99ec
    • Linus Torvalds's avatar
      Merge tag 'pm-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 8e9ccd0f
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "Restore an optimization related to asynchronous suspend and resume of
        devices during system-wide power transitions that was disabled by
        mistake (Kai-Heng Feng) and update the pm-graph suite of power
        management utilities (Todd Brandt)"
      
      * tag 'pm-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PM: sleep: core: Switch back to async_schedule_dev()
        pm-graph v5.6
      8e9ccd0f
    • Linus Torvalds's avatar
      Merge tag 'pnp-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 5be35f7f
      Linus Torvalds authored
      Pull PNP cleanup from Rafael Wysocki:
       "Make the PNP code use list_for_each_entry() in a few places instead of
        open-coding it (Jason Gunthorpe)"
      
      * tag 'pnp-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        pnp: Use list_for_each_entry() instead of open coding
      5be35f7f
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 9dc5d985
      Linus Torvalds authored
      Pull ACPI fixes from Rafael Wysocki:
       "Drop a lid status quirk for Asus T200TA that is not necessary any more
        and clean up a resource management inconsistency in the PCI IRQ link
        configuration code.
      
        Both changes from Hans de Goede"
      
      * tag 'acpi-5.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: button: Drop no longer necessary Asus T200TA lid_init_state quirk
        ACPI/PCI: pci_link: use extended_irq union member when setting ext-irq shareable
      9dc5d985