1. Mar 11, 2022
    • Alex Elder's avatar
      net: ipa: kill struct ipa_interconnect · c7be12fa
      Alex Elder authored
      
      
      The ipa_interconnect structure contains an icc_path pointer, plus an
      average and peak bandwidth value.  Other than the interconnect name,
      this matches the icc_bulk_data structure exactly.
      
      Use the icc_bulk_data structure in place of the ipa_interconnect
      structure, and add an initialization of its name field.  Then get
      rid of the now unnecessary ipa_interconnect structure definition.
      
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      c7be12fa
    • Jonathan Lemon's avatar
      ptp: ocp: add UPF_NO_THRE_TEST flag for serial ports · c17c4059
      Jonathan Lemon authored
      
      
      The serial port driver attempts to test for correct THRE behavior
      on startup.  However, it does this by disabling interrupts, and
      then intentionally trying to trigger an interrupt in order to see
      if the IIR bit is set in the UART.
      
      However, in this FPGA design, the UART interrupt is generated
      through the MSI vector, so when interrupts are re-enabled after
      the test, the DMAR-IR reports an unhandled IRTE entry, since
      no irq handler is installed at this point - it is installed
      after the test.
      
      This only happens on the /second/ open of the UART, since on the
      first open, the x86_vector has installed and activated by the
      driver probe, and is correctly handled.  When the serial port is
      closed for the first time, this vector is deactivated and removed,
      leading to this error.
      
      Signed-off-by: default avatarJonathan Lemon <jonathan.lemon@gmail.com>
      Link: https://lore.kernel.org/r/20220309223427.34745-1-jonathan.lemon@gmail.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      c17c4059
    • Yinjun Zhang's avatar
      nfp: xsk: fix a warning when allocating rx rings · 87ed3de6
      Yinjun Zhang authored
      Previous commits introduced AF_XDP zero-copy support, in which
      we need register different mem model for xdp_rxq when AF_XDP
      zero-copy is enabled or not. And this should be done after xdp_rxq
      info is registered, which is not needed for ctrl port, otherwise
      there complaints warnings: "Missing register, driver bug".
      
      Fix this by not registering mem model for ctrl port, just like we
      don't register xdp_rxq info for ctrl port.
      
      Fixes: 6402528b
      
       ("nfp: xsk: add AF_XDP zero-copy Rx and Tx support")
      Signed-off-by: default avatarYinjun Zhang <yinjun.zhang@corigine.com>
      Reviewed-by: default avatarNiklas Söderlund <niklas.soderlund@corigine.com>
      Signed-off-by: default avatarSimon Horman <simon.horman@corigine.com>
      Link: https://lore.kernel.org/r/20220309135533.10162-1-simon.horman@corigine.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      87ed3de6
    • Jakub Kicinski's avatar
      Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue · 4c7d2e17
      Jakub Kicinski authored
      Tony Nguyen says:
      
      ====================
      100GbE Intel Wired LAN Driver Updates 2022-03-09
      
      This series contains updates to ice driver only.
      
      Martyna implements switchdev filtering on inner EtherType field for
      tunnels.
      
      Marcin adds reporting of slowpath statistics for port representors.
      
      Jonathan Toppins changes a non-fatal link error message from warning to
      debug.
      
      Maciej removes unnecessary checks in ice_clean_tx_irq().
      
      Amritha adds support for ADQ to match outer destination MAC for tunnels.
      
      * '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue:
        ice: Add support for outer dest MAC for ADQ tunnels
        ice: avoid XDP checks in ice_clean_tx_irq()
        ice: change "can't set link" message to dbg level
        ice: Add slow path offload stats on port representor in switchdev
        ice: Add support for inner etype in switchdev
      ====================
      
      Link: https://lore.kernel.org/r/20220309190315.1380414-1-anthony.l.nguyen@intel.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      4c7d2e17
    • Jakub Kicinski's avatar
      Merge branch 'net-control-the-length-of-the-altname-list' · 46224853
      Jakub Kicinski authored
      Jakub Kicinski says:
      
      ====================
      net: control the length of the altname list
      
      Count the memory used for altnames and don't let user
      overflow the property nlattr. This was reported by George:
      https://lore.kernel.org/all/3e564baf-a1dd-122e-2882-ff143f7eb578@gmail.com/
      ====================
      
      Link: https://lore.kernel.org/r/20220309182914.423834-1-kuba@kernel.org
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      46224853
    • Jakub Kicinski's avatar
      net: limit altnames to 64k total · 155fb43b
      Jakub Kicinski authored
      
      
      Property list (altname is a link "property") is wrapped
      in a nlattr. nlattrs length is 16bit so practically
      speaking the list of properties can't be longer than
      that, otherwise user space would have to interpret
      broken netlink messages.
      
      Prevent the problem from occurring by checking the length
      of the property list before adding new entries.
      
      Reported-by: default avatarGeorge Shuklin <george.shuklin@gmail.com>
      Reviewed-by: default avatarDavid Ahern <dsahern@kernel.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      155fb43b
    • Jakub Kicinski's avatar
      net: account alternate interface name memory · 5d26cff5
      Jakub Kicinski authored
      
      
      George reports that altnames can eat up kernel memory.
      We should charge that memory appropriately.
      
      Reported-by: default avatarGeorge Shuklin <george.shuklin@gmail.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      5d26cff5
    • Ilya Maximets's avatar
      net: openvswitch: fix uAPI incompatibility with existing user space · 1926407a
      Ilya Maximets authored
      Few years ago OVS user space made a strange choice in the commit [1]
      to define types only valid for the user space inside the copy of a
      kernel uAPI header.  '#ifndef __KERNEL__' and another attribute was
      added later.
      
      This leads to the inevitable clash between user space and kernel types
      when the kernel uAPI is extended.  The issue was unveiled with the
      addition of a new type for IPv6 extension header in kernel uAPI.
      
      When kernel provides the OVS_KEY_ATTR_IPV6_EXTHDRS attribute to the
      older user space application, application tries to parse it as
      OVS_KEY_ATTR_PACKET_TYPE and discards the whole netlink message as
      malformed.  Since OVS_KEY_ATTR_IPV6_EXTHDRS is supplied along with
      every IPv6 packet that goes to the user space, IPv6 support is fully
      broken.
      
      Fixing that by bringing these user space attributes to the kernel
      uAPI to avoid the clash.  Strictly speaking this is not the problem
      of the kernel uAPI, but changing it is the only way to avoid breakage
      of the older user space applications at this point.
      
      These 2 types are explicitly rejected now since they should not be
      passed to the kernel.  Additionally, OVS_KEY_ATTR_TUNNEL_INFO moved
      out from the '#ifdef __KERNEL__' as there is no good reason to hide
      it from the userspace.  And it's also explicitly rejected now, because
      it's for in-kernel use only.
      
      Comments with warnings were added to avoid the problem coming back.
      
      (1 << type) converted to (1ULL << type) to avoid integer overflow on
      OVS_KEY_ATTR_IPV6_EXTHDRS, since it equals 32 now.
      
       [1] beb75a40fdc2 ("userspace: Switching of L3 packets in L2 pipeline")
      
      Fixes: 28a3f060 ("net: openvswitch: IPv6: Add IPv6 extension header support")
      Link: https://lore.kernel.org/netdev/3adf00c7-fe65-3ef4-b6d7-6d8a0cad8a5f@nvidia.com
      Link: https://github.com/openvswitch/ovs/commit/beb75a40fdc295bfd6521b0068b4cd12f6de507c
      
      
      Reported-by: default avatarRoi Dayan <roid@nvidia.com>
      Signed-off-by: default avatarIlya Maximets <i.maximets@ovn.org>
      Acked-by: default avatarNicolas Dichtel <nicolas.dichtel@6wind.com>
      Acked-by: default avatarAaron Conole <aconole@redhat.com>
      Link: https://lore.kernel.org/r/20220309222033.3018976-1-i.maximets@ovn.org
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      1926407a
    • Aleksander Jan Bajkowski's avatar
      net: dsa: lantiq_gswip: enable jumbo frames on GSWIP · c40bb4fe
      Aleksander Jan Bajkowski authored
      
      
      This enables non-standard MTUs on a per-port basis, with the overall
      frame size set based on the CPU port.
      
      When the MTU is not changed, this should have no effect.
      
      Long packets crash the switch with MTUs of greater than 2526, so the
      maximum is limited for now. Medium packets are sometimes dropped (e.g.
      TCP over 2477, UDP over 2516-2519, ICMP over 2526), Hence an MTU value
      of 2400 seems safe.
      
      Signed-off-by: default avatarThomas Nixon <tom@tomn.co.uk>
      Signed-off-by: default avatarAleksander Jan Bajkowski <olek2@wp.pl>
      Link: https://lore.kernel.org/r/20220308230457.1599237-1-olek2@wp.pl
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      c40bb4fe
    • Jakub Kicinski's avatar
      Merge tag 'linux-can-next-for-5.18-20220310' of... · 8bed3d02
      Jakub Kicinski authored
      Merge tag 'linux-can-next-for-5.18-20220310' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next
      
      Marc Kleine-Budde says:
      
      ====================
      pull-request: can-next 2022-03-10
      
      The first 3 patches are by Oliver Hartkopp, target the CAN ISOTP
      protocol and update the CAN frame sending behavior, and increases the
      max PDU size to 64 kByte.
      
      The next 2 patches are also by Oliver Hartkopp and update the virtual
      VXCAN driver so that CAN frames send into the peer name space show up
      as RX'ed CAN frames.
      
      Vincent Mailhol contributes a patch for the etas_es58x driver to fix a
      false positive dereference uninitialized variable warning.
      
      2 patches by Ulrich Hecht add r8a779a0 SoC support to the rcar_canfd
      driver.
      
      The remaining 21 patches target the gs_usb driver and are by Peter
      Fink, Ben Evans, Eric Evenchick and me. This series cleans up the
      gs-usb driver, documents some bits of the USB ABI used by the widely
      used open source firmware candleLight, adds support for up to 3 CAN
      interfaces per USB device, adds CAN-FD support, adds quirks for some
      hardware and software workarounds and finally adds support for 2 new
      devices.
      
      * tag 'linux-can-next-for-5.18-20220310' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next: (29 commits)
        can: gs_usb: add VID/PID for ABE CAN Debugger devices
        can: gs_usb: add VID/PID for CES CANext FD devices
        can: gs_usb: add extended bt_const feature
        can: gs_usb: activate quirks for CANtact Pro unconditionally
        can: gs_usb: add quirk for CANtact Pro overlapping GS_USB_BREQ value
        can: gs_usb: add usb quirk for NXP LPC546xx controllers
        can: gs_usb: add CAN-FD support
        can: gs_usb: use union and FLEX_ARRAY for data in struct gs_host_frame
        can: gs_usb: support up to 3 channels per device
        can: gs_usb: gs_usb_probe(): introduce udev and make use of it
        can: gs_usb: document the PAD_PKTS_TO_MAX_PKT_SIZE feature
        can: gs_usb: document the USER_ID feature
        can: gs_usb: update GS_CAN_FEATURE_IDENTIFY documentation
        can: gs_usb: add HW timestamp mode bit
        can: gs_usb: gs_make_candev(): call SET_NETDEV_DEV() after handling all bt_const->feature
        can: gs_usb: rewrap usb_control_msg() and usb_fill_bulk_urb()
        can: gs_usb: rewrap error messages
        can: gs_usb: GS_CAN_FLAG_OVERFLOW: make use of BIT()
        can: gs_usb: sort include files alphabetically
        can: gs_usb: fix checkpatch warning
        ...
      ====================
      
      Link: https://lore.kernel.org/r/20220310142903.341658-1-mkl@pengutronix.de
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      8bed3d02
    • Jakub Kicinski's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 1e8a3f0d
      Jakub Kicinski authored
      net/dsa/dsa2.c
        commit afb3cc1a ("net: dsa: unlock the rtnl_mutex when dsa_master_setup() fails")
        commit e83d5653 ("net: dsa: replay master state events in dsa_tree_{setup,teardown}_master")
      https://lore.kernel.org/all/20220307101436.7ae87da0@canb.auug.org.au/
      
      drivers/net/ethernet/intel/ice/ice.h
        commit 97b01291 ("ice: Fix error with handling of bonding MTU")
        commit 43113ff7 ("ice: add TTY for GNSS module for E810T device")
      https://lore.kernel.org/all/20220310112843.3233bcf1@canb.auug.org.au/
      
      drivers/staging/gdm724x/gdm_lte.c
        commit fc7f750d ("staging: gdm724x: fix use after free in gdm_lte_rx()")
        commit 4bcc4249 ("staging: Use netif_rx().")
      https://lore.kernel.org/all/20220308111043.1018a59d@canb.auug.org.au/
      
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      1e8a3f0d
    • Linus Torvalds's avatar
      Merge tag 'net-5.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 186d32bb
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from bluetooth, and ipsec.
      
        Current release - regressions:
      
         - Bluetooth: fix unbalanced unlock in set_device_flags()
      
         - Bluetooth: fix not processing all entries on cmd_sync_work, make
           connect with qualcomm and intel adapters reliable
      
         - Revert "xfrm: state and policy should fail if XFRMA_IF_ID 0"
      
         - xdp: xdp_mem_allocator can be NULL in trace_mem_connect()
      
         - eth: ice: fix race condition and deadlock during interface enslave
      
        Current release - new code bugs:
      
         - tipc: fix incorrect order of state message data sanity check
      
        Previous releases - regressions:
      
         - esp: fix possible buffer overflow in ESP transformation
      
         - dsa: unlock the rtnl_mutex when dsa_master_setup() fails
      
         - phy: meson-gxl: fix interrupt handling in forced mode
      
         - smsc95xx: ignore -ENODEV errors when device is unplugged
      
        Previous releases - always broken:
      
         - xfrm: fix tunnel mode fragmentation behavior
      
         - esp: fix inter address family tunneling on GSO
      
         - tipc: fix null-deref due to race when enabling bearer
      
         - sctp: fix kernel-infoleak for SCTP sockets
      
         - eth: macb: fix lost RX packet wakeup race in NAPI receive
      
         - eth: intel stop disabling VFs due to PF error responses
      
         - eth: bcmgenet: don't claim WOL when its not available"
      
      * tag 'net-5.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (50 commits)
        xdp: xdp_mem_allocator can be NULL in trace_mem_connect().
        ice: Fix race condition during interface enslave
        net: phy: meson-gxl: improve link-up behavior
        net: bcmgenet: Don't claim WOL when its not available
        net: arc_emac: Fix use after free in arc_mdio_probe()
        sctp: fix kernel-infoleak for SCTP sockets
        net: phy: correct spelling error of media in documentation
        net: phy: DP83822: clear MISR2 register to disable interrupts
        gianfar: ethtool: Fix refcount leak in gfar_get_ts_info
        selftests: pmtu.sh: Kill nettest processes launched in subshell.
        selftests: pmtu.sh: Kill tcpdump processes launched by subshell.
        NFC: port100: fix use-after-free in port100_send_complete
        net/mlx5e: SHAMPO, reduce TIR indication
        net/mlx5e: Lag, Only handle events from highest priority multipath entry
        net/mlx5: Fix offloading with ESWITCH_IPV4_TTL_MODIFY_ENABLE
        net/mlx5: Fix a race on command flush flow
        net/mlx5: Fix size field in bufferx_reg struct
        ax25: Fix NULL pointer dereference in ax25_kill_by_device
        net: marvell: prestera: Add missing of_node_put() in prestera_switch_set_base_mac_addr
        net: ethernet: lpc_eth: Handle error for clk_enable
        ...
      186d32bb
    • Sebastian Andrzej Siewior's avatar
      xdp: xdp_mem_allocator can be NULL in trace_mem_connect(). · e0ae7130
      Sebastian Andrzej Siewior authored
      Since the commit mentioned below __xdp_reg_mem_model() can return a NULL
      pointer. This pointer is dereferenced in trace_mem_connect() which leads
      to segfault.
      
      The trace points (mem_connect + mem_disconnect) were put in place to
      pair connect/disconnect using the IDs. The ID is only assigned if
      __xdp_reg_mem_model() does not return NULL. That connect trace point is
      of no use if there is no ID.
      
      Skip that connect trace point if xdp_alloc is NULL.
      
      [ Toke Høiland-Jørgensen delivered the reasoning for skipping the trace
        point ]
      
      Fixes: 4a48ef70
      
       ("xdp: Allow registering memory model without rxq reference")
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Acked-by: default avatarToke Høiland-Jørgensen <toke@redhat.com>
      Link: https://lore.kernel.org/r/YikmmXsffE+QajTB@linutronix.de
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      e0ae7130
    • Ivan Vecera's avatar
      ice: Fix race condition during interface enslave · 5cb1ebdb
      Ivan Vecera authored
      Commit 5dbbbd01
      
       ("ice: Avoid RTNL lock when re-creating
      auxiliary device") changes a process of re-creation of aux device
      so ice_plug_aux_dev() is called from ice_service_task() context.
      This unfortunately opens a race window that can result in dead-lock
      when interface has left LAG and immediately enters LAG again.
      
      Reproducer:
      ```
      #!/bin/sh
      
      ip link add lag0 type bond mode 1 miimon 100
      ip link set lag0
      
      for n in {1..10}; do
              echo Cycle: $n
              ip link set ens7f0 master lag0
              sleep 1
              ip link set ens7f0 nomaster
      done
      ```
      
      This results in:
      [20976.208697] Workqueue: ice ice_service_task [ice]
      [20976.213422] Call Trace:
      [20976.215871]  __schedule+0x2d1/0x830
      [20976.219364]  schedule+0x35/0xa0
      [20976.222510]  schedule_preempt_disabled+0xa/0x10
      [20976.227043]  __mutex_lock.isra.7+0x310/0x420
      [20976.235071]  enum_all_gids_of_dev_cb+0x1c/0x100 [ib_core]
      [20976.251215]  ib_enum_roce_netdev+0xa4/0xe0 [ib_core]
      [20976.256192]  ib_cache_setup_one+0x33/0xa0 [ib_core]
      [20976.261079]  ib_register_device+0x40d/0x580 [ib_core]
      [20976.266139]  irdma_ib_register_device+0x129/0x250 [irdma]
      [20976.281409]  irdma_probe+0x2c1/0x360 [irdma]
      [20976.285691]  auxiliary_bus_probe+0x45/0x70
      [20976.289790]  really_probe+0x1f2/0x480
      [20976.298509]  driver_probe_device+0x49/0xc0
      [20976.302609]  bus_for_each_drv+0x79/0xc0
      [20976.306448]  __device_attach+0xdc/0x160
      [20976.310286]  bus_probe_device+0x9d/0xb0
      [20976.314128]  device_add+0x43c/0x890
      [20976.321287]  __auxiliary_device_add+0x43/0x60
      [20976.325644]  ice_plug_aux_dev+0xb2/0x100 [ice]
      [20976.330109]  ice_service_task+0xd0c/0xed0 [ice]
      [20976.342591]  process_one_work+0x1a7/0x360
      [20976.350536]  worker_thread+0x30/0x390
      [20976.358128]  kthread+0x10a/0x120
      [20976.365547]  ret_from_fork+0x1f/0x40
      ...
      [20976.438030] task:ip              state:D stack:    0 pid:213658 ppid:213627 flags:0x00004084
      [20976.446469] Call Trace:
      [20976.448921]  __schedule+0x2d1/0x830
      [20976.452414]  schedule+0x35/0xa0
      [20976.455559]  schedule_preempt_disabled+0xa/0x10
      [20976.460090]  __mutex_lock.isra.7+0x310/0x420
      [20976.464364]  device_del+0x36/0x3c0
      [20976.467772]  ice_unplug_aux_dev+0x1a/0x40 [ice]
      [20976.472313]  ice_lag_event_handler+0x2a2/0x520 [ice]
      [20976.477288]  notifier_call_chain+0x47/0x70
      [20976.481386]  __netdev_upper_dev_link+0x18b/0x280
      [20976.489845]  bond_enslave+0xe05/0x1790 [bonding]
      [20976.494475]  do_setlink+0x336/0xf50
      [20976.502517]  __rtnl_newlink+0x529/0x8b0
      [20976.543441]  rtnl_newlink+0x43/0x60
      [20976.546934]  rtnetlink_rcv_msg+0x2b1/0x360
      [20976.559238]  netlink_rcv_skb+0x4c/0x120
      [20976.563079]  netlink_unicast+0x196/0x230
      [20976.567005]  netlink_sendmsg+0x204/0x3d0
      [20976.570930]  sock_sendmsg+0x4c/0x50
      [20976.574423]  ____sys_sendmsg+0x1eb/0x250
      [20976.586807]  ___sys_sendmsg+0x7c/0xc0
      [20976.606353]  __sys_sendmsg+0x57/0xa0
      [20976.609930]  do_syscall_64+0x5b/0x1a0
      [20976.613598]  entry_SYSCALL_64_after_hwframe+0x65/0xca
      
      1. Command 'ip link ... set nomaster' causes that ice_plug_aux_dev()
         is called from ice_service_task() context, aux device is created
         and associated device->lock is taken.
      2. Command 'ip link ... set master...' calls ice's notifier under
         RTNL lock and that notifier calls ice_unplug_aux_dev(). That
         function tries to take aux device->lock but this is already taken
         by ice_plug_aux_dev() in step 1
      3. Later ice_plug_aux_dev() tries to take RTNL lock but this is already
         taken in step 2
      4. Dead-lock
      
      The patch fixes this issue by following changes:
      - Bit ICE_FLAG_PLUG_AUX_DEV is kept to be set during ice_plug_aux_dev()
        call in ice_service_task()
      - The bit is checked in ice_clear_rdma_cap() and only if it is not set
        then ice_unplug_aux_dev() is called. If it is set (in other words
        plugging of aux device was requested and ice_plug_aux_dev() is
        potentially running) then the function only clears the bit
      - Once ice_plug_aux_dev() call (in ice_service_task) is finished
        the bit ICE_FLAG_PLUG_AUX_DEV is cleared but it is also checked
        whether it was already cleared by ice_clear_rdma_cap(). If so then
        aux device is unplugged.
      
      Signed-off-by: default avatarIvan Vecera <ivecera@redhat.com>
      Co-developed-by: default avatarPetr Oros <poros@redhat.com>
      Signed-off-by: default avatarPetr Oros <poros@redhat.com>
      Reviewed-by: default avatarDave Ertman <david.m.ertman@intel.com>
      Link: https://lore.kernel.org/r/20220310171641.3863659-1-ivecera@redhat.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      5cb1ebdb
    • Heiner Kallweit's avatar
      net: phy: meson-gxl: improve link-up behavior · 2c87c6f9
      Heiner Kallweit authored
      Sometimes the link comes up but no data flows. This patch fixes
      this behavior. It's not clear what's the root cause of the issue.
      
      According to the tests one other link-up issue remains.
      In very rare cases the link isn't even reported as up.
      
      Fixes: 84c8f773
      
       ("net: phy: meson-gxl: remove the use of .ack_callback()")
      Tested-by: default avatarErico Nunes <nunes.erico@gmail.com>
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Link: https://lore.kernel.org/r/e3473452-a1f9-efcf-5fdd-02b6f44c3fcd@gmail.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      2c87c6f9
    • Jeremy Linton's avatar
      net: bcmgenet: Don't claim WOL when its not available · 00b022f8
      Jeremy Linton authored
      Some of the bcmgenet platforms don't correctly support WOL, yet
      ethtool returns:
      
      "Supports Wake-on: gsf"
      
      which is false.
      
      Ideally if there isn't a wol_irq, or there is something else that
      keeps the device from being able to wakeup it should display:
      
      "Supports Wake-on: d"
      
      This patch checks whether the device can wakup, before using the
      hard-coded supported flags. This corrects the ethtool reporting, as
      well as the WOL configuration because ethtool verifies that the mode
      is supported before attempting it.
      
      Fixes: c51de7f3
      
       ("net: bcmgenet: add Wake-on-LAN support code")
      Signed-off-by: default avatarJeremy Linton <jeremy.linton@arm.com>
      Tested-by: default avatarPeter Robinson <pbrobinson@gmail.com>
      Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Link: https://lore.kernel.org/r/20220310045535.224450-1-jeremy.linton@arm.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      00b022f8
    • Jianglei Nie's avatar
      net: arc_emac: Fix use after free in arc_mdio_probe() · bc0e610a
      Jianglei Nie authored
      If bus->state is equal to MDIOBUS_ALLOCATED, mdiobus_free(bus) will free
      the "bus". But bus->name is still used in the next line, which will lead
      to a use after free.
      
      We can fix it by putting the name in a local variable and make the
      bus->name point to the rodata section "name",then use the name in the
      error message without referring to bus to avoid the uaf.
      
      Fixes: 95b5fc03
      
       ("net: arc_emac: Make use of the helper function dev_err_probe()")
      Signed-off-by: default avatarJianglei Nie <niejianglei2021@163.com>
      Link: https://lore.kernel.org/r/20220309121824.36529-1-niejianglei2021@163.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      bc0e610a
    • Eric Dumazet's avatar
      sctp: fix kernel-infoleak for SCTP sockets · 633593a8
      Eric Dumazet authored
      syzbot reported a kernel infoleak [1] of 4 bytes.
      
      After analysis, it turned out r->idiag_expires is not initialized
      if inet_sctp_diag_fill() calls inet_diag_msg_common_fill()
      
      Make sure to clear idiag_timer/idiag_retrans/idiag_expires
      and let inet_diag_msg_sctpasoc_fill() fill them again if needed.
      
      [1]
      
      BUG: KMSAN: kernel-infoleak in instrument_copy_to_user include/linux/instrumented.h:121 [inline]
      BUG: KMSAN: kernel-infoleak in copyout lib/iov_iter.c:154 [inline]
      BUG: KMSAN: kernel-infoleak in _copy_to_iter+0x6ef/0x25a0 lib/iov_iter.c:668
       instrument_copy_to_user include/linux/instrumented.h:121 [inline]
       copyout lib/iov_iter.c:154 [inline]
       _copy_to_iter+0x6ef/0x25a0 lib/iov_iter.c:668
       copy_to_iter include/linux/uio.h:162 [inline]
       simple_copy_to_iter+0xf3/0x140 net/core/datagram.c:519
       __skb_datagram_iter+0x2d5/0x11b0 net/core/datagram.c:425
       skb_copy_datagram_iter+0xdc/0x270 net/core/datagram.c:533
       skb_copy_datagram_msg include/linux/skbuff.h:3696 [inline]
       netlink_recvmsg+0x669/0x1c80 net/netlink/af_netlink.c:1977
       sock_recvmsg_nosec net/socket.c:948 [inline]
       sock_recvmsg net/socket.c:966 [inline]
       __sys_recvfrom+0x795/0xa10 net/socket.c:2097
       __do_sys_recvfrom net/socket.c:2115 [inline]
       __se_sys_recvfrom net/socket.c:2111 [inline]
       __x64_sys_recvfrom+0x19d/0x210 net/socket.c:2111
       do_syscall_x64 arch/x86/entry/common.c:51 [inline]
       do_syscall_64+0x54/0xd0 arch/x86/entry/common.c:82
       entry_SYSCALL_64_after_hwframe+0x44/0xae
      
      Uninit was created at:
       slab_post_alloc_hook mm/slab.h:737 [inline]
       slab_alloc_node mm/slub.c:3247 [inline]
       __kmalloc_node_track_caller+0xe0c/0x1510 mm/slub.c:4975
       kmalloc_reserve net/core/skbuff.c:354 [inline]
       __alloc_skb+0x545/0xf90 net/core/skbuff.c:426
       alloc_skb include/linux/skbuff.h:1158 [inline]
       netlink_dump+0x3e5/0x16c0 net/netlink/af_netlink.c:2248
       __netlink_dump_start+0xcf8/0xe90 net/netlink/af_netlink.c:2373
       netlink_dump_start include/linux/netlink.h:254 [inline]
       inet_diag_handler_cmd+0x2e7/0x400 net/ipv4/inet_diag.c:1341
       sock_diag_rcv_msg+0x24a/0x620
       netlink_rcv_skb+0x40c/0x7e0 net/netlink/af_netlink.c:2494
       sock_diag_rcv+0x63/0x80 net/core/sock_diag.c:277
       netlink_unicast_kernel net/netlink/af_netlink.c:1317 [inline]
       netlink_unicast+0x1093/0x1360 net/netlink/af_netlink.c:1343
       netlink_sendmsg+0x14d9/0x1720 net/netlink/af_netlink.c:1919
       sock_sendmsg_nosec net/socket.c:705 [inline]
       sock_sendmsg net/socket.c:725 [inline]
       sock_write_iter+0x594/0x690 net/socket.c:1061
       do_iter_readv_writev+0xa7f/0xc70
       do_iter_write+0x52c/0x1500 fs/read_write.c:851
       vfs_writev fs/read_write.c:924 [inline]
       do_writev+0x645/0xe00 fs/read_write.c:967
       __do_sys_writev fs/read_write.c:1040 [inline]
       __se_sys_writev fs/read_write.c:1037 [inline]
       __x64_sys_writev+0xe5/0x120 fs/read_write.c:1037
       do_syscall_x64 arch/x86/entry/common.c:51 [inline]
       do_syscall_64+0x54/0xd0 arch/x86/entry/common.c:82
       entry_SYSCALL_64_after_hwframe+0x44/0xae
      
      Bytes 68-71 of 2508 are uninitialized
      Memory access of size 2508 starts at ffff888114f9b000
      Data copied to user address 00007f7fe09ff2e0
      
      CPU: 1 PID: 3478 Comm: syz-executor306 Not tainted 5.17.0-rc4-syzkaller #0
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
      
      Fixes: 8f840e47
      
       ("sctp: add the sctp_diag.c file")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
      Cc: Vlad Yasevich <vyasevich@gmail.com>
      Cc: Neil Horman <nhorman@tuxdriver.com>
      Cc: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
      Reviewed-by: default avatarXin Long <lucien.xin@gmail.com>
      Link: https://lore.kernel.org/r/20220310001145.297371-1-eric.dumazet@gmail.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      633593a8
    • Colin Foster's avatar
      net: phy: correct spelling error of media in documentation · 26183cfe
      Colin Foster authored
      
      
      The header file incorrectly referenced "median-independant interface"
      instead of media. Correct this typo.
      
      Signed-off-by: default avatarColin Foster <colin.foster@in-advantage.com>
      Fixes: 4069a572
      
       ("net: phy: Document core PHY structures")
      Reviewed-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
      Link: https://lore.kernel.org/r/20220309062544.3073-1-colin.foster@in-advantage.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      26183cfe
    • Jakub Kicinski's avatar
      Merge tag 'mlx5-updates-2022-03-09' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · 3e18bcb7
      Jakub Kicinski authored
      Saeed Mahameed says:
      
      ====================
      mlx5-updates-2022-03-09
      
      1) Remove kernel log prints on FW events regarding FW pages management
         and replace that with debugfs entries to track FW pages management commands
         failures and general stats, we do that for all FW commands in general since
         it's the same effort to do so under the already existing debugfs entry for
         FW commands.
      
      2) Add support for ConnectX-7 Software managed steering, in other words STEv2
         which shares a lot in common with STE V1, the difference is in specific
         offsets in the devices, the logic is almost the same, thus we implement
         STEv1 and STEv2 in the same file.
      
      * tag 'mlx5-updates-2022-03-09' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux:
        net/mlx5: DR, Add support for ConnectX-7 steering
        net/mlx5: DR, Refactor ste_ctx handling for STE v0/1
        net/mlx5: DR, Rename action modify fields to reflect naming in HW spec
        net/mlx5: DR, Fix handling of different actions on the same STE in STEv1
        net/mlx5: DR, Remove unneeded comments
        net/mlx5: DR, Add support for matching on Internet Header Length (IHL)
        net/mlx5: DR, Align mlx5dv_dr API vport action with FW behavior
        net/mlx5: Add debugfs counters for page commands failures
        net/mlx5: Add pages debugfs
        net/mlx5: Move debugfs entries to separate struct
        net/mlx5: Change release_all_pages cap bit location
        net/mlx5: Remove redundant error on reclaim pages
        net/mlx5: Remove redundant error on give pages
        net/mlx5: Remove redundant notify fail on give pages
        net/mlx5: Add command failures data to debugfs
        net/mlx5e: TC, Fix use after free in mlx5e_clone_flow_attr_for_post_act()
      ====================
      
      Link: https://lore.kernel.org/r/20220309213755.610202-1-saeed@kernel.org
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      3e18bcb7
    • Jakub Kicinski's avatar
      Merge tag 'mlx5-fixes-2022-03-09' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · 55c4bf4d
      Jakub Kicinski authored
      Saeed Mahameed says:
      
      ====================
      mlx5 fixes 2022-03-09
      
      This series provides bug fixes to mlx5 driver.
      
      * tag 'mlx5-fixes-2022-03-09' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux:
        net/mlx5e: SHAMPO, reduce TIR indication
        net/mlx5e: Lag, Only handle events from highest priority multipath entry
        net/mlx5: Fix offloading with ESWITCH_IPV4_TTL_MODIFY_ENABLE
        net/mlx5: Fix a race on command flush flow
        net/mlx5: Fix size field in bufferx_reg struct
      ====================
      
      Link: https://lore.kernel.org/r/20220309201517.589132-1-saeed@kernel.org
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      55c4bf4d
    • Linus Torvalds's avatar
      Merge tag 'block-5.17-2022-03-10' of git://git.kernel.dk/linux-block · 3bcb6451
      Linus Torvalds authored
      Pull block fix from Jens Axboe:
       "Just a single fix for a regression that occured in this merge window"
      
      * tag 'block-5.17-2022-03-10' of git://git.kernel.dk/linux-block:
        block: fix blk_mq_attempt_bio_merge and rq_qos_throttle protection
      3bcb6451
    • Linus Torvalds's avatar
      Merge tag 'staging-5.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · c30b5b8c
      Linus Torvalds authored
      Pull staging driver fixes from Greg KH:
       "Here are three small fixes for staging drivers for 5.17-rc8 or -final,
        which ever comes next.
      
        They resolve some reported problems:
      
         - rtl8723bs wifi driver deadlock fix for reported problem that is a
           revert of a previous patch. Also a documentation fix is added so
           that the same problem hopefully can not come back again.
      
         - gdm724x driver use-after-free fix for a reported problem.
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'staging-5.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: rtl8723bs: Improve the comment explaining the locking rules
        staging: rtl8723bs: Fix access-point mode deadlock
        staging: gdm724x: fix use after free in gdm_lte_rx()
      c30b5b8c
    • Jakub Kicinski's avatar
      Merge branch 'mptcp-selftests-refactor-join-tests' · 2a9eef86
      Jakub Kicinski authored
      Mat Martineau says:
      
      ====================
      mptcp: selftests: Refactor join tests
      
      The mptcp_join.sh selftest is the largest and most complex self test for
      MPTCP, and it is frequently used by MPTCP developers to reproduce bugs
      and verify fixes. As it grew in size and execution time, it became more
      cumbersome to use.
      
      These changes do some much-needed cleanup, and add developer-friendly
      features to make it easier to see failures and run a subset of the tests
      when verifying fixes.
      ====================
      
      Link: https://lore.kernel.org/r/20220309191636.258232-1-mathew.j.martineau@linux.intel.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      2a9eef86
    • Matthieu Baerts's avatar
      selftests: mptcp: join: make it shellcheck compliant · d8d08302
      Matthieu Baerts authored
      
      
      This fixes a few issues reported by ShellCheck:
      
      - SC2068: Double quote array expansions to avoid re-splitting elements.
      - SC2206: Quote to prevent word splitting/globbing, or split robustly
                with mapfile or read -a.
      - SC2166: Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.
      - SC2155: Declare and assign separately to avoid masking return values.
      - SC2162: read without -r will mangle backslashes.
      - SC2219: Instead of 'let expr', prefer (( expr )) .
      - SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly
                with $?.
      - SC2236: Use -n instead of ! -z.
      - SC2004: $/${} is unnecessary on arithmetic variables.
      - SC2012: Use find instead of ls to better handle non-alphanumeric
                filenames.
      - SC2002: Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..'
                instead.
      
      SC2086 (Double quotes to prevent globbing and word splitting) is ignored
      because it is controlled for the moment and there are too many to
      change.
      
      While at it, also fixed the alignment in one comment.
      
      Signed-off-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
      Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      d8d08302
    • Matthieu Baerts's avatar
      selftests: mptcp: join: avoid backquotes · 4bfadd71
      Matthieu Baerts authored
      As explained on ShellCheck's wiki [1], it is recommended to avoid
      backquotes `...` in favour of parenthesis $(...):
      
      > Backtick command substitution `...` is legacy syntax with several
      > issues.
      >
      > - It has a series of undefined behaviors related to quoting in POSIX.
      > - It imposes a custom escaping mode with surprising results.
      > - It's exceptionally hard to nest.
      >
      > $(...) command substitution has none of these problems, and is
      > therefore strongly encouraged.
      
      [1] https://www.shellcheck.net/wiki/SC2006
      
      
      
      Signed-off-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
      Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      4bfadd71
    • Matthieu Baerts's avatar
      selftests: mptcp: join: clarify local/global vars · 1e777bd8
      Matthieu Baerts authored
      
      
      Some vars are redefined in different places. Best to avoid this
      classical Bash pitfall where variables are accidentally overridden by
      other functions because the proper scope has not been defined.
      
      Most issues are with loops: typically 'i' is used in for-loops but if it
      is not global, calling a function from a for-loop also doing a for-loop
      with the same non local 'i' variable causes troubles because the first
      'i' will be assigned to another value. To prevent such issues, the
      iterator variable is now declared as local just before the loop. If it
      is always done like this, issues are avoided.
      
      To distinct between local and non local variables, all non local ones
      are defined at the beginning of the script. The others are now defined
      with the "local" keyword.
      
      Signed-off-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
      Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      1e777bd8
    • Matthieu Baerts's avatar
      selftests: mptcp: join: helper to filter TCP · 3469d72f
      Matthieu Baerts authored
      
      
      This is more readable and reduces duplicated commands.
      
      This might also be useful to add v6 support and switch to nftables.
      
      Signed-off-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
      Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      3469d72f
    • Matthieu Baerts's avatar
      selftests: mptcp: join: list failure at the end · 39aab882
      Matthieu Baerts authored
      
      
      With ~100 tests, it helps to have this summary at the end not to scroll
      to find which one has failed.
      
      It is especially interseting when looking at the output produced by the
      CI where the kernel logs from the serial are mixed together.
      
      Signed-off-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
      Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      39aab882
    • Matthieu Baerts's avatar
      selftests: mptcp: join: alt. to exec specific tests · c7d49c03
      Matthieu Baerts authored
      
      
      Running a specific test by giving the ID is often what we want: the CI
      reports an issue with the Nth test, it is reproducible with:
      
        ./mptcp_join.sh N
      
      But this might not work when there is a need to find which commit has
      introduced a regression making a test unstable: failing from time to
      time. Indeed, a specific test is not attached to one ID: the ID is in
      fact a counter. It means the same test can have a different ID if other
      tests have been added/removed before this unstable one.
      
      Remembering the current test can also help listing failed tests at the
      end.
      
      Signed-off-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
      Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      c7d49c03
    • Matthieu Baerts's avatar
      selftests: mptcp: join: option to execute specific tests · ae7bd9cc
      Matthieu Baerts authored
      
      
      Often, it is needed to run one specific test.
      
      There are options to run subgroups of tests but when only one fails, no
      need to run all the subgroup. So far, the solution was to edit the
      script to comment the tests that are not needed but that's not ideal.
      
      Now, it is possible to run one specific test by giving the ID of the
      tests that are going to be validated, e.g.
      
        ./mptcp_join.sh 36 37
      
      This is cleaner and saves time.
      
      Technically, the reset* functions now return 0 if the test can be
      executed. This naturally creates sections per test in the code which is
      also helpful to understand what a test is exactly doing.
      
      Suggested-by: default avatarPaolo Abeni <pabeni@redhat.com>
      Signed-off-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
      Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      ae7bd9cc
    • Matthieu Baerts's avatar
      selftests: mptcp: join: reset failing links · e59300ce
      Matthieu Baerts authored
      
      
      Best to always reset this env var before each test to avoid surprising
      behaviour depending on the order tests are running.
      
      Also clearly set it for the last failing links test is also needed when
      only this test is executed.
      
      Signed-off-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
      Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      e59300ce
    • Matthieu Baerts's avatar
      selftests: mptcp: join: define tests groups once · 3afd0280
      Matthieu Baerts authored
      
      
      When adding a new tests group, it has to be defined in multiple places:
      
      - in the all_tests() function
      - in the 'usage()' function
      - in the getopts: short option + what to do when the option is used
      
      Because it is easy to forget one of them, it is useful to have to define
      them only once.
      
      Note: only using an associative array would simplify the code but the
      entries are stored in a hashtable and iterating over the different items
      doesn't give the same order as the one used in the declaration of this
      array. Because we want to run these tests in the same order as before, a
      "simple" array is used first.
      
      Signed-off-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
      Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      3afd0280
    • Geliang Tang's avatar
      selftests: mptcp: drop msg argument of chk_csum_nr · 3c082695
      Geliang Tang authored
      
      
      This patch dropped the msg argument of chk_csum_nr, to unify chk_csum_nr
      with other chk_*_nr functions.
      
      Reviewed-by: default avatarMatthieu Baerts <matthieu.baerts@tessares.net>
      Signed-off-by: default avatarGeliang Tang <geliang.tang@suse.com>
      Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      3c082695
    • Clément Léger's avatar
      net: phy: DP83822: clear MISR2 register to disable interrupts · 37c9d66c
      Clément Léger authored
      MISR1 was cleared twice but the original author intention was probably
      to clear MISR1 & MISR2 to completely disable interrupts. Fix it to
      clear MISR2.
      
      Fixes: 87461f7a
      
       ("net: phy: DP83822 initial driver submission")
      Signed-off-by: default avatarClément Léger <clement.leger@bootlin.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Link: https://lore.kernel.org/r/20220309142228.761153-1-clement.leger@bootlin.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      37c9d66c
    • Miaoqian Lin's avatar
      gianfar: ethtool: Fix refcount leak in gfar_get_ts_info · 2ac5b58e
      Miaoqian Lin authored
      The of_find_compatible_node() function returns a node pointer with
      refcount incremented, We should use of_node_put() on it when done
      Add the missing of_node_put() to release the refcount.
      
      Fixes: 7349a74e
      
       ("net: ethernet: gianfar_ethtool: get phc index through drvdata")
      Signed-off-by: default avatarMiaoqian Lin <linmq006@gmail.com>
      Reviewed-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
      Reviewed-by: default avatarClaudiu Manoil <claudiu.manoil@nxp.com>
      Link: https://lore.kernel.org/r/20220310015313.14938-1-linmq006@gmail.com
      
      
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      2ac5b58e
    • Linus Torvalds's avatar
      Merge tag 'soc-fixes-5.17-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · 55b4083b
      Linus Torvalds authored
      Pull ARM SoC fixes from Arnd Bergmann:
       "Here is a third set of fixes for the soc tree, well within the
        expected set of changes.
      
        Maintainer list changes:
         - Krzysztof Kozlowski and Jisheng Zhang both have new email addresses
         - Broadcom iProc has a new git tree
      
        Regressions:
         - Robert Foss sends a revert for a Mediatek DPI bridge patch that
           caused an inadvertent break in the DT binding
         - mstar timers need to be included in Kconfig
      
        Devicetree fixes for:
         - Aspeed ast2600 spi pinmux
         - Tegra eDP panels on Nyan FHD
         - Tegra display IOMMU
         - Qualcomm sm8350 UFS clocks
         - minor DT changes for Marvell Armada, Qualcomm sdx65, Qualcomm
           sm8450, and Broadcom BCM2711"
      
      * tag 'soc-fixes-5.17-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        arm64: dts: marvell: armada-37xx: Remap IO space to bus address 0x0
        MAINTAINERS: Update Jisheng's email address
        Revert "arm64: dts: mt8183: jacuzzi: Fix bus properties in anx's DSI endpoint"
        dt-bindings: drm/bridge: anx7625: Revert DPI support
        ARM: dts: aspeed: Fix AST2600 quad spi group
        MAINTAINERS: update Krzysztof Kozlowski's email
        MAINTAINERS: Update git tree for Broadcom iProc SoCs
        ARM: tegra: Move Nyan FHD panels to AUX bus
        arm64: dts: armada-3720-turris-mox: Add missing ethernet0 alias
        ARM: mstar: Select HAVE_ARM_ARCH_TIMER
        soc: mediatek: mt8192-mmsys: Fix dither to dsi0 path's input sel
        arm64: dts: mt8183: jacuzzi: Fix bus properties in anx's DSI endpoint
        ARM: boot: dts: bcm2711: Fix HVS register range
        arm64: dts: qcom: c630: disable crypto due to serror
        arm64: dts: qcom: sm8450: fix apps_smmu interrupts
        arm64: dts: qcom: sm8450: enable GCC_USB3_0_CLKREF_EN for usb
        arm64: dts: qcom: sm8350: Correct UFS symbol clocks
        arm64: tegra: Disable ISO SMMU for Tegra194
        Revert "dt-bindings: arm: qcom: Document SDX65 platform and boards"
      55b4083b
    • Linus Torvalds's avatar
      mm: gup: make fault_in_safe_writeable() use fixup_user_fault() · fe673d3f
      Linus Torvalds authored
      
      
      Instead of using GUP, make fault_in_safe_writeable() actually force a
      'handle_mm_fault()' using the same fixup_user_fault() machinery that
      futexes already use.
      
      Using the GUP machinery meant that fault_in_safe_writeable() did not do
      everything that a real fault would do, ranging from not auto-expanding
      the stack segment, to not updating accessed or dirty flags in the page
      tables (GUP sets those flags on the pages themselves).
      
      The latter causes problems on architectures (like s390) that do accessed
      bit handling in software, which meant that fault_in_safe_writeable()
      didn't actually do all the fault handling it needed to, and trying to
      access the user address afterwards would still cause faults.
      
      Reported-and-tested-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      Fixes: cdd591fc ("iov_iter: Introduce fault_in_iov_iter_writeable")
      Link: https://lore.kernel.org/all/CAHc6FU5nP+nziNGG0JAF1FUx-GV7kKFvM7aZuU_XD2_1v4vnvg@mail.gmail.com/
      
      
      Acked-by: default avatarDavid Hildenbrand <david@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fe673d3f
  2. Mar 10, 2022