401cfa2...
by
Paolo Pisati
on 2022-07-01
UBUNTU: Ubuntu- hwe-5.17- 5.17.0- 8.8~22. 04.6
Signed-off-by: Paolo Pisati <email address hidden>
fa562f3...
by
Paolo Pisati
on 2022-07-01
UBUNTU: link-to-tracker: update tracking bug
BugLink: https:/ /bugs.launchpad .net/bugs/ 1980479
Properties: no-test-build
Signed-off-by: Paolo Pisati <email address hidden>
2ecd3fc...
by
Paolo Pisati
on 2022-07-01
UBUNTU: [Config] adjust annotation
b22f38b...
by
Paolo Pisati
on 2022-07-01
UBUNTU: Start new release
Ignore: yes
Signed-off-by: Paolo Pisati <email address hidden>
64d7985...
by
Paolo Pisati
on 2022-07-01
Revert "perf tools: Use Python devtools for version autodetection rather than runtime"
This reverts commit c92b397b714ff2b 762e5fcf4eddc29 bfb71fb46e.
Signed-off-by: Paolo Pisati <email address hidden>
74d92bd...
by
Paolo Pisati
on 2022-06-30
UBUNTU: [Config] updateconfigs following v5.17.15 cherry-pick
Signed-off-by: Paolo Pisati <email address hidden>
18a6843...
by
Greg Kroah-Hartman <email address hidden>
on 2022-06-14
Linux 5.17.15
BugLink: https:/ /bugs.launchpad .net/bugs/ 1980389
Link: https://<email address hidden>
Link: https://<email address hidden>
Tested-by: Florian Fainelli <email address hidden>
Tested-by: Justin M. Forbes <email address hidden>
Tested-by: Fox Chen <email address hidden>
Tested-by: Shuah Khan <email address hidden>
Tested-by: Sudip Mukherjee <email address hidden>
Tested-by: Ron Economos <email address hidden>
Tested-by: Guenter Roeck <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Paolo Pisati <email address hidden>
350aff1...
by
Maciej Fijalkowski <email address hidden>
on 2022-04-25
xsk: Fix possible crash when multiple sockets are created
BugLink: https:/ /bugs.launchpad .net/bugs/ 1980389
commit ba3beec2ec1d3b4 fd8672ca6e781da c4b3267f6e upstream.
Fix a crash that happens if an Rx only socket is created first, then a
second socket is created that is Tx only and bound to the same umem as
the first socket and also the same netdev and queue_id together with the
XDP_SHARED_UMEM flag. In this specific case, the tx_descs array page
pool was not created by the first socket as it was an Rx only socket.
When the second socket is bound it needs this tx_descs array of this
shared page pool as it has a Tx component, but unfortunately it was
never allocated, leading to a crash. Note that this array is only used
for zero-copy drivers using the batched Tx APIs, currently only ice and
i40e.
[ 5511.150360] BUG: kernel NULL pointer dereference, address: 0000000000000008
[ 5511.158419] #PF: supervisor write access in kernel mode
[ 5511.164472] #PF: error_code(0x0002) - not-present page
[ 5511.170416] PGD 0 P4D 0
[ 5511.173347] Oops: 0002 [#1] PREEMPT SMP PTI
[ 5511.178186] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G E 5.18.0-rc1+ #97
[ 5511.187245] Hardware name: Intel Corp. GRANTLEY/GRANTLEY, BIOS GRRFCRB1. 86B.0276. D07.1605190235 05/19/2016
[ 5511.198418] RIP: 0010:xsk_ tx_peek_ release_ desc_batch+ 0x198/0x310
[ 5511.205375] Code: c0 83 c6 01 84 c2 74 6d 8d 46 ff 23 07 44 89 e1 48 83 c0 14 48 c1 e1 04 48 c1 e0 04 48 03 47 10 4c 01 c1 48 8b 50 08 48 8b 00 <48> 89 51 08 48 89 01 41 80 bd d7 00 00 00 00 75 82 48 8b 19 49 8b
[ 5511.227091] RSP: 0018:ffffc90000 003dd0 EFLAGS: 00010246
[ 5511.233135] RAX: 0000000000000000 RBX: ffff88810c8da600 RCX: 0000000000000000
[ 5511.241384] RDX: 000000000000003c RSI: 0000000000000001 RDI: ffff888115f555c0
[ 5511.249634] RBP: ffffc90000003e08 R08: 0000000000000000 R09: ffff889092296b48
[ 5511.257886] R10: 0000ffffffffffff R11: ffff889092296800 R12: 0000000000000000
[ 5511.266138] R13: ffff88810c8db500 R14: 0000000000000040 R15: 0000000000000100
[ 5511.274387] FS: 000000000000000 0(0000) GS:ffff88903f80 0000(0000) knlGS:000000000 0000000
[ 5511.283746] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 5511.290389] CR2: 0000000000000008 CR3: 00000001046e2001 CR4: 00000000003706f0
[ 5511.298640] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 5511.306892] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[ 5511.315142] Call Trace:
[ 5511.317972] <IRQ>
[ 5511.320301] ice_xmit_ zc+0x68/ 0x2f0 [ice]
[ 5511.324977] ? ktime_get+0x38/0xa0
[ 5511.328913] ice_napi_ poll+0x7a/ 0x6a0 [ice]
[ 5511.333784] __napi_ poll+0x2c/ 0x160
[ 5511.337821] net_rx_ action+ 0xdd/0x200
[ 5511.342058] __do_softirq+ 0xe6/0x2dd
[ 5511.346198] irq_exit_ rcu+0xb5/ 0x100
[ 5511.350339] common_ interrupt+ 0xa4/0xc0
[ 5511.354777] </IRQ>
[ 5511.357201] <TASK>
[ 5511.359625] asm_common_ interrupt+ 0x1e/0x40
[ 5511.364466] RIP: 0010:cpuidle_ enter_state+ 0xd2/0x360
[ 5511.370211] Code: 49 89 c5 0f 1f 44 00 00 31 ff e8 e9 00 7b ff 45 84 ff 74 12 9c 58 f6 c4 02 0f 85 72 02 00 00 31 ff e8 02 0c 80 ff fb 45 85 f6 <0f> 88 11 01 00 00 49 63 c6 4c 2b 2c 24 48 8d 14 40 48 8d 14 90 49
[ 5511.391921] RSP: 0018:ffffffff82 a03e60 EFLAGS: 00000202
[ 5511.397962] RAX: ffff88903f800000 RBX: 0000000000000001 RCX: 000000000000001f
[ 5511.406214] RDX: 0000000000000000 RSI: ffffffff823400b9 RDI: ffffffff8234c046
[ 5511.424646] RBP: ffff88810a384800 R08: 000005032a28c046 R09: 0000000000000008
[ 5511.443233] R10: 000000000000000b R11: 0000000000000006 R12: ffffffff82bcf700
[ 5511.461922] R13: 000005032a28c046 R14: 0000000000000001 R15: 0000000000000000
[ 5511.480300] cpuidle_ enter+0x29/ 0x40
[ 5511.494329] do_idle+0x1c7/0x250
[ 5511.507610] cpu_startup_ entry+0x19/ 0x20
[ 5511.521394] start_kernel+ 0x649/0x66e
[ 5511.534626] secondary_ startup_ 64_no_verify+ 0xc3/0xcb
[ 5511.549230] </TASK>
Detect such case during bind() and allocate this memory region via newly
introduced xp_alloc_ tx_descs( ). Also, use kvcalloc instead of kcalloc as
for other buffer pool allocations, so that it matches the kvfree() from
xp_destroy().
Fixes: d1bc532e99be ("i40e: xsk: Move tmp desc array from driver to pool")
Signed-off-by: Maciej Fijalkowski <email address hidden>
Signed-off-by: Daniel Borkmann <email address hidden>
Acked-by: Magnus Karlsson <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Paolo Pisati <email address hidden>
0e6fb6e...
by
Mark Bloch <email address hidden>
on 2022-05-26
net/mlx5: E-Switch, pair only capable devices
BugLink: https:/ /bugs.launchpad .net/bugs/ 1980389
commit 3008e6a0049361e 731b803c60fe8f3 ab44e1d73f upstream.
OFFLOADS paring using devcom is possible only on devices
that support LAG. Filter based on lag capabilities.
This fixes an issue where mlx5_get_ next_phys_ dev() was
called without holding the interface lock.
This issue was found when commit
bc4c2f2e0179 ("net/mlx5: Lag, filter non compatible devices")
added an assert that verifies the interface lock is held.
WARNING: CPU: 9 PID: 1706 at drivers/ net/ethernet/ mellanox/ mlx5/core/ dev.c:642 mlx5_get_ next_phys_ dev+0xd2/ 0x100 [mlx5_core]
Modules linked in: 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 rpcrdma rdma_ucm ib_iser libiscsi scsi_transport_ iscsi rdma_cm iw_cm ib_umad ib_ipoib ib_cm ib_uverbs ib_core overlay fuse [last unloaded: mlx5_core]
CPU: 9 PID: 1706 Comm: devlink Not tainted 5.18.0-rc7+ #11
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13. 0-0-gf21b5a4aeb 02-prebuilt. qemu.org 04/01/2014
RIP: 0010:mlx5_ get_next_ phys_dev+ 0xd2/0x100 [mlx5_core]
Code: 02 00 75 48 48 8b 85 80 04 00 00 5d c3 31 c0 5d c3 be ff ff ff ff 48 c7 c7 08 41 5b a0 e8 36 87 28 e3 85 c0 0f 85 6f ff ff ff <0f> 0b e9 68 ff ff ff 48 c7 c7 0c 91 cc 84 e8 cb 36 6f e1 e9 4d ff
RSP: 0018:ffff88811b f47458 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff88811b398000 RCX: 0000000000000001
RDX: 0000000080000000 RSI: ffffffffa05b4108 RDI: ffff88812daaaa78
RBP: ffff88812d050380 R08: 0000000000000001 R09: ffff88811d6b3437
R10: 0000000000000001 R11: 00000000fddd3581 R12: ffff88815238c000
R13: ffff88812d050380 R14: ffff8881018aa7e0 R15: ffff88811d6b3428
FS: 00007fc82e18ae8 0(0000) GS:ffff88842e08 0000(0000) knlGS:000000000 0000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f9630d1b421 CR3: 0000000149802004 CR4: 0000000000370ea0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
mlx5_esw_ offloads_ devcom_ event+0x99/ 0x3b0 [mlx5_core]
mlx5_devcom_ send_event+ 0x167/0x1d0 [mlx5_core]
esw_offloads_ enable+ 0x1153/ 0x1500 [mlx5_core]
? mlx5_esw_ offloads_ controller_ valid+0x170/ 0x170 [mlx5_core]
? wait_for_ completion_ io_timeout+ 0x20/0x20
? mlx5_rescan_ drivers_ locked+ 0x318/0x810 [mlx5_core]
mlx5_eswitch_ enable_ locked+ 0x586/0xc50 [mlx5_core]
? mlx5_eswitch_ disable_ pf_vf_vports+ 0x1d0/0x1d0 [mlx5_core]
? mlx5_esw_ try_lock+ 0x1b/0xb0 [mlx5_core]
? mlx5_eswitch_ enable+ 0x270/0x270 [mlx5_core]
? __debugfs_ create_ file+0x260/ 0x3e0
mlx5_devlink_ eswitch_ mode_set+ 0x27e/0x870 [mlx5_core]
? mutex_lock_ io_nested+ 0x12c0/ 0x12c0
? esw_offloads_ disable+ 0x250/0x250 [mlx5_core]
? devlink_ nl_cmd_ trap_get_ dumpit+ 0x470/0x470
? rcu_read_ lock_sched_ held+0x3f/ 0x70
devlink_ nl_cmd_ eswitch_ set_doit+ 0x217/0x620
Fixes: dd3fddb82780 ("net/mlx5: E-Switch, handle devcom events only for ports on the same device")
Signed-off-by: Mark Bloch <email address hidden>
Reviewed-by: Roi Dayan <email address hidden>
Reviewed-by: Moshe Shemesh <email address hidden>
Signed-off-by: Saeed Mahameed <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Paolo Pisati <email address hidden>
ba84939...
by
Eric Dumazet <email address hidden>
on 2022-05-27
tcp: fix tcp_mtup_ probe_success vs wrong snd_cwnd
BugLink: https:/ /bugs.launchpad .net/bugs/ 1980389
commit 11825765291a93d 8e7f44230da67b9 f607c777bf upstream.
syzbot got a new report [1] finally pointing to a very old bug,
added in initial support for MTU probing.
tcp_mtu_probe() has checks about starting an MTU probe if
tcp_snd_cwnd(tp) >= 11.
But nothing prevents tcp_snd_cwnd(tp) to be reduced later
and before the MTU probe succeeds.
This bug would lead to potential zero-divides.
Debugging added in commit 40570375356c ("tcp: add accessors
to read/set tp->snd_cwnd") has paid off :)
While we are at it, address potential overflows in this code.
[1]
WARNING: CPU: 1 PID: 14132 at include/ net/tcp. h:1219 tcp_mtup_ probe_success+ 0x366/0x570 net/ipv4/ tcp_input. c:2712
Modules linked in:
CPU: 1 PID: 14132 Comm: syz-executor.2 Not tainted 5.18.0- syzkaller- 07857-gbabf0bb9 78e3 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:tcp_ snd_cwnd_ set include/ net/tcp. h:1219 [inline]
RIP: 0010:tcp_ mtup_probe_ success+ 0x366/0x570 net/ipv4/ tcp_input. c:2712
Code: 74 08 48 89 ef e8 da 80 17 f9 48 8b 45 00 65 48 ff 80 80 03 00 00 48 83 c4 30 5b 41 5c 41 5d 41 5e 41 5f 5d c3 e8 aa b0 c5 f8 <0f> 0b e9 16 fe ff ff 48 8b 4c 24 08 80 e1 07 38 c1 0f 8c c7 fc ff
RSP: 0018:ffffc90007 9e70f8 EFLAGS: 00010287
RAX: ffffffff88c0f7f6 RBX: ffff8880756e7a80 RCX: 0000000000040000
RDX: ffffc9000c6c4000 RSI: 0000000000031f9e RDI: 0000000000031f9f
RBP: 0000000000000000 R08: ffffffff88c0f606 R09: ffffc900079e7520
R10: ffffed101011226d R11: 1ffff1101011226c R12: 1ffff1100eadcf50
R13: ffff8880756e72c0 R14: 1ffff1100eadcf89 R15: dffffc0000000000
FS: 00007f643236e70 0(0000) GS:ffff8880b9b0 0000(0000) knlGS:000000000 0000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f1ab3f1e2a0 CR3: 0000000064fe7000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
tcp_clean_ rtx_queue+ 0x223a/ 0x2da0 net/ipv4/ tcp_input. c:3356
tcp_ack+ 0x1962/ 0x3c90 net/ipv4/ tcp_input. c:3861
tcp_rcv_ established+ 0x7c8/0x1ac0 net/ipv4/ tcp_input. c:5973
tcp_v6_ do_rcv+ 0x57b/0x1210 net/ipv6/ tcp_ipv6. c:1476
sk_backlog_rcv include/ net/sock. h:1061 [inline]
__release_ sock+0x1d8/ 0x4c0 net/core/ sock.c: 2849
release_ sock+0x5d/ 0x1c0 net/core/ sock.c: 3404
sk_stream_ wait_memory+ 0x700/0xdc0 net/core/ stream. c:145
tcp_sendmsg_ locked+ 0x111d/ 0x3fc0 net/ipv4/tcp.c:1410
tcp_sendmsg+ 0x2c/0x40 net/ipv4/tcp.c:1448
sock_sendmsg_nosec net/socket.c:714 [inline]
sock_sendmsg net/socket.c:734 [inline]
__sys_ sendto+ 0x439/0x5c0 net/socket.c:2119
__do_sys_sendto net/socket.c:2131 [inline]
__se_sys_sendto net/socket.c:2127 [inline]
__x64_ sys_sendto+ 0xda/0xf0 net/socket.c:2127
do_syscall_x64 arch/x86/ entry/common. c:50 [inline]
do_syscall_ 64+0x2b/ 0x70 arch/x86/ entry/common. c:80
entry_ SYSCALL_ 64_after_ hwframe+ 0x46/0xb0
RIP: 0033:0x7f6431289109
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f6432 36e168 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
RAX: ffffffffffffffda RBX: 00007f643139c100 RCX: 00007f6431289109
RDX: 00000000d0d0c2ac RSI: 0000000020000080 RDI: 000000000000000a
RBP: 00007f64312e308d R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fff372533af R14: 00007f643236e300 R15: 0000000000022000
Fixes: 5d424d5a674f ("[TCP]: MTU probing")
Signed-off-by: Eric Dumazet <email address hidden>
Reported-by: syzbot <email address hidden>
Acked-by: Yuchung Cheng <email address hidden>
Acked-by: Neal Cardwell <email address hidden>
Signed-off-by: David S. Miller <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Paolo Pisati <email address hidden>