Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove retries++ from retry loop #13

Closed
wants to merge 4 commits into from
Closed

Conversation

Antidote
Copy link

The current logic allows for a corner case where neither remaining_rx and retries never reach 0 resulting in an infinite loop due to an accidental increment.

marcan and others added 4 commits December 9, 2021 21:55
Signed-off-by: Hector Martin <marcan@marcan.st>
Signed-off-by: Hector Martin <marcan@marcan.st>
Signed-off-by: Hector Martin <marcan@marcan.st>
The current logic allows for a corner case where neither `remaining_rx` and `retries` never reach 0 resulting in an infinite loop due to an accidental increment.
@marcan
Copy link
Member

marcan commented Dec 10, 2021

Please don't submit PRs like this on this repo; we do not currently have a process for using PRs for the kernel trees, and they don't make sense for this kind of trivial fix stuff for in-development drivers, since those commits should be issued as fixups and squashed. This branch is frequently rebased, and PRs are unlikely to work properly due to that too.

Instead, I suggest you mention it on IRC, and if you want to offer a fix commit, please do it as a fixup (git commit --fixup) and I'll merge it manually.

About 5 different people pointed this one out through different channels; it's already fixed :-)

@marcan marcan closed this Dec 10, 2021
marcan added a commit that referenced this pull request Feb 6, 2022
t8103:
- WLAN (SMC PMU GPIO #13)
t600x:
- WLAN (SMC PMU GPIO #13)
- SD (SMC PMU GPIO #26)

Signed-off-by: Hector Martin <marcan@marcan.st>
marcan added a commit that referenced this pull request Feb 6, 2022
t8103:
- WLAN (SMC PMU GPIO #13)
t600x:
- WLAN (SMC PMU GPIO #13)
- SD (SMC PMU GPIO #26)

Signed-off-by: Hector Martin <marcan@marcan.st>
marcan added a commit that referenced this pull request Feb 7, 2022
t8103:
- WLAN (SMC PMU GPIO #13)
t600x:
- WLAN (SMC PMU GPIO #13)
- SD (SMC PMU GPIO #26)

Signed-off-by: Hector Martin <marcan@marcan.st>
mathiasgredal pushed a commit to mathiasgredal/linux that referenced this pull request Feb 7, 2022
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
marcan added a commit that referenced this pull request Feb 15, 2022
t8103:
- WLAN (SMC PMU GPIO #13)
t600x:
- WLAN (SMC PMU GPIO #13)
- SD (SMC PMU GPIO #26)

Signed-off-by: Hector Martin <marcan@marcan.st>
marcan added a commit that referenced this pull request Feb 19, 2022
t8103:
- WLAN (SMC PMU GPIO #13)
t600x:
- WLAN (SMC PMU GPIO #13)
- SD (SMC PMU GPIO #26)

Signed-off-by: Hector Martin <marcan@marcan.st>
svenpeter42 pushed a commit that referenced this pull request Feb 26, 2022
When bringing down the netdevice or system shutdown, a panic can be
triggered while accessing the sysfs path because the device is already
removed.

    [  755.549084] mlx5_core 0000:12:00.1: Shutdown was called
    [  756.404455] mlx5_core 0000:12:00.0: Shutdown was called
    ...
    [  757.937260] BUG: unable to handle kernel NULL pointer dereference at           (null)
    [  758.031397] IP: [<ffffffff8ee11acb>] dma_pool_alloc+0x1ab/0x280

    crash> bt
    ...
    PID: 12649  TASK: ffff8924108f2100  CPU: 1   COMMAND: "amsd"
    ...
     #9 [ffff89240e1a38b0] page_fault at ffffffff8f38c778
        [exception RIP: dma_pool_alloc+0x1ab]
        RIP: ffffffff8ee11acb  RSP: ffff89240e1a3968  RFLAGS: 00010046
        RAX: 0000000000000246  RBX: ffff89243d874100  RCX: 0000000000001000
        RDX: 0000000000000000  RSI: 0000000000000246  RDI: ffff89243d874090
        RBP: ffff89240e1a39c0   R8: 000000000001f080   R9: ffff8905ffc03c00
        R10: ffffffffc04680d4  R11: ffffffff8edde9fd  R12: 00000000000080d0
        R13: ffff89243d874090  R14: ffff89243d874080  R15: 0000000000000000
        ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
    #10 [ffff89240e1a39c8] mlx5_alloc_cmd_msg at ffffffffc04680f3 [mlx5_core]
    #11 [ffff89240e1a3a18] cmd_exec at ffffffffc046ad62 [mlx5_core]
    #12 [ffff89240e1a3ab8] mlx5_cmd_exec at ffffffffc046b4fb [mlx5_core]
    #13 [ffff89240e1a3ae8] mlx5_core_access_reg at ffffffffc0475434 [mlx5_core]
    #14 [ffff89240e1a3b40] mlx5e_get_fec_caps at ffffffffc04a7348 [mlx5_core]
    #15 [ffff89240e1a3bb0] get_fec_supported_advertised at ffffffffc04992bf [mlx5_core]
    #16 [ffff89240e1a3c08] mlx5e_get_link_ksettings at ffffffffc049ab36 [mlx5_core]
    #17 [ffff89240e1a3ce8] __ethtool_get_link_ksettings at ffffffff8f25db46
    #18 [ffff89240e1a3d48] speed_show at ffffffff8f277208
    #19 [ffff89240e1a3dd8] dev_attr_show at ffffffff8f0b70e3
    #20 [ffff89240e1a3df8] sysfs_kf_seq_show at ffffffff8eedbedf
    #21 [ffff89240e1a3e18] kernfs_seq_show at ffffffff8eeda596
    #22 [ffff89240e1a3e28] seq_read at ffffffff8ee76d10
    #23 [ffff89240e1a3e98] kernfs_fop_read at ffffffff8eedaef5
    #24 [ffff89240e1a3ed8] vfs_read at ffffffff8ee4e3ff
    #25 [ffff89240e1a3f08] sys_read at ffffffff8ee4f27f
    #26 [ffff89240e1a3f50] system_call_fastpath at ffffffff8f395f92

    crash> net_device.state ffff89443b0c0000
      state = 0x5  (__LINK_STATE_START| __LINK_STATE_NOCARRIER)

To prevent this scenario, we also make sure that the netdevice is present.

Signed-off-by: suresh kumar <suresh2514@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
marcan added a commit that referenced this pull request Mar 11, 2022
t8103:
- WLAN (SMC PMU GPIO #13)
t600x:
- WLAN (SMC PMU GPIO #13)
- SD (SMC PMU GPIO #26)

Signed-off-by: Hector Martin <marcan@marcan.st>
asahilina pushed a commit that referenced this pull request Aug 17, 2022
t8103:
- WLAN (SMC PMU GPIO #13)
t600x:
- WLAN (SMC PMU GPIO #13)
- SD (SMC PMU GPIO #26)

Signed-off-by: Hector Martin <marcan@marcan.st>
asahilina pushed a commit that referenced this pull request Aug 17, 2022
t8103:
- WLAN (SMC PMU GPIO #13)
t600x:
- WLAN (SMC PMU GPIO #13)
- SD (SMC PMU GPIO #26)

Signed-off-by: Hector Martin <marcan@marcan.st>
marcan added a commit that referenced this pull request Sep 12, 2022
t8103:
- WLAN (SMC PMU GPIO #13)
t600x:
- WLAN (SMC PMU GPIO #13)
- SD (SMC PMU GPIO #26)

Signed-off-by: Hector Martin <marcan@marcan.st>
marcan added a commit that referenced this pull request Sep 12, 2022
t8103:
- WLAN (SMC PMU GPIO #13)
t600x:
- WLAN (SMC PMU GPIO #13)
- SD (SMC PMU GPIO #26)

Signed-off-by: Hector Martin <marcan@marcan.st>
marcan pushed a commit that referenced this pull request Oct 24, 2022
Poll CQ functions shouldn't sleep as they are called in atomic context.
The following splat appears once the mlx5_aso_poll_cq() is used in such
flow.

 BUG: scheduling while atomic: swapper/17/0/0x00000100
 Modules linked in: sch_ingress openvswitch nsh mlx5_vdpa vringh vhost_iotlb vdpa mlx5_ib mlx5_core xt_conntrack xt_MASQUERADE nf_conntrack_netlink nfnetlink xt_addrtype iptable_nat nf_nat br_netfilter overlay rpcrdma rdma_ucm ib_iser libiscsi scsi_transport_iscsi ib_umad rdma_cm ib_ipoib iw_cm ib_cm ib_uverbs ib_core fuse [last unloaded: mlx5_core]
 CPU: 17 PID: 0 Comm: swapper/17 Tainted: G        W          6.0.0-rc2+ #13
 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014
 Call Trace:
  <IRQ>
  dump_stack_lvl+0x34/0x44
  __schedule_bug.cold+0x47/0x53
  __schedule+0x4b6/0x670
  ? hrtimer_start_range_ns+0x28d/0x360
  schedule+0x50/0x90
  schedule_hrtimeout_range_clock+0x98/0x120
  ? __hrtimer_init+0xb0/0xb0
  usleep_range_state+0x60/0x90
  mlx5_aso_poll_cq+0xad/0x190 [mlx5_core]
  mlx5e_ipsec_aso_update_curlft+0x81/0xb0 [mlx5_core]
  xfrm_timer_handler+0x6b/0x360
  ? xfrm_find_acq_byseq+0x50/0x50
  __hrtimer_run_queues+0x139/0x290
  hrtimer_run_softirq+0x7d/0xe0
  __do_softirq+0xc7/0x272
  irq_exit_rcu+0x87/0xb0
  sysvec_apic_timer_interrupt+0x72/0x90
  </IRQ>
  <TASK>
  asm_sysvec_apic_timer_interrupt+0x16/0x20
 RIP: 0010:default_idle+0x18/0x20
 Code: ae 7d ff ff cc cc cc cc cc cc cc cc cc cc cc cc cc cc 0f 1f 44 00 00 8b 05 b5 30 0d 01 85 c0 7e 07 0f 00 2d 0a e3 53 00 fb f4 <c3> 0f 1f 80 00 00 00 00 0f 1f 44 00 00 65 48 8b 04 25 80 ad 01 00
 RSP: 0018:ffff888100883ee0 EFLAGS: 00000242
 RAX: 0000000000000001 RBX: ffff888100849580 RCX: 4000000000000000
 RDX: 0000000000000001 RSI: 0000000000000083 RDI: 000000000008863c
 RBP: 0000000000000011 R08: 00000064e6977fa9 R09: 0000000000000001
 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
  default_idle_call+0x37/0xb0
  do_idle+0x1cd/0x1e0
  cpu_startup_entry+0x19/0x20
  start_secondary+0xfe/0x120
  secondary_startup_64_no_verify+0xcd/0xdb
  </TASK>
 softirq: huh, entered softirq 8 HRTIMER 00000000a97c08cb with preempt_count 00000100, exited with 00000000?

Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
chadmed pushed a commit to chadmed/linux that referenced this pull request Oct 27, 2022
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
chadmed pushed a commit to chadmed/linux that referenced this pull request Oct 27, 2022
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
WhatAmISupposedToPutHere pushed a commit to WhatAmISupposedToPutHere/linux that referenced this pull request Nov 4, 2022
While booting secondary CPUs, cpus_read_[lock/unlock] is not keeping
online cpumask stable. The transient online mask results in below
calltrace.

[    0.324121] CPU1: Booted secondary processor 0x0000000001 [0x410fd083]
[    0.346652] Detected PIPT I-cache on CPU2
[    0.347212] CPU2: Booted secondary processor 0x0000000002 [0x410fd083]
[    0.377255] Detected PIPT I-cache on CPU3
[    0.377823] CPU3: Booted secondary processor 0x0000000003 [0x410fd083]
[    0.379040] ------------[ cut here ]------------
[    0.383662] WARNING: CPU: 0 PID: 10 at kernel/workqueue.c:3084 __flush_work+0x12c/0x138
[    0.384850] Modules linked in:
[    0.385403] CPU: 0 PID: 10 Comm: rcu_tasks_rude_ Not tainted 5.17.0-rc3-v8+ AsahiLinux#13
[    0.386473] Hardware name: Raspberry Pi 4 Model B Rev 1.4 (DT)
[    0.387289] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[    0.388308] pc : __flush_work+0x12c/0x138
[    0.388970] lr : __flush_work+0x80/0x138
[    0.389620] sp : ffffffc00aaf3c60
[    0.390139] x29: ffffffc00aaf3d20 x28: ffffffc009c16af0 x27: ffffff80f761df48
[    0.391316] x26: 0000000000000004 x25: 0000000000000003 x24: 0000000000000100
[    0.392493] x23: ffffffffffffffff x22: ffffffc009c16b10 x21: ffffffc009c16b28
[    0.393668] x20: ffffffc009e53861 x19: ffffff80f77fbf40 x18: 00000000d744fcc9
[    0.394842] x17: 000000000000000b x16: 00000000000001c2 x15: ffffffc009e57550
[    0.396016] x14: 0000000000000000 x13: ffffffffffffffff x12: 0000000100000000
[    0.397190] x11: 0000000000000462 x10: ffffff8040258008 x9 : 0000000100000000
[    0.398364] x8 : 0000000000000000 x7 : ffffffc0093c8bf4 x6 : 0000000000000000
[    0.399538] x5 : 0000000000000000 x4 : ffffffc00a976e40 x3 : ffffffc00810444c
[    0.400711] x2 : 0000000000000004 x1 : 0000000000000000 x0 : 0000000000000000
[    0.401886] Call trace:
[    0.402309]  __flush_work+0x12c/0x138
[    0.402941]  schedule_on_each_cpu+0x228/0x278
[    0.403693]  rcu_tasks_rude_wait_gp+0x130/0x144
[    0.404502]  rcu_tasks_kthread+0x220/0x254
[    0.405264]  kthread+0x174/0x1ac
[    0.405837]  ret_from_fork+0x10/0x20
[    0.406456] irq event stamp: 102
[    0.406966] hardirqs last  enabled at (101): [<ffffffc0093c8468>] _raw_spin_unlock_irq+0x78/0xb4
[    0.408304] hardirqs last disabled at (102): [<ffffffc0093b8270>] el1_dbg+0x24/0x5c
[    0.409410] softirqs last  enabled at (54): [<ffffffc0081b80c8>] local_bh_enable+0xc/0x2c
[    0.410645] softirqs last disabled at (50): [<ffffffc0081b809c>] local_bh_disable+0xc/0x2c
[    0.411890] ---[ end trace 0000000000000000 ]---
[    0.413000] smp: Brought up 1 node, 4 CPUs
[    0.413762] SMP: Total of 4 processors activated.
[    0.414566] CPU features: detected: 32-bit EL0 Support
[    0.415414] CPU features: detected: 32-bit EL1 Support
[    0.416278] CPU features: detected: CRC32 instructions
[    0.447021] Callback from call_rcu_tasks_rude() invoked.
[    0.506693] Callback from call_rcu_tasks() invoked.

This commit therefore fixes this issue by applying a single-CPU
optimization to the RCU Tasks Rude grace-period process.  The key point
here is that the purpose of this RCU flavor is to force a schedule on
each online CPU since some past event.  But the rcu_tasks_rude_wait_gp()
function runs in the context of the RCU Tasks Rude's grace-period kthread,
so there must already have been a context switch on the current CPU since
the call to either synchronize_rcu_tasks_rude() or call_rcu_tasks_rude().
So if there is only a single CPU online, RCU Tasks Rude's grace-period
kthread does not need to anything at all.

It turns out that the rcu_tasks_rude_wait_gp() function's call to
schedule_on_each_cpu() causes problems during early boot.  During that
time, there is only one online CPU, namely the boot CPU.  Therefore,
applying this single-CPU optimization fixes early-boot instances of
this problem.

Link: https://lore.kernel.org/lkml/20220210184319.25009-1-treasure4paddy@gmail.com/T/
Suggested-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Padmanabha Srinivasaiah <treasure4paddy@gmail.com>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
WhatAmISupposedToPutHere pushed a commit to WhatAmISupposedToPutHere/linux that referenced this pull request Nov 4, 2022
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
chadmed pushed a commit to chadmed/linux that referenced this pull request Nov 27, 2022
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
chadmed pushed a commit to chadmed/linux that referenced this pull request Nov 27, 2022
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
marcan added a commit that referenced this pull request Nov 28, 2022
t8103:
- WLAN (SMC PMU GPIO #13)
t600x:
- WLAN (SMC PMU GPIO #13)
- SD (SMC PMU GPIO #26)

Signed-off-by: Hector Martin <marcan@marcan.st>
marcan added a commit that referenced this pull request Nov 28, 2022
t8103:
- WLAN (SMC PMU GPIO #13)
t600x:
- WLAN (SMC PMU GPIO #13)
- SD (SMC PMU GPIO #26)

Signed-off-by: Hector Martin <marcan@marcan.st>
chadmed pushed a commit to chadmed/linux that referenced this pull request Dec 9, 2022
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
chadmed pushed a commit to chadmed/linux that referenced this pull request Dec 9, 2022
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
marcan pushed a commit that referenced this pull request Jul 14, 2023
…plate

When commit 19343b5 ("mm/page-writeback: introduce tracepoint for
wait_on_page_writeback()") repurposed the writeback_dirty_page trace event
as a template to create its new wait_on_page_writeback trace event, it
ended up opening a window to NULL pointer dereference crashes due to the
(infrequent) occurrence of a race where an access to a page in the
swap-cache happens concurrently with the moment this page is being written
to disk and the tracepoint is enabled:

    BUG: kernel NULL pointer dereference, address: 0000000000000040
    #PF: supervisor read access in kernel mode
    #PF: error_code(0x0000) - not-present page
    PGD 800000010ec0a067 P4D 800000010ec0a067 PUD 102353067 PMD 0
    Oops: 0000 [#1] PREEMPT SMP PTI
    CPU: 1 PID: 1320 Comm: shmem-worker Kdump: loaded Not tainted 6.4.0-rc5+ #13
    Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS edk2-20230301gitf80f052277c8-1.fc37 03/01/2023
    RIP: 0010:trace_event_raw_event_writeback_folio_template+0x76/0xf0
    Code: 4d 85 e4 74 5c 49 8b 3c 24 e8 06 98 ee ff 48 89 c7 e8 9e 8b ee ff ba 20 00 00 00 48 89 ef 48 89 c6 e8 fe d4 1a 00 49 8b 04 24 <48> 8b 40 40 48 89 43 28 49 8b 45 20 48 89 e7 48 89 43 30 e8 a2 4d
    RSP: 0000:ffffaad580b6fb60 EFLAGS: 00010246
    RAX: 0000000000000000 RBX: ffff90e38035c01c RCX: 0000000000000000
    RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff90e38035c044
    RBP: ffff90e38035c024 R08: 0000000000000002 R09: 0000000000000006
    R10: ffff90e38035c02e R11: 0000000000000020 R12: ffff90e380bac000
    R13: ffffe3a7456d9200 R14: 0000000000001b81 R15: ffffe3a7456d9200
    FS:  00007f2e4e8a15c0(0000) GS:ffff90e3fbc80000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 0000000000000040 CR3: 00000001150c6003 CR4: 0000000000170ee0
    Call Trace:
     <TASK>
     ? __die+0x20/0x70
     ? page_fault_oops+0x76/0x170
     ? kernelmode_fixup_or_oops+0x84/0x110
     ? exc_page_fault+0x65/0x150
     ? asm_exc_page_fault+0x22/0x30
     ? trace_event_raw_event_writeback_folio_template+0x76/0xf0
     folio_wait_writeback+0x6b/0x80
     shmem_swapin_folio+0x24a/0x500
     ? filemap_get_entry+0xe3/0x140
     shmem_get_folio_gfp+0x36e/0x7c0
     ? find_busiest_group+0x43/0x1a0
     shmem_fault+0x76/0x2a0
     ? __update_load_avg_cfs_rq+0x281/0x2f0
     __do_fault+0x33/0x130
     do_read_fault+0x118/0x160
     do_pte_missing+0x1ed/0x2a0
     __handle_mm_fault+0x566/0x630
     handle_mm_fault+0x91/0x210
     do_user_addr_fault+0x22c/0x740
     exc_page_fault+0x65/0x150
     asm_exc_page_fault+0x22/0x30

This problem arises from the fact that the repurposed writeback_dirty_page
trace event code was written assuming that every pointer to mapping
(struct address_space) would come from a file-mapped page-cache object,
thus mapping->host would always be populated, and that was a valid case
before commit 19343b5.  The swap-cache address space
(swapper_spaces), however, doesn't populate its ->host (struct inode)
pointer, thus leading to the crashes in the corner-case aforementioned.

commit 19343b5 ended up breaking the assignment of __entry->name and
__entry->ino for the wait_on_page_writeback tracepoint -- both dependent
on mapping->host carrying a pointer to a valid inode.  The assignment of
__entry->name was fixed by commit 68f23b8 ("memcg: fix a crash in
wb_workfn when a device disappears"), and this commit fixes the remaining
case, for __entry->ino.

Link: https://lkml.kernel.org/r/20230606233613.1290819-1-aquini@redhat.com
Fixes: 19343b5 ("mm/page-writeback: introduce tracepoint for wait_on_page_writeback()")
Signed-off-by: Rafael Aquini <aquini@redhat.com>
Reviewed-by: Yafang Shao <laoar.shao@gmail.com>
Cc: Aristeu Rozanski <aris@redhat.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
dberlin pushed a commit to dberlin/linux that referenced this pull request Oct 9, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
dberlin pushed a commit to dberlin/linux that referenced this pull request Oct 9, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
dberlin pushed a commit to dberlin/linux that referenced this pull request Oct 27, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
dberlin pushed a commit to dberlin/linux that referenced this pull request Oct 27, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
dberlin pushed a commit to dberlin/linux that referenced this pull request Oct 29, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
dberlin pushed a commit to dberlin/linux that referenced this pull request Oct 29, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
dberlin pushed a commit to dberlin/linux that referenced this pull request Oct 30, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
dberlin pushed a commit to dberlin/linux that referenced this pull request Oct 30, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
dberlin pushed a commit to dberlin/linux that referenced this pull request Nov 8, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
dberlin pushed a commit to dberlin/linux that referenced this pull request Nov 8, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
dberlin pushed a commit to dberlin/linux that referenced this pull request Nov 12, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
dberlin pushed a commit to dberlin/linux that referenced this pull request Nov 12, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
dberlin pushed a commit to dberlin/linux that referenced this pull request Nov 12, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
dberlin pushed a commit to dberlin/linux that referenced this pull request Nov 12, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
dberlin pushed a commit to dberlin/linux that referenced this pull request Nov 18, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
dberlin pushed a commit to dberlin/linux that referenced this pull request Nov 18, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
dberlin pushed a commit to dberlin/linux that referenced this pull request Nov 20, 2023
[ Upstream commit ede72dc ]

Fuzzing found that an invalid tracepoint name would create a memory
leak with an address sanitizer build:
```
$ perf stat -e '*:o/' true
event syntax error: '*:o/'
                       \___ parser error
Run 'perf list' for a list of valid events

 Usage: perf stat [<options>] [<command>]

    -e, --event <event>   event selector. use 'perf list' to list available events

=================================================================
==59380==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 4 byte(s) in 2 object(s) allocated from:
    #0 0x7f38ac07077b in __interceptor_strdup ../../../../src/libsanitizer/asan/asan_interceptors.cpp:439
    AsahiLinux#1 0x55f2f41be73b in str util/parse-events.l:49
    AsahiLinux#2 0x55f2f41d08e8 in parse_events_lex util/parse-events.l:338
    AsahiLinux#3 0x55f2f41dc3b1 in parse_events_parse util/parse-events-bison.c:1464
    AsahiLinux#4 0x55f2f410b8b3 in parse_events__scanner util/parse-events.c:1822
    AsahiLinux#5 0x55f2f410d1b9 in __parse_events util/parse-events.c:2094
    AsahiLinux#6 0x55f2f410e57f in parse_events_option util/parse-events.c:2279
    AsahiLinux#7 0x55f2f4427b56 in get_value tools/lib/subcmd/parse-options.c:251
    AsahiLinux#8 0x55f2f4428d98 in parse_short_opt tools/lib/subcmd/parse-options.c:351
    AsahiLinux#9 0x55f2f4429d80 in parse_options_step tools/lib/subcmd/parse-options.c:539
    AsahiLinux#10 0x55f2f442acb9 in parse_options_subcommand tools/lib/subcmd/parse-options.c:654
    AsahiLinux#11 0x55f2f3ec99fc in cmd_stat tools/perf/builtin-stat.c:2501
    AsahiLinux#12 0x55f2f4093289 in run_builtin tools/perf/perf.c:322
    AsahiLinux#13 0x55f2f40937f5 in handle_internal_command tools/perf/perf.c:375
    AsahiLinux#14 0x55f2f4093bbd in run_argv tools/perf/perf.c:419
    AsahiLinux#15 0x55f2f409412b in main tools/perf/perf.c:535

SUMMARY: AddressSanitizer: 4 byte(s) leaked in 2 allocation(s).
```
Fix by adding the missing destructor.

Fixes: 865582c ("perf tools: Adds the tracepoint name parsing support")
Signed-off-by: Ian Rogers <irogers@google.com>
Cc: He Kuang <hekuang@huawei.com>
Link: https://lore.kernel.org/r/20230914164028.363220-1-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
dberlin pushed a commit to dberlin/linux that referenced this pull request Nov 20, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
dberlin pushed a commit to dberlin/linux that referenced this pull request Nov 20, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
dberlin pushed a commit to dberlin/linux that referenced this pull request Nov 23, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
dberlin pushed a commit to dberlin/linux that referenced this pull request Nov 23, 2023
t8103:
- WLAN (SMC PMU GPIO AsahiLinux#13)
t600x:
- WLAN (SMC PMU GPIO AsahiLinux#13)
- SD (SMC PMU GPIO AsahiLinux#26)

Signed-off-by: Hector Martin <marcan@marcan.st>
marcan pushed a commit that referenced this pull request Jan 19, 2024
When creating ceq_0 during probing irdma, cqp.sc_cqp will be sent as a
cqp_request to cqp->sc_cqp.sq_ring. If the request is pending when
removing the irdma driver or unplugging its aux device, cqp.sc_cqp will be
dereferenced as wrong struct in irdma_free_pending_cqp_request().

  PID: 3669   TASK: ffff88aef892c000  CPU: 28  COMMAND: "kworker/28:0"
   #0 [fffffe0000549e38] crash_nmi_callback at ffffffff810e3a34
   #1 [fffffe0000549e40] nmi_handle at ffffffff810788b2
   #2 [fffffe0000549ea0] default_do_nmi at ffffffff8107938f
   #3 [fffffe0000549eb8] do_nmi at ffffffff81079582
   #4 [fffffe0000549ef0] end_repeat_nmi at ffffffff82e016b4
      [exception RIP: native_queued_spin_lock_slowpath+1291]
      RIP: ffffffff8127e72b  RSP: ffff88aa841ef778  RFLAGS: 00000046
      RAX: 0000000000000000  RBX: ffff88b01f849700  RCX: ffffffff8127e47e
      RDX: 0000000000000000  RSI: 0000000000000004  RDI: ffffffff83857ec0
      RBP: ffff88afe3e4efc8   R8: ffffed15fc7c9dfa   R9: ffffed15fc7c9dfa
      R10: 0000000000000001  R11: ffffed15fc7c9df9  R12: 0000000000740000
      R13: ffff88b01f849708  R14: 0000000000000003  R15: ffffed1603f092e1
      ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0000
  -- <NMI exception stack> --
   #5 [ffff88aa841ef778] native_queued_spin_lock_slowpath at ffffffff8127e72b
   #6 [ffff88aa841ef7b0] _raw_spin_lock_irqsave at ffffffff82c22aa4
   #7 [ffff88aa841ef7c8] __wake_up_common_lock at ffffffff81257363
   #8 [ffff88aa841ef888] irdma_free_pending_cqp_request at ffffffffa0ba12cc [irdma]
   #9 [ffff88aa841ef958] irdma_cleanup_pending_cqp_op at ffffffffa0ba1469 [irdma]
   #10 [ffff88aa841ef9c0] irdma_ctrl_deinit_hw at ffffffffa0b2989f [irdma]
   #11 [ffff88aa841efa28] irdma_remove at ffffffffa0b252df [irdma]
   #12 [ffff88aa841efae8] auxiliary_bus_remove at ffffffff8219afdb
   #13 [ffff88aa841efb00] device_release_driver_internal at ffffffff821882e6
   #14 [ffff88aa841efb38] bus_remove_device at ffffffff82184278
   #15 [ffff88aa841efb88] device_del at ffffffff82179d23
   #16 [ffff88aa841efc48] ice_unplug_aux_dev at ffffffffa0eb1c14 [ice]
   #17 [ffff88aa841efc68] ice_service_task at ffffffffa0d88201 [ice]
   #18 [ffff88aa841efde8] process_one_work at ffffffff811c589a
   #19 [ffff88aa841efe60] worker_thread at ffffffff811c71ff
   #20 [ffff88aa841eff10] kthread at ffffffff811d87a0
   #21 [ffff88aa841eff50] ret_from_fork at ffffffff82e0022f

Fixes: 44d9e52 ("RDMA/irdma: Implement device initialization definitions")
Link: https://lore.kernel.org/r/20231130081415.891006-1-lishifeng@sangfor.com.cn
Suggested-by: "Ismail, Mustafa" <mustafa.ismail@intel.com>
Signed-off-by: Shifeng Li <lishifeng@sangfor.com.cn>
Reviewed-by: Shiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
svenpeter42 pushed a commit that referenced this pull request Apr 17, 2024
t8103:
- WLAN (SMC PMU GPIO #13)
t600x:
- WLAN (SMC PMU GPIO #13)
- SD (SMC PMU GPIO #26)

Signed-off-by: Hector Martin <marcan@marcan.st>
svenpeter42 pushed a commit that referenced this pull request Apr 17, 2024
t8103:
- WLAN (SMC PMU GPIO #13)
t600x:
- WLAN (SMC PMU GPIO #13)
- SD (SMC PMU GPIO #26)

Signed-off-by: Hector Martin <marcan@marcan.st>
jannau pushed a commit that referenced this pull request Apr 29, 2024
t8103:
- WLAN (SMC PMU GPIO #13)
t600x:
- WLAN (SMC PMU GPIO #13)
- SD (SMC PMU GPIO #26)

Signed-off-by: Hector Martin <marcan@marcan.st>
jannau pushed a commit that referenced this pull request Apr 29, 2024
t8103:
- WLAN (SMC PMU GPIO #13)
t600x:
- WLAN (SMC PMU GPIO #13)
- SD (SMC PMU GPIO #26)

Signed-off-by: Hector Martin <marcan@marcan.st>
jannau pushed a commit that referenced this pull request Apr 29, 2024
[ Upstream commit f8bbc07 ]

vhost_worker will call tun call backs to receive packets. If too many
illegal packets arrives, tun_do_read will keep dumping packet contents.
When console is enabled, it will costs much more cpu time to dump
packet and soft lockup will be detected.

net_ratelimit mechanism can be used to limit the dumping rate.

PID: 33036    TASK: ffff949da6f20000  CPU: 23   COMMAND: "vhost-32980"
 #0 [fffffe00003fce50] crash_nmi_callback at ffffffff89249253
 #1 [fffffe00003fce58] nmi_handle at ffffffff89225fa3
 #2 [fffffe00003fceb0] default_do_nmi at ffffffff8922642e
 #3 [fffffe00003fced0] do_nmi at ffffffff8922660d
 #4 [fffffe00003fcef0] end_repeat_nmi at ffffffff89c01663
    [exception RIP: io_serial_in+20]
    RIP: ffffffff89792594  RSP: ffffa655314979e8  RFLAGS: 00000002
    RAX: ffffffff89792500  RBX: ffffffff8af428a0  RCX: 0000000000000000
    RDX: 00000000000003fd  RSI: 0000000000000005  RDI: ffffffff8af428a0
    RBP: 0000000000002710   R8: 0000000000000004   R9: 000000000000000f
    R10: 0000000000000000  R11: ffffffff8acbf64f  R12: 0000000000000020
    R13: ffffffff8acbf698  R14: 0000000000000058  R15: 0000000000000000
    ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
 #5 [ffffa655314979e8] io_serial_in at ffffffff89792594
 #6 [ffffa655314979e8] wait_for_xmitr at ffffffff89793470
 #7 [ffffa65531497a08] serial8250_console_putchar at ffffffff897934f6
 #8 [ffffa65531497a20] uart_console_write at ffffffff8978b605
 #9 [ffffa65531497a48] serial8250_console_write at ffffffff89796558
 #10 [ffffa65531497ac8] console_unlock at ffffffff89316124
 #11 [ffffa65531497b10] vprintk_emit at ffffffff89317c07
 #12 [ffffa65531497b68] printk at ffffffff89318306
 #13 [ffffa65531497bc8] print_hex_dump at ffffffff89650765
 #14 [ffffa65531497ca8] tun_do_read at ffffffffc0b06c27 [tun]
 #15 [ffffa65531497d38] tun_recvmsg at ffffffffc0b06e34 [tun]
 #16 [ffffa65531497d68] handle_rx at ffffffffc0c5d682 [vhost_net]
 #17 [ffffa65531497ed0] vhost_worker at ffffffffc0c644dc [vhost]
 #18 [ffffa65531497f10] kthread at ffffffff892d2e72
 #19 [ffffa65531497f50] ret_from_fork at ffffffff89c0022f

Fixes: ef3db4a ("tun: avoid BUG, dump packet on GSO errors")
Signed-off-by: Lei Chen <lei.chen@smartx.com>
Reviewed-by: Willem de Bruijn <willemb@google.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Link: https://lore.kernel.org/r/20240415020247.2207781-1-lei.chen@smartx.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
jannau pushed a commit that referenced this pull request Jun 4, 2024
t8103:
- WLAN (SMC PMU GPIO #13)
t600x:
- WLAN (SMC PMU GPIO #13)
- SD (SMC PMU GPIO #26)

Signed-off-by: Hector Martin <marcan@marcan.st>
jannau pushed a commit that referenced this pull request Jun 4, 2024
t8103:
- WLAN (SMC PMU GPIO #13)
t600x:
- WLAN (SMC PMU GPIO #13)
- SD (SMC PMU GPIO #26)

Signed-off-by: Hector Martin <marcan@marcan.st>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants