Skip to content

DLPX-84907 CVE-2022-3628#29

Merged
prakashsurya merged 1 commit into
6.0/stagefrom
dlpx/pr/prakashsurya/5bc52641-0937-49c4-a74b-bc4b52fe26f4
Mar 1, 2023
Merged

DLPX-84907 CVE-2022-3628#29
prakashsurya merged 1 commit into
6.0/stagefrom
dlpx/pr/prakashsurya/5bc52641-0937-49c4-a74b-bc4b52fe26f4

Conversation

@prakashsurya
Copy link
Copy Markdown
Contributor

No description provided.

@prakashsurya prakashsurya force-pushed the dlpx/pr/prakashsurya/5bc52641-0937-49c4-a74b-bc4b52fe26f4 branch 2 times, most recently from aceb62f to 72497ae Compare February 28, 2023 19:39
Comment thread debian.aws/config/OVERRIDES Outdated
Comment thread debian.aws/config/OVERRIDES Outdated
Comment thread debian.aws/config/OVERRIDES Outdated
@prakashsurya prakashsurya force-pushed the dlpx/pr/prakashsurya/5bc52641-0937-49c4-a74b-bc4b52fe26f4 branch from 72497ae to a4cb333 Compare February 28, 2023 20:07
@prakashsurya prakashsurya marked this pull request as ready for review March 1, 2023 17:01
@prakashsurya prakashsurya enabled auto-merge (squash) March 1, 2023 17:03
@prakashsurya prakashsurya merged commit e5dd7f7 into 6.0/stage Mar 1, 2023
@prakashsurya prakashsurya deleted the dlpx/pr/prakashsurya/5bc52641-0937-49c4-a74b-bc4b52fe26f4 branch March 1, 2023 17:08
delphix-devops-bot pushed a commit that referenced this pull request Mar 4, 2023
prakashsurya pushed a commit that referenced this pull request Mar 11, 2023
prakashsurya pushed a commit that referenced this pull request Mar 14, 2023
prakashsurya pushed a commit that referenced this pull request Mar 14, 2023
delphix-devops-bot pushed a commit that referenced this pull request Mar 30, 2023
delphix-devops-bot pushed a commit that referenced this pull request Apr 20, 2023
delphix-devops-bot pushed a commit that referenced this pull request Apr 28, 2023
delphix-devops-bot pushed a commit that referenced this pull request May 31, 2023
delphix-devops-bot pushed a commit that referenced this pull request Jun 3, 2023
delphix-devops-bot pushed a commit that referenced this pull request Jun 4, 2023
delphix-devops-bot pushed a commit that referenced this pull request Jun 5, 2023
prakashsurya pushed a commit that referenced this pull request Aug 8, 2023
delphix-devops-bot pushed a commit that referenced this pull request Aug 17, 2023
delphix-devops-bot pushed a commit that referenced this pull request Aug 18, 2023
delphix-devops-bot pushed a commit that referenced this pull request Aug 19, 2023
delphix-devops-bot pushed a commit that referenced this pull request Aug 20, 2023
delphix-devops-bot pushed a commit that referenced this pull request Aug 21, 2023
delphix-devops-bot pushed a commit that referenced this pull request Aug 22, 2023
delphix-devops-bot pushed a commit that referenced this pull request Aug 23, 2023
delphix-devops-bot pushed a commit that referenced this pull request Sep 20, 2023
delphix-devops-bot pushed a commit that referenced this pull request Oct 6, 2023
delphix-devops-bot pushed a commit that referenced this pull request Oct 7, 2023
delphix-devops-bot pushed a commit that referenced this pull request Oct 8, 2023
delphix-devops-bot pushed a commit that referenced this pull request Oct 9, 2023
delphix-devops-bot pushed a commit that referenced this pull request Oct 10, 2023
delphix-devops-bot pushed a commit that referenced this pull request Oct 21, 2023
delphix-devops-bot pushed a commit that referenced this pull request Nov 1, 2023
delphix-devops-bot pushed a commit that referenced this pull request Nov 22, 2023
delphix-devops-bot pushed a commit that referenced this pull request Dec 9, 2023
delphix-devops-bot pushed a commit that referenced this pull request Dec 10, 2023
delphix-devops-bot pushed a commit that referenced this pull request Jan 27, 2024
delphix-devops-bot pushed a commit that referenced this pull request Feb 9, 2024
delphix-devops-bot pushed a commit that referenced this pull request Mar 1, 2024
delphix-devops-bot pushed a commit that referenced this pull request Mar 21, 2024
jwk404 pushed a commit that referenced this pull request Apr 14, 2024
jwk404 pushed a commit that referenced this pull request Apr 15, 2024
jwk404 pushed a commit that referenced this pull request Apr 15, 2024
jwk404 pushed a commit that referenced this pull request Apr 15, 2024
delphix-devops-bot pushed a commit that referenced this pull request Apr 20, 2024
delphix-devops-bot pushed a commit that referenced this pull request May 22, 2024
delphix-devops-bot pushed a commit that referenced this pull request May 23, 2024
delphix-devops-bot pushed a commit that referenced this pull request Jun 13, 2024
delphix-devops-bot pushed a commit that referenced this pull request Jul 5, 2024
delphix-devops-bot pushed a commit that referenced this pull request Jul 24, 2024
BugLink: https://bugs.launchpad.net/bugs/2067974

[ Upstream commit 743edc8 ]

As previously explained, the rehash delayed work migrates filters from
one region to another. This is done by iterating over all chunks (all
the filters with the same priority) in the region and in each chunk
iterating over all the filters.

When the work runs out of credits it stores the current chunk and entry
as markers in the per-work context so that it would know where to resume
the migration from the next time the work is scheduled.

Upon error, the chunk marker is reset to NULL, but without resetting the
entry markers despite being relative to it. This can result in migration
being resumed from an entry that does not belong to the chunk being
migrated. In turn, this will eventually lead to a chunk being iterated
over as if it is an entry. Because of how the two structures happen to
be defined, this does not lead to KASAN splats, but to warnings such as
[1].

Fix by creating a helper that resets all the markers and call it from
all the places the currently only reset the chunk marker. For good
measures also call it when starting a completely new rehash. Add a
warning to avoid future cases.

[1]
WARNING: CPU: 7 PID: 1076 at drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.c:407 mlxsw_afk_encode+0x242/0x2f0
Modules linked in:
CPU: 7 PID: 1076 Comm: kworker/7:24 Tainted: G        W          6.9.0-rc3-custom-00880-g29e61d91b77b #29
Hardware name: Mellanox Technologies Ltd. MSN3700/VMOD0005, BIOS 5.11 01/06/2019
Workqueue: mlxsw_core mlxsw_sp_acl_tcam_vregion_rehash_work
RIP: 0010:mlxsw_afk_encode+0x242/0x2f0
[...]
Call Trace:
 <TASK>
 mlxsw_sp_acl_atcam_entry_add+0xd9/0x3c0
 mlxsw_sp_acl_tcam_entry_create+0x5e/0xa0
 mlxsw_sp_acl_tcam_vchunk_migrate_all+0x109/0x290
 mlxsw_sp_acl_tcam_vregion_rehash_work+0x6c/0x470
 process_one_work+0x151/0x370
 worker_thread+0x2cb/0x3e0
 kthread+0xd0/0x100
 ret_from_fork+0x34/0x50
 </TASK>

Fixes: 6f9579d ("mlxsw: spectrum_acl: Remember where to continue rehash migration")
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Tested-by: Alexander Zubkov <green@qrator.net>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/cc17eed86b41dd829d39b07906fec074a9ce580e.1713797103.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Portia Stephens <portia.stephens@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
delphix-devops-bot pushed a commit that referenced this pull request Jul 31, 2024
delphix-devops-bot pushed a commit that referenced this pull request Aug 1, 2024
delphix-devops-bot pushed a commit that referenced this pull request Aug 6, 2024
delphix-devops-bot pushed a commit that referenced this pull request Aug 15, 2024
delphix-devops-bot pushed a commit that referenced this pull request Aug 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants