1. 18 Oct, 2024 1 commit
  2. 17 Oct, 2024 7 commits
    • Daniele Palmas's avatar
      USB: serial: option: add Telit FN920C04 MBIM compositions · 6d951576
      Daniele Palmas authored
      Add the following Telit FN920C04 compositions:
      
      0x10a2: MBIM + tty (AT/NMEA) + tty (AT) + tty (diag)
      T:  Bus=03 Lev=01 Prnt=03 Port=06 Cnt=01 Dev#= 17 Spd=480  MxCh= 0
      D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=1bc7 ProdID=10a2 Rev=05.15
      S:  Manufacturer=Telit Cinterion
      S:  Product=FN920
      S:  SerialNumber=92c4c4d8
      C:  #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA
      I:  If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
      E:  Ad=82(I) Atr=03(Int.) MxPS=  64 Ivl=32ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
      E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:  If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=60 Driver=option
      E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=84(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
      I:  If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option
      E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=86(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
      I:  If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
      E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      
      0x10a7: MBIM + tty (AT) + tty (AT) + tty (diag)
      T:  Bus=03 Lev=01 Prnt=03 Port=06 Cnt=01 Dev#= 18 Spd=480  MxCh= 0
      D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=1bc7 ProdID=10a7 Rev=05.15
      S:  Manufacturer=Telit Cinterion
      S:  Product=FN920
      S:  SerialNumber=92c4c4d8
      C:  #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA
      I:  If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
      E:  Ad=82(I) Atr=03(Int.) MxPS=  64 Ivl=32ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
      E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:  If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option
      E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=84(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
      I:  If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option
      E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=86(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
      I:  If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
      E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      
      0x10aa: MBIM + tty (AT) + tty (diag) + DPL (data packet logging) + adb
      T:  Bus=03 Lev=01 Prnt=03 Port=06 Cnt=01 Dev#= 15 Spd=480  MxCh= 0
      D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=1bc7 ProdID=10aa Rev=05.15
      S:  Manufacturer=Telit Cinterion
      S:  Product=FN920
      S:  SerialNumber=92c4c4d8
      C:  #Ifs= 6 Cfg#= 1 Atr=e0 MxPwr=500mA
      I:  If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
      E:  Ad=82(I) Atr=03(Int.) MxPS=  64 Ivl=32ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
      E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:  If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option
      E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=84(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
      I:  If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
      E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:  If#= 4 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=80 Driver=(none)
      E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:  If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
      E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      Signed-off-by: default avatarDaniele Palmas <dnlplm@gmail.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      6d951576
    • Benjamin B. Frost's avatar
      USB: serial: option: add support for Quectel EG916Q-GL · 540eff5d
      Benjamin B. Frost authored
      Add Quectel EM916Q-GL with product ID 0x6007
      
      T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#=  3 Spd=480  MxCh= 0
      D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=2c7c ProdID=6007 Rev= 2.00
      S:  Manufacturer=Quectel
      S:  Product=EG916Q-GL
      C:* #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=200mA
      A:  FirstIf#= 4 IfCount= 2 Cls=02(comm.) Sub=06 Prot=00
      I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
      E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
      E:  Ad=82(I) Atr=03(Int.) MxPS=  16 Ivl=32ms
      E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
      E:  Ad=84(I) Atr=03(Int.) MxPS=  16 Ivl=32ms
      E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
      E:  Ad=86(I) Atr=03(Int.) MxPS=  16 Ivl=32ms
      E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      I:* If#= 4 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=06 Prot=00 Driver=cdc_ether
      E:  Ad=88(I) Atr=03(Int.) MxPS=  32 Ivl=32ms
      I:  If#= 5 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
      I:* If#= 5 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
      E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=89(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      
      MI_00 Quectel USB Diag Port
      MI_01 Quectel USB NMEA Port
      MI_02 Quectel USB AT Port
      MI_03 Quectel USB Modem Port
      MI_04 Quectel USB Net Port
      Signed-off-by: default avatarBenjamin B. Frost <benjamin@geanix.com>
      Reviewed-by: default avatarLars Melin <larsm17@gmail.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
      540eff5d
    • Mathias Nyman's avatar
      xhci: dbc: honor usb transfer size boundaries. · 30c9ae5e
      Mathias Nyman authored
      Treat each completed full size write to /dev/ttyDBC0 as a separate usb
      transfer. Make sure the size of the TRBs matches the size of the tty
      write by first queuing as many max packet size TRBs as possible up to
      the last TRB which will be cut short to match the size of the tty write.
      
      This solves an issue where userspace writes several transfers back to
      back via /dev/ttyDBC0 into a kfifo before dbgtty can find available
      request to turn that kfifo data into TRBs on the transfer ring.
      
      The boundary between transfer was lost as xhci-dbgtty then turned
      everyting in the kfifo into as many 'max packet size' TRBs as possible.
      
      DbC would then send more data to the host than intended for that
      transfer, causing host to issue a babble error.
      
      Refuse to write more data to kfifo until previous tty write data is
      turned into properly sized TRBs with data size boundaries matching tty
      write size
      Tested-by: default avatarUday M Bhat <uday.m.bhat@intel.com>
      Tested-by: default avatarŁukasz Bartosik <ukaszb@chromium.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMathias Nyman <mathias.nyman@linux.intel.com>
      Link: https://lore.kernel.org/r/20241016140000.783905-5-mathias.nyman@linux.intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      30c9ae5e
    • Michal Pecio's avatar
      usb: xhci: Fix handling errors mid TD followed by other errors · f42a36ba
      Michal Pecio authored
      Some host controllers fail to produce the final completion event on an
      isochronous TD which experienced an error mid TD. We deal with it by
      flagging such TDs and checking if the next event points at the flagged
      TD or at the next one, and giving back the flagged TD if the latter.
      
      This is not enough, because the next TD may be missed by the xHC. Or
      there may be no next TD but a ring underrun. We also need to get such
      TD quickly out of the way, or errors on later TDs may be handled wrong.
      
      If the next TD experiences a Missed Service Error, we will set the skip
      flag on the endpoint and then attempt skipping TDs when yet another
      event arrives. In such scenario, we ought to report the 'error mid TD'
      transfer as such rather than skip it.
      
      Another problem case are Stopped events. If we see one after an error
      mid TD, we naively assume that it's a Force Stopped Event because it
      doesn't match the pending TD, but in reality it might be an ordinary
      Stopped event for the next TD, which we fail to recognize and handle.
      
      Fix this by moving error mid TD handling before the whole TD skipping
      loop. Remove unnecessary conditions, always give back the TD if the new
      event points to any TRB outside it or if the pointer is NULL, as may be
      the case in Ring Underrun and Overrun events on 1st gen hardware. Only
      if the pending TD isn't flagged, consider other actions like skipping.
      
      As a side effect of reordering with skip and FSE cases, error mid TD is
      reordered with last_td_was_short check. This is harmless, because the
      two cases are mutually exclusive - only one can happen in any given run
      of handle_tx_event().
      
      Tested on the NEC host and a USB camera with flaky cable. Dynamic debug
      confirmed that Transaction Errors are sometimes seen, sometimes mid-TD,
      sometimes followed by Missed Service. In such cases, they were finished
      properly before skipping began.
      
      [Rebase on 6.12-rc1 -Mathias]
      Signed-off-by: default avatarMichal Pecio <michal.pecio@gmail.com>
      Signed-off-by: default avatarMathias Nyman <mathias.nyman@linux.intel.com>
      Link: https://lore.kernel.org/r/20241016140000.783905-4-mathias.nyman@linux.intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f42a36ba
    • Mathias Nyman's avatar
      xhci: Mitigate failed set dequeue pointer commands · fe49df60
      Mathias Nyman authored
      Avoid xHC host from processing a cancelled URB by always turning
      cancelled URB TDs into no-op TRBs before queuing a 'Set TR Deq' command.
      
      If the command fails then xHC will start processing the cancelled TD
      instead of skipping it once endpoint is restarted, causing issues like
      Babble error.
      
      This is not a complete solution as a failed 'Set TR Deq' command does not
      guarantee xHC TRB caches are cleared.
      
      Fixes: 4db35692 ("xhci: turn cancelled td cleanup to its own function")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMathias Nyman <mathias.nyman@linux.intel.com>
      Link: https://lore.kernel.org/r/20241016140000.783905-3-mathias.nyman@linux.intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      fe49df60
    • Mathias Nyman's avatar
      xhci: Fix incorrect stream context type macro · 6599b6a6
      Mathias Nyman authored
      The stream contex type (SCT) bitfield is used both in the stream context
      data structure,  and in the 'Set TR Dequeue pointer' command TRB.
      In both cases it uses bits 3:1
      
      The SCT_FOR_TRB(p) macro used to set the stream context type (SCT) field
      for the 'Set TR Dequeue pointer' command TRB incorrectly shifts the value
      1 bit left before masking the three bits.
      
      Fix this by first masking and rshifting, just like the similar
      SCT_FOR_CTX(p) macro does
      
      This issue has not been visibile as the lost bit 3 is only used with
      secondary stream arrays (SSA). Xhci driver currently only supports using
      a primary stream array with Linear stream addressing.
      
      Fixes: 95241dbd ("xhci: Set SCT field for Set TR dequeue on streams")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMathias Nyman <mathias.nyman@linux.intel.com>
      Link: https://lore.kernel.org/r/20241016140000.783905-2-mathias.nyman@linux.intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      6599b6a6
    • Alan Stern's avatar
      USB: gadget: dummy-hcd: Fix "task hung" problem · 5189df7b
      Alan Stern authored
      The syzbot fuzzer has been encountering "task hung" problems ever
      since the dummy-hcd driver was changed to use hrtimers instead of
      regular timers.  It turns out that the problems are caused by a subtle
      difference between the timer_pending() and hrtimer_active() APIs.
      
      The changeover blindly replaced the first by the second.  However,
      timer_pending() returns True when the timer is queued but not when its
      callback is running, whereas hrtimer_active() returns True when the
      hrtimer is queued _or_ its callback is running.  This difference
      occasionally caused dummy_urb_enqueue() to think that the callback
      routine had not yet started when in fact it was almost finished.  As a
      result the hrtimer was not restarted, which made it impossible for the
      driver to dequeue later the URB that was just enqueued.  This caused
      usb_kill_urb() to hang, and things got worse from there.
      
      Since hrtimers have no API for telling when they are queued and the
      callback isn't running, the driver must keep track of this for itself.
      That's what this patch does, adding a new "timer_pending" flag and
      setting or clearing it at the appropriate times.
      
      Reported-by: syzbot+f342ea16c9d06d80b585@syzkaller.appspotmail.com
      Closes: https://lore.kernel.org/linux-usb/6709234e.050a0220.3e960.0011.GAE@google.com/
      Tested-by: syzbot+f342ea16c9d06d80b585@syzkaller.appspotmail.com
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Fixes: a7f3813e ("usb: gadget: dummy_hcd: Switch to hrtimer transfer scheduler")
      Cc: Marcello Sylvester Bauer <sylv@sylv.io>
      Cc: stable@vger.kernel.org
      Link: https://lore.kernel.org/r/2dab644e-ef87-4de8-ac9a-26f100b2c609@rowland.harvard.eduSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      5189df7b
  3. 16 Oct, 2024 8 commits
  4. 13 Oct, 2024 5 commits
  5. 12 Oct, 2024 2 commits
  6. 11 Oct, 2024 17 commits
    • Linus Torvalds's avatar
      Merge tag 'linux_kselftest-fixes-6.12-rc3' of... · 09f6b0c8
      Linus Torvalds authored
      Merge tag 'linux_kselftest-fixes-6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull kselftest fixes from Shuah Khan:
       "Fixes for build, run-time errors, and reporting errors:
      
         - ftrace: regression test for a kernel crash when running function
           graph tracing and then enabling function profiler.
      
         - rseq: fix for mm_cid test failure.
      
         - vDSO:
            - fixes to reporting skip and other error conditions
            - changes unconditionally build chacha and getrandom tests on all
              architectures to make it easier for them to run in CIs
            - build error when sched.h to bring in CLONE_NEWTIME define"
      
      * tag 'linux_kselftest-fixes-6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        ftrace/selftest: Test combination of function_graph tracer and function profiler
        selftests/rseq: Fix mm_cid test failure
        selftests: vDSO: Explicitly include sched.h
        selftests: vDSO: improve getrandom and chacha error messages
        selftests: vDSO: unconditionally build getrandom test
        selftests: vDSO: unconditionally build chacha test
      09f6b0c8
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-6.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 974099e4
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
      
       - Disable kunit tests for arm64+ACPI
      
       - Fix refcount issue in kunit tests
      
       - Drop constraints on non-conformant 'interrupt-map' in fsl,ls-extirq
      
       - Drop type ref on 'msi-parent in fsl,qoriq-mc binding
      
       - Move elgin,jg10309-01 to its own binding from trivial-devices
      
      * tag 'devicetree-fixes-for-6.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        of: Skip kunit tests when arm64+ACPI doesn't populate root node
        of: Fix unbalanced of node refcount and memory leaks
        dt-bindings: interrupt-controller: fsl,ls-extirq: workaround wrong interrupt-map number
        dt-bindings: misc: fsl,qoriq-mc: remove ref for msi-parent
        dt-bindings: display: elgin,jg10309-01: Add own binding
      974099e4
    • Linus Torvalds's avatar
      Merge tag 'fbdev-for-6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · 9066258d
      Linus Torvalds authored
      Pull fbdev platform driver fix from Helge Deller:
       "Switch fbdev drivers back to struct platform_driver::remove()
      
        Now that 'remove()' has been converted to the sane new API, there's
        no reason for the 'remove_new()' use, so this converts back to the
        traditional and simpler name.
      
        See commits
      
           5c5a7680 ("platform: Provide a remove callback that returns no value")
           0edb555a ("platform: Make platform_driver::remove() return void")
      
        for background to this all"
      
      * tag 'fbdev-for-6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev:
        fbdev: Switch back to struct platform_driver::remove()
      9066258d
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 547fc322
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
      
       - fix clock handle leak in probe() error path in gpio-aspeed
      
       - add a dummy register read to ensure the write actually completed
      
      * tag 'gpio-fixes-for-v6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: aspeed: Use devm_clk api to manage clock source
        gpio: aspeed: Add the flush write to ensure the write complete.
      547fc322
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-6.12-2' of git://git.linux-nfs.org/projects/anna/linux-nfs · 6254d537
      Linus Torvalds authored
      Pull NFS client fixes from Anna Schumaker:
       "Localio Bugfixes:
         - remove duplicated include in localio.c
         - fix race in NFS calls to nfsd_file_put_local() and nfsd_serv_put()
         - fix Kconfig for NFS_COMMON_LOCALIO_SUPPORT
         - fix nfsd_file tracepoints to handle NULL rqstp pointers
      
        Other Bugfixes:
         - fix program selection loop in svc_process_common
         - fix integer overflow in decode_rc_list()
         - prevent NULL-pointer dereference in nfs42_complete_copies()
         - fix CB_RECALL performance issues when using a large number of
           delegations"
      
      * tag 'nfs-for-6.12-2' of git://git.linux-nfs.org/projects/anna/linux-nfs:
        NFS: remove revoked delegation from server's delegation list
        nfsd/localio: fix nfsd_file tracepoints to handle NULL rqstp
        nfs_common: fix Kconfig for NFS_COMMON_LOCALIO_SUPPORT
        nfs_common: fix race in NFS calls to nfsd_file_put_local() and nfsd_serv_put()
        NFSv4: Prevent NULL-pointer dereference in nfs42_complete_copies()
        SUNRPC: Fix integer overflow in decode_rc_list()
        sunrpc: fix prog selection loop in svc_process_common
        nfs: Remove duplicated include in localio.c
      6254d537
    • Linus Torvalds's avatar
      Merge tag 'rcu.fixes.6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux · a1029768
      Linus Torvalds authored
      Pull RCU fix from Neeraj Upadhyay:
       "Fix rcuog kthread wakeup invocation from softirq context on a CPU
        which has been marked offline.
      
        This can happen when new callbacks are enqueued from a softirq on an
        offline CPU before it calls rcutree_report_cpu_dead(). When this
        happens on NOCB configuration, the rcuog wake-up is deferred through
        an IPI to an online CPU. This is done to avoid call into the scheduler
        which can risk arming the RT-bandwidth after hrtimers have been
        migrated out and disabled.
      
        However, doing IPI call from softirq is not allowed: Fix this by
        forcing deferred rcuog wakeup through the NOCB timer when the CPU is
        offline"
      
      * tag 'rcu.fixes.6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux:
        rcu/nocb: Fix rcuog wake-up from offline softirq
      a1029768
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.12a-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · d947d684
      Linus Torvalds authored
      Pull xen fix from Juergen Gross:
       "A fix for topology information of Xen PV guests"
      
      * tag 'for-linus-6.12a-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        x86/xen: mark boot CPU of PV guest in MSR_IA32_APICBASE
      d947d684
    • Steven Rostedt's avatar
      ftrace/selftest: Test combination of function_graph tracer and function profiler · 4ee5ca9a
      Steven Rostedt authored
      Masami reported a bug when running function graph tracing then the
      function profiler. The following commands would cause a kernel crash:
      
        # cd /sys/kernel/tracing/
        # echo function_graph > current_tracer
        # echo 1 > function_profile_enabled
      
      In that order. Create a test to test this two to make sure this does not
      come back as a regression.
      
      Link: https://lore.kernel.org/172398528350.293426.8347220120333730248.stgit@devnote2
      
      Link: https://lore.kernel.org/all/20241010165235.35122877@gandalf.local.home/Acked-by: default avatarMasami Hiramatsu (Google) <mhiramat@kernel.org>
      Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      4ee5ca9a
    • Mathieu Desnoyers's avatar
      selftests/rseq: Fix mm_cid test failure · a0cc6493
      Mathieu Desnoyers authored
      Adapt the rseq.c/rseq.h code to follow GNU C library changes introduced by:
      
      glibc commit 2e456ccf0c34 ("Linux: Make __rseq_size useful for feature detection (bug 31965)")
      
      Without this fix, rseq selftests for mm_cid fail:
      
      ./run_param_test.sh
      Default parameters
      Running test spinlock
      Running compare-twice test spinlock
      Running mm_cid test spinlock
      Error: cpu id getter unavailable
      
      Fixes: 18c23558 ("selftests/rseq: Implement rseq mm_cid field support")
      Signed-off-by: default avatarMathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      CC: Boqun Feng <boqun.feng@gmail.com>
      CC: "Paul E. McKenney" <paulmck@kernel.org>
      Cc: Shuah Khan <skhan@linuxfoundation.org>
      CC: Carlos O'Donell <carlos@redhat.com>
      CC: Florian Weimer <fweimer@redhat.com>
      CC: linux-kselftest@vger.kernel.org
      CC: stable@vger.kernel.org
      Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
      a0cc6493
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.12-20241011' of git://git.kernel.dk/linux · 9e4c6c1a
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
      
       - Explicitly have a mshot_finished condition for IORING_OP_RECV in
         multishot mode, similarly to what IORING_OP_RECVMSG has. This doesn't
         fix a bug right now, but it makes it harder to actually have a bug
         here if a request takes multiple iterations to finish.
      
       - Fix handling of retry of read/write of !FMODE_NOWAIT files. If they
         are pollable, that's all we need.
      
      * tag 'io_uring-6.12-20241011' of git://git.kernel.dk/linux:
        io_uring/rw: allow pollable non-blocking attempts for !FMODE_NOWAIT
        io_uring/rw: fix cflags posting for single issue multishot read
      9e4c6c1a
    • Linus Torvalds's avatar
      Merge tag 'pm-6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · e643edac
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These address two issues in the TPMI module of the Intel RAPL power
        capping driver and one issue in the processor part of the Intel
        int340x thermal driver, update a CPU ID list and register definitions
        needed for RAPL PL4 support and remove some unused code.
      
        Specifics:
      
         - Fix the TPMI_RAPL_REG_DOMAIN_INFO register offset in the TPMI part
           of the Intel RAPL power capping driver, make it ignore minor
           hardware version mismatches (which only indicate exposing
           additional features) and update register definitions in it to
           enable PL4 support (Zhang Rui)
      
         - Add Arrow Lake-U to the list of processors supporting PL4 in the
           MSR part of the Intel RAPL power capping driver (Sumeet Pawnikar)
      
         - Remove excess pci_disable_device() calls from the processor part of
           the int340x thermal driver to address a warning triggered during
           module unload and remove unused CPU hotplug code related to RAPL
           support from it (Zhang Rui)"
      
      * tag 'pm-6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal: intel: int340x: processor: Add MMIO RAPL PL4 support
        thermal: intel: int340x: processor: Remove MMIO RAPL CPU hotplug support
        powercap: intel_rapl_msr: Add PL4 support for Arrowlake-U
        powercap: intel_rapl_tpmi: Ignore minor version change
        thermal: intel: int340x: processor: Fix warning during module unload
        powercap: intel_rapl_tpmi: Fix bogus register reading
      e643edac
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · f8fafb69
      Linus Torvalds authored
      Pull thermal control fixes from Rafael Wysocki:
       "Address possible use-after-free scenarios during the processing of
        thermal netlink commands and during thermal zone removal (Rafael
        Wysocki)"
      
      * tag 'thermal-6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal: core: Free tzp copy along with the thermal zone
        thermal: core: Reference count the zone in thermal_zone_get_by_id()
      f8fafb69
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 325354cf
      Linus Torvalds authored
      Pull ACPI fixes from Rafael Wysocki:
       "Reduce the number of ACPI IRQ override DMI quirks by combining quirks
        that cover similar systems while making them cover additional models
        at the same time (Hans de Goede)"
      
      * tag 'acpi-6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: resource: Fold Asus Vivobook Pro N6506M* DMI quirks together
        ACPI: resource: Fold Asus ExpertBook B1402C* and B1502C* DMI quirks together
        ACPI: resource: Make Asus ExpertBook B2502 matches cover more models
        ACPI: resource: Make Asus ExpertBook B2402 matches cover more models
      325354cf
    • Linus Torvalds's avatar
      Merge tag 'pmdomain-v6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm · 22e6abaa
      Linus Torvalds authored
      Pull pmdomain fixes from Ulf Hansson:
       "pmdomain core:
         - Fix alloc/free in dev_pm_domain_attach|detach_list()
      
        pmdomain providers:
         - qcom: Fix the return of uninitialized variable
      
        pmdomain consumers:
         - drm/tegra/gr3d: Revert conversion to dev_pm_domain_attach|detach_list()
      
        OPP core:
         - Fix error code in dev_pm_opp_set_config()"
      
      * tag 'pmdomain-v6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm:
        PM: domains: Fix alloc/free in dev_pm_domain_attach|detach_list()
        Revert "drm/tegra: gr3d: Convert into dev_pm_domain_attach|detach_list()"
        pmdomain: qcom-cpr: Fix the return of uninitialized variable
        OPP: fix error code in dev_pm_opp_set_config()
      22e6abaa
    • Linus Torvalds's avatar
      Merge tag 'mmc-v6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 7351a879
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
       "MMC core:
         - Prevent splat from warning when setting maximum DMA segment
      
        MMC host:
         - mvsdio: Drop sg_miter support for PIO as it didn't work
         - sdhci-of-dwcmshc: Prevent stale interrupt for the T-Head 1520
           variant"
      
      * tag 'mmc-v6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: sdhci-of-dwcmshc: Prevent stale command interrupt handling
        Revert "mmc: mvsdio: Use sg_miter for PIO"
        mmc: core: Only set maximum DMA segment size if DMA is supported
      7351a879
    • Linus Torvalds's avatar
      Merge tag 'ata-6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux · 3700dc91
      Linus Torvalds authored
      Pull ata fixes from Niklas Cassel:
      
       - Fix a hibernate regression where the disk was needlessly spun down
         and then immediately spun up both when entering and when resuming
         from hibernation (me)
      
       - Update the MAINTAINERS file to remove remnants from Jens
         maintainership of libata (Damien)
      
      * tag 'ata-6.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux:
        ata: libata: Update MAINTAINERS file
        ata: libata: avoid superfluous disk spin down + spin up during hibernation
      3700dc91
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2024-10-11' of https://gitlab.freedesktop.org/drm/kernel · befcc893
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Weekly fixes haul for drm, lots of small fixes all over, amdgpu, xe
        lead the way, some minor nouveau and radeon fixes, and then a bunch of
        misc all over.
      
        Nothing too scary or out of the unusual.
      
        sched:
         - Avoid leaking lockdep map
      
        fbdev-dma:
         - Only clean up deferred I/O if instanciated
      
        amdgpu:
         - Fix invalid UBSAN warnings
         - Fix artifacts in MPO transitions
         - Hibernation fix
      
        amdkfd:
         - Fix an eviction fence leak
      
        radeon:
         - Add late register for connectors
         - Always set GEM function pointers
      
        i915:
         - HDCP refcount fix
      
        nouveau:
         - dmem: Fix privileged error in copy engine channel; Fix possible
           data leak in migrate_to_ram()
         - gsp: Fix coding style
      
        v3d:
         - Stop active perfmon before destroying it
      
        vc4:
         - Stop active perfmon before destroying it
      
        xe:
         - Drop GuC submit_wq pool
         - Fix error checking with xa_store()
         - Fix missing freq restore on GSC load error
         - Fix wedged_mode file permission
         - Fix use-after-free in ct communication"
      
      * tag 'drm-fixes-2024-10-11' of https://gitlab.freedesktop.org/drm/kernel:
        drm/fbdev-dma: Only cleanup deferred I/O if necessary
        drm/xe: Make wedged_mode debugfs writable
        drm/xe: Restore GT freq on GSC load error
        drm/xe/guc_submit: fix xa_store() error checking
        drm/xe/ct: fix xa_store() error checking
        drm/xe/ct: prevent UAF in send_recv()
        drm/radeon: always set GEM function pointer
        nouveau/dmem: Fix vulnerability in migrate_to_ram upon copy error
        nouveau/dmem: Fix privileged error in copy engine channel
        drm/amd/display: fix hibernate entry for DCN35+
        drm/amd/display: Clear update flags after update has been applied
        drm/amdgpu: partially revert powerplay `__counted_by` changes
        drm/radeon: add late_register for connector
        drm/amdkfd: Fix an eviction fence leak
        drm/vc4: Stop the active perfmon before being destroyed
        drm/v3d: Stop the active perfmon before being destroyed
        drm/i915/hdcp: fix connector refcounting
        drm/nouveau/gsp: remove extraneous ; after mutex
        drm/xe: Drop GuC submit_wq pool
        drm/sched: Use drm sched lockdep map for submit_wq
      befcc893