Skip to content
  1. Dec 08, 2021
    • Stefano Stabellini's avatar
      xen: detect uninitialized xenbus in xenbus_init · d8cc719f
      Stefano Stabellini authored
      commit 36e8f60f
      
       upstream.
      
      If the xenstore page hasn't been allocated properly, reading the value
      of the related hvm_param (HVM_PARAM_STORE_PFN) won't actually return
      error. Instead, it will succeed and return zero. Instead of attempting
      to xen_remap a bad guest physical address, detect this condition and
      return early.
      
      Note that although a guest physical address of zero for
      HVM_PARAM_STORE_PFN is theoretically possible, it is not a good choice
      and zero has never been validly used in that capacity.
      
      Also recognize all bits set as an invalid value.
      
      For 32-bit Linux, any pfn above ULONG_MAX would get truncated. Pfns
      above ULONG_MAX should never be passed by the Xen tools to HVM guests
      anyway, so check for this condition and return early.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarStefano Stabellini <stefano.stabellini@xilinx.com>
      Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
      Reviewed-by: default avatarJan Beulich <jbeulich@suse.com>
      Link: https://lore.kernel.org/r/20211123210748.1910236-1-sstabellini@kernel.org
      
      
      Signed-off-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d8cc719f
    • Stefano Stabellini's avatar
      xen: don't continue xenstore initialization in case of errors · a4fd853e
      Stefano Stabellini authored
      commit 08f6c2b0
      
       upstream.
      
      In case of errors in xenbus_init (e.g. missing xen_store_gfn parameter),
      we goto out_error but we forget to reset xen_store_domain_type to
      XS_UNKNOWN. As a consequence xenbus_probe_initcall and other initcalls
      will still try to initialize xenstore resulting into a crash at boot.
      
      [    2.479830] Call trace:
      [    2.482314]  xb_init_comms+0x18/0x150
      [    2.486354]  xs_init+0x34/0x138
      [    2.489786]  xenbus_probe+0x4c/0x70
      [    2.498432]  xenbus_probe_initcall+0x2c/0x7c
      [    2.503944]  do_one_initcall+0x54/0x1b8
      [    2.507358]  kernel_init_freeable+0x1ac/0x210
      [    2.511617]  kernel_init+0x28/0x130
      [    2.516112]  ret_from_fork+0x10/0x20
      
      Cc: <Stable@vger.kernel.org>
      Cc: jbeulich@suse.com
      Signed-off-by: default avatarStefano Stabellini <stefano.stabellini@xilinx.com>
      Link: https://lore.kernel.org/r/20211115222719.2558207-1-sstabellini@kernel.org
      
      
      Reviewed-by: default avatarJan Beulich <jbeulich@suse.com>
      Signed-off-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a4fd853e
    • Miklos Szeredi's avatar
      fuse: fix page stealing · b4f9fe9a
      Miklos Szeredi authored
      commit 712a9510
      
       upstream.
      
      It is possible to trigger a crash by splicing anon pipe bufs to the fuse
      device.
      
      The reason for this is that anon_pipe_buf_release() will reuse buf->page if
      the refcount is 1, but that page might have already been stolen and its
      flags modified (e.g. PG_lru added).
      
      This happens in the unlikely case of fuse_dev_splice_write() getting around
      to calling pipe_buf_release() after a page has been stolen, added to the
      page cache and removed from the page cache.
      
      Fix by calling pipe_buf_release() right after the page was inserted into
      the page cache.  In this case the page has an elevated refcount so any
      release function will know that the page isn't reusable.
      
      Reported-by: default avatarFrank Dinoff <fdinoff@google.com>
      Link: https://lore.kernel.org/r/CAAmZXrsGg2xsP1CK+cbuEMumtrqdvD-NKnWzhNcvn71RV3c1yw@mail.gmail.com/
      Fixes: dd3bb14f
      
       ("fuse: support splice() writing to fuse device")
      Cc: <stable@vger.kernel.org> # v2.6.35
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      b4f9fe9a
    • Dan Carpenter's avatar
      staging: rtl8192e: Fix use after free in _rtl92e_pci_disconnect() · 91866803
      Dan Carpenter authored
      commit b535917c upstream.
      
      The free_rtllib() function frees the "dev" pointer so there is use
      after free on the next line.  Re-arrange things to avoid that.
      
      Fixes: 66898177
      
       ("staging: rtl8192e: Fix unload/reload problem")
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Link: https://lore.kernel.org/r/20211117072016.GA5237@kili
      
      
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      91866803
    • Takashi Iwai's avatar
      ALSA: ctxfi: Fix out-of-range access · 1a569231
      Takashi Iwai authored
      commit 76c47183 upstream.
      
      The master and next_conj of rcs_ops are used for iterating the
      resource list entries, and currently those are supposed to return the
      current value.  The problem is that next_conf may go over the last
      entry before the loop abort condition is evaluated, and it may return
      the "current" value that is beyond the array size.  It was caught
      recently as a GPF, for example.
      
      Those return values are, however, never actually evaluated, hence
      basically we don't have to consider the current value as the return at
      all.  By dropping those return values, the potential out-of-range
      access above is also fixed automatically.
      
      This patch changes the return type of master and next_conj callbacks
      to void and drop the superfluous code accordingly.
      
      BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=214985
      Cc: <stable@vger.kernel.org>
      Link: https://lore.kernel.org/r/20211118215729.26257-1-tiwai@suse.de
      
      
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1a569231
    • Todd Kjos's avatar
      binder: fix test regression due to sender_euid change · 404fb109
      Todd Kjos authored
      commit c21a80ca upstream.
      
      This is a partial revert of commit
      29bc22ac ("binder: use euid from cred instead of using task").
      Setting sender_euid using proc->cred caused some Android system test
      regressions that need further investigation. It is a partial
      reversion because subsequent patches rely on proc->cred.
      
      Fixes: 29bc22ac
      
       ("binder: use euid from cred instead of using task")
      Cc: stable@vger.kernel.org # 4.4+
      Acked-by: default avatarChristian Brauner <christian.brauner@ubuntu.com>
      Signed-off-by: default avatarTodd Kjos <tkjos@google.com>
      Change-Id: I9b1769a3510fed250bb21859ef8beebabe034c66
      Link: https://lore.kernel.org/r/20211112180720.2858135-1-tkjos@google.com
      
      
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      404fb109
    • Mathias Nyman's avatar
      usb: hub: Fix locking issues with address0_mutex · c193fcec
      Mathias Nyman authored
      commit 6cca13de upstream.
      
      Fix the circular lock dependency and unbalanced unlock of addess0_mutex
      introduced when fixing an address0_mutex enumeration retry race in commit
      ae6dc22d2d1 ("usb: hub: Fix usb enumeration issue due to address0 race")
      
      Make sure locking order between port_dev->status_lock and address0_mutex
      is correct, and that address0_mutex is not unlocked in hub_port_connect
      "done:" codepath which may be reached without locking address0_mutex
      
      Fixes: 6ae6dc22
      
       ("usb: hub: Fix usb enumeration issue due to address0 race")
      Cc: <stable@vger.kernel.org>
      Reported-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Tested-by: default avatarHans de Goede <hdegoede@redhat.com>
      Tested-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Acked-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarMathias Nyman <mathias.nyman@linux.intel.com>
      Link: https://lore.kernel.org/r/20211123101656.1113518-1-mathias.nyman@linux.intel.com
      
      
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c193fcec
    • Mathias Nyman's avatar
      usb: hub: Fix usb enumeration issue due to address0 race · b13daa1c
      Mathias Nyman authored
      commit 6ae6dc22 upstream.
      
      xHC hardware can only have one slot in default state with address 0
      waiting for a unique address at a time, otherwise "undefined behavior
      may occur" according to xhci spec 5.4.3.4
      
      The address0_mutex exists to prevent this across both xhci roothubs.
      
      If hub_port_init() fails, it may unlock the mutex and exit with a xhci
      slot in default state. If the other xhci roothub calls hub_port_init()
      at this point we end up with two slots in default state.
      
      Make sure the address0_mutex protects the slot default state across
      hub_port_init() retries, until slot is addressed or disabled.
      
      Note, one known minor case is not fixed by this patch.
      If device needs to be reset during resume, but fails all hub_port_init()
      retries in usb_reset_and_verify_device(), then it's possible the slot is
      still left in default state when address0_mutex is unlocked.
      
      Cc: <stable@vger.kernel.org>
      Fixes: 638139eb
      
       ("usb: hub: allow to process more usb hub events in parallel")
      Signed-off-by: default avatarMathias Nyman <mathias.nyman@linux.intel.com>
      Link: https://lore.kernel.org/r/20211115221630.871204-1-mathias.nyman@linux.intel.com
      
      
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      b13daa1c
    • Mingjie Zhang's avatar
      USB: serial: option: add Fibocom FM101-GL variants · 339e9af5
      Mingjie Zhang authored
      commit 88459e3e
      
       upstream.
      
      Update the USB serial option driver support for the Fibocom
      FM101-GL Cat.6
      LTE modules as there are actually several different variants.
      - VID:PID 2cb7:01a2, FM101-GL are laptop M.2 cards (with
        MBIM interfaces for /Linux/Chrome OS)
      - VID:PID 2cb7:01a4, FM101-GL for laptop debug M.2 cards(with adb
        interface for /Linux/Chrome OS)
      
      0x01a2: mbim, tty, tty, diag, gnss
      0x01a4: mbim, diag, tty, adb, gnss, gnss
      
      Here are the outputs of lsusb -v and usb-devices:
      
      T:  Bus=02 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 86 Spd=5000 MxCh= 0
      D:  Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
      P:  Vendor=2cb7 ProdID=01a2 Rev= 5.04
      S:  Manufacturer=Fibocom Wireless Inc.
      S:  Product=Fibocom FM101-GL Module
      S:  SerialNumber=673326ce
      C:* #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=896mA
      A:  FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00
      I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim
      I:  If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
      I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
      I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=(none)
      I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=(none)
      I:* If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=(none)
      I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=40 Driver=(none)
      
      Bus 002 Device 084: ID 2cb7:01a2 Fibocom Wireless Inc. Fibocom FM101-GL Module
      Device Descriptor:
        bLength                18
        bDescriptorType         1
        bcdUSB               3.20
        bDeviceClass            0
        bDeviceSubClass         0
        bDeviceProtocol         0
        bMaxPacketSize0         9
        idVendor           0x2cb7
        idProduct          0x01a2
        bcdDevice            5.04
        iManufacturer           1 Fibocom Wireless Inc.
        iProduct                2 Fibocom FM101-GL Module
        iSerial                 3 673326ce
        bNumConfigurations      1
        Configuration Descriptor:
          bLength                 9
          bDescriptorType         2
          wTotalLength       0x015d
          bNumInterfaces          6
          bConfigurationValue     1
          iConfiguration          4 MBIM_DUN_DUN_DIAG_NMEA
          bmAttributes         0xa0
            (Bus Powered)
            Remote Wakeup
          MaxPower              896mA
          Interface Association:
            bLength                 8
            bDescriptorType        11
            bFirstInterface         0
            bInterfaceCount         2
            bFunctionClass          2 Communications
            bFunctionSubClass      14
            bFunctionProtocol       0
            iFunction               0
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        0
            bAlternateSetting       0
            bNumEndpoints           1
            bInterfaceClass         2 Communications
            bInterfaceSubClass     14
            bInterfaceProtocol      0
            iInterface              5 Fibocom FM101-GL LTE Modem
            CDC Header:
              bcdCDC               1.10
            CDC Union:
              bMasterInterface        0
              bSlaveInterface         1
            CDC MBIM:
              bcdMBIMVersion       1.00
              wMaxControlMessage   4096
              bNumberFilters       32
              bMaxFilterSize       128
              wMaxSegmentSize      2048
              bmNetworkCapabilities 0x20
                8-byte ntb input size
            CDC MBIM Extended:
              bcdMBIMExtendedVersion           1.00
              bMaxOutstandingCommandMessages     64
              wMTU                             1500
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x81  EP 1 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval               9
              bMaxBurst               0
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        1
            bAlternateSetting       0
            bNumEndpoints           0
            bInterfaceClass        10 CDC Data
            bInterfaceSubClass      0
            bInterfaceProtocol      2
            iInterface              0
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        1
            bAlternateSetting       1
            bNumEndpoints           2
            bInterfaceClass        10 CDC Data
            bInterfaceSubClass      0
            bInterfaceProtocol      2
            iInterface              6 MBIM Data
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x8e  EP 14 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               6
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x0f  EP 15 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               2
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        2
            bAlternateSetting       0
            bNumEndpoints           3
            bInterfaceClass       255 Vendor Specific Class
            bInterfaceSubClass    255 Vendor Specific Subclass
            bInterfaceProtocol     64
            iInterface              0
            ** UNRECOGNIZED:  05 24 00 10 01
            ** UNRECOGNIZED:  05 24 01 00 00
            ** UNRECOGNIZED:  04 24 02 02
            ** UNRECOGNIZED:  05 24 06 00 00
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x83  EP 3 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x000a  1x 10 bytes
              bInterval               9
              bMaxBurst               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x82  EP 2 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x01  EP 1 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               0
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        3
            bAlternateSetting       0
            bNumEndpoints           3
            bInterfaceClass       255 Vendor Specific Class
            bInterfaceSubClass    255 Vendor Specific Subclass
            bInterfaceProtocol     64
            iInterface              0
            ** UNRECOGNIZED:  05 24 00 10 01
            ** UNRECOGNIZED:  05 24 01 00 00
            ** UNRECOGNIZED:  04 24 02 02
            ** UNRECOGNIZED:  05 24 06 00 00
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x85  EP 5 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x000a  1x 10 bytes
              bInterval               9
              bMaxBurst               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x84  EP 4 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x02  EP 2 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               0
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        4
            bAlternateSetting       0
            bNumEndpoints           2
            bInterfaceClass       255 Vendor Specific Class
            bInterfaceSubClass    255 Vendor Specific Subclass
            bInterfaceProtocol     48
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x03  EP 3 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x86  EP 6 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               0
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        5
            bAlternateSetting       0
            bNumEndpoints           3
            bInterfaceClass       255 Vendor Specific Class
            bInterfaceSubClass      0
            bInterfaceProtocol     64
            iInterface              0
            ** UNRECOGNIZED:  05 24 00 10 01
            ** UNRECOGNIZED:  05 24 01 00 00
            ** UNRECOGNIZED:  04 24 02 02
            ** UNRECOGNIZED:  05 24 06 00 00
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x88  EP 8 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x000a  1x 10 bytes
              bInterval               9
              bMaxBurst               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x87  EP 7 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x04  EP 4 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               0
      
      T:  Bus=02 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 85 Spd=5000 MxCh= 0
      D:  Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
      P:  Vendor=2cb7 ProdID=01a4 Rev= 5.04
      S:  Manufacturer=Fibocom Wireless Inc.
      S:  Product=Fibocom FM101-GL Module
      S:  SerialNumber=673326ce
      C:* #Ifs= 7 Cfg#= 1 Atr=a0 MxPwr=896mA
      A:  FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00
      I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim
      I:  If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
      I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
      I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=(none)
      I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=(none)
      I:* If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
      I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=40 Driver=(none)
      I:* If#= 6 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=40 Driver=(none)
      
      Bus 002 Device 085: ID 2cb7:01a4 Fibocom Wireless Inc. Fibocom FM101-GL Module
      Device Descriptor:
        bLength                18
        bDescriptorType         1
        bcdUSB               3.20
        bDeviceClass            0
        bDeviceSubClass         0
        bDeviceProtocol         0
        bMaxPacketSize0         9
        idVendor           0x2cb7
        idProduct          0x01a4
        bcdDevice            5.04
        iManufacturer           1 Fibocom Wireless Inc.
        iProduct                2 Fibocom FM101-GL Module
        iSerial                 3 673326ce
        bNumConfigurations      1
        Configuration Descriptor:
          bLength                 9
          bDescriptorType         2
          wTotalLength       0x0180
          bNumInterfaces          7
          bConfigurationValue     1
          iConfiguration          4 MBIM_DIAG_DUN_ADB_GNSS_GNSS
          bmAttributes         0xa0
            (Bus Powered)
            Remote Wakeup
          MaxPower              896mA
          Interface Association:
            bLength                 8
            bDescriptorType        11
            bFirstInterface         0
            bInterfaceCount         2
            bFunctionClass          2 Communications
            bFunctionSubClass      14
            bFunctionProtocol       0
            iFunction               0
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        0
            bAlternateSetting       0
            bNumEndpoints           1
            bInterfaceClass         2 Communications
            bInterfaceSubClass     14
            bInterfaceProtocol      0
            iInterface              5 Fibocom FM101-GL LTE Modem
            CDC Header:
              bcdCDC               1.10
            CDC Union:
              bMasterInterface        0
              bSlaveInterface         1
            CDC MBIM:
              bcdMBIMVersion       1.00
              wMaxControlMessage   4096
              bNumberFilters       32
              bMaxFilterSize       128
              wMaxSegmentSize      2048
              bmNetworkCapabilities 0x20
                8-byte ntb input size
            CDC MBIM Extended:
              bcdMBIMExtendedVersion           1.00
              bMaxOutstandingCommandMessages     64
              wMTU                             1500
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x81  EP 1 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0040  1x 64 bytes
              bInterval               9
              bMaxBurst               0
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        1
            bAlternateSetting       0
            bNumEndpoints           0
            bInterfaceClass        10 CDC Data
            bInterfaceSubClass      0
            bInterfaceProtocol      2
            iInterface              0
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        1
            bAlternateSetting       1
            bNumEndpoints           2
            bInterfaceClass        10 CDC Data
            bInterfaceSubClass      0
            bInterfaceProtocol      2
            iInterface              6 MBIM Data
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x8e  EP 14 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               6
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x0f  EP 15 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               2
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        2
            bAlternateSetting       0
            bNumEndpoints           2
            bInterfaceClass       255 Vendor Specific Class
            bInterfaceSubClass    255 Vendor Specific Subclass
            bInterfaceProtocol     48
            iInterface              0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x01  EP 1 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x82  EP 2 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               0
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        3
            bAlternateSetting       0
            bNumEndpoints           3
            bInterfaceClass       255 Vendor Specific Class
            bInterfaceSubClass    255 Vendor Specific Subclass
            bInterfaceProtocol     64
            iInterface              0
            ** UNRECOGNIZED:  05 24 00 10 01
            ** UNRECOGNIZED:  05 24 01 00 00
            ** UNRECOGNIZED:  04 24 02 02
            ** UNRECOGNIZED:  05 24 06 00 00
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x84  EP 4 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x000a  1x 10 bytes
              bInterval               9
              bMaxBurst               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x83  EP 3 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x02  EP 2 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               0
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        4
            bAlternateSetting       0
            bNumEndpoints           2
            bInterfaceClass       255 Vendor Specific Class
            bInterfaceSubClass     66
            bInterfaceProtocol      1
            iInterface              8 ADB Interface
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x03  EP 3 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x85  EP 5 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               0
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        5
            bAlternateSetting       0
            bNumEndpoints           3
            bInterfaceClass       255 Vendor Specific Class
            bInterfaceSubClass      0
            bInterfaceProtocol     64
            iInterface              0
            ** UNRECOGNIZED:  05 24 00 10 01
            ** UNRECOGNIZED:  05 24 01 00 00
            ** UNRECOGNIZED:  04 24 02 02
            ** UNRECOGNIZED:  05 24 06 00 00
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x87  EP 7 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x000a  1x 10 bytes
              bInterval               9
              bMaxBurst               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x86  EP 6 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x04  EP 4 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               0
          Interface Descriptor:
            bLength                 9
            bDescriptorType         4
            bInterfaceNumber        6
            bAlternateSetting       0
            bNumEndpoints           3
            bInterfaceClass       255 Vendor Specific Class
            bInterfaceSubClass      0
            bInterfaceProtocol     64
            iInterface              0
            ** UNRECOGNIZED:  05 24 00 10 01
            ** UNRECOGNIZED:  05 24 01 00 00
            ** UNRECOGNIZED:  04 24 02 02
            ** UNRECOGNIZED:  05 24 06 00 00
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x89  EP 9 IN
              bmAttributes            3
                Transfer Type            Interrupt
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x000a  1x 10 bytes
              bInterval               9
              bMaxBurst               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x88  EP 8 IN
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               0
            Endpoint Descriptor:
              bLength                 7
              bDescriptorType         5
              bEndpointAddress     0x05  EP 5 OUT
              bmAttributes            2
                Transfer Type            Bulk
                Synch Type               None
                Usage Type               Data
              wMaxPacketSize     0x0400  1x 1024 bytes
              bInterval               0
              bMaxBurst               0
      
      Signed-off-by: default avatarMingjie Zhang <superzmj@fibocom.com>
      Link: https://lore.kernel.org/r/20211123133757.37475-1-superzmj@fibocom.com
      
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      339e9af5
    • Daniele Palmas's avatar
      USB: serial: option: add Telit LE910S1 0x9200 composition · ea2ee27e
      Daniele Palmas authored
      commit e353f3e8
      
       upstream.
      
      Add the following Telit LE910S1 composition:
      
      0x9200: tty
      
      Signed-off-by: default avatarDaniele Palmas <dnlplm@gmail.com>
      Link: https://lore.kernel.org/r/20211119140319.10448-1-dnlplm@gmail.com
      
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ea2ee27e
    • Lee Jones's avatar
      staging: ion: Prevent incorrect reference counting behavour · 16b34e53
      Lee Jones authored
      Supply additional checks in order to prevent unexpected results.
      
      Fixes: b892bf75
      
       ("ion: Switch ion to use dma-buf")
      Suggested-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      16b34e53
  2. Nov 26, 2021