Skip to content

[ciqcbr7_9] Multiple patches tested (3 commits) - #1704

Open
ciq-kernel-automation[bot] wants to merge 3 commits into
ciqcbr7_9from
{maple}_ciqcbr7_9
Open

ciq-kernel-automation[bot] wants to merge 3 commits into
ciqcbr7_9from
{maple}_ciqcbr7_9

Conversation

@ciq-kernel-automation

@ciq-kernel-automation ciq-kernel-automation Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Summary

This PR has been automatically created after successful completion of all CI stages.

Commit Message(s)

vhost: relax log address alignment

jira VULN-204212
cve-pre CVE-2026-74580
commit-author Michael S. Tsirkin <mst@redhat.com>
commit d542483876f6ed720f573de3fbb1d8e60ccd0d6e
vhost: factor out setting vring addr and num

jira VULN-204212
cve-pre CVE-2026-74580
commit-author Jason Wang <jasowang@redhat.com>
commit feebcaeac79ad86fb289ef55fa92f4a97ab8314e
vhost: reset the vring metadata cache on vring reconfiguration

jira VULN-204212
cve CVE-2026-74580
commit-author Jun Yang <junvyyang@tencent.com>
commit de845981da67a6b049080c87e605130b0c30adc5

Test Results

✅ Build Stage

  • Status: Passed (x86_64)

  • Build Time: 13m 17s

  • Total Time: 14m 26s

  • View build logs

✅ Boot Verification


🤖 This PR was automatically generated by GitHub Actions
Run ID: 38820862193

@ciq-kernel-automation ciq-kernel-automation Bot added the created-by-kernelci Tag PRs that were automatically created when a user branch was pushed to the repo (kernelCI) label Oct 15, 2026
@github-actions

Copy link
Copy Markdown

🤖 Validation Checks In Progress Workflow run: https://github.com/ctrliq/kernel-src-tree/actions/runs/38810401545

@github-actions

Copy link
Copy Markdown

🔍 Diffofdiffs: 1 of 2 backports differs from upstream

View the diffofdiffs report.

Open to anyone signed in to GitHub. Report expires 2027-01-13 21:18 UTC.

# Subject Backport Upstream
1 vhost: factor out setting vring addr and num a5dd2c088ca2 feebcaeac79a

Checked PR revision 15bf85925f1f against base 9f1717d95203.

@github-actions

Copy link
Copy Markdown

✅ Validation checks completed successfully View full results: https://github.com/ctrliq/kernel-src-tree/actions/runs/38810401545

@kerneltoast kerneltoast left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The diffofdiffs shows that one of the deleted lines in the backport doesn't match the deleted line in the upstream commit.

As a result, the vhost: factor out setting vring addr and num backport implicitly applies upstream commit d542483.

I think d542483 should be properly backported as a pre-req commit.

jira VULN-204212
cve-pre CVE-2026-74580
commit-author Michael S. Tsirkin <mst@redhat.com>
commit d542483

commit 5d9a07b ("vhost: relax used
address alignment") fixed the alignment for the used virtual address,
but not for the physical address used for logging.

That's a mistake: alignment should clearly be the same for virtual and
physical addresses,

	Cc: stable@vger.kernel.org
	Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit d542483)
Signed-off-by: Jonathan Maple <jmaple@ciq.com>
jira VULN-204212
cve-pre CVE-2026-74580
commit-author Jason Wang <jasowang@redhat.com>
commit feebcae

Factoring vring address and num setting which needs special care for
accelerating vq metadata accessing.

	Signed-off-by: Jason Wang <jasowang@redhat.com>
	Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit feebcae)
Signed-off-by: Jonathan Maple <jmaple@ciq.com>
jira VULN-204212
cve CVE-2026-74580
commit-author Jun Yang <junvyyang@tencent.com>
commit de84598

vq->meta_iotlb[] caches the vhost_iotlb_map that backs each vring
metadata region, and iotlb_access_ok() returns early on a cache hit,
taking the hit as proof that the region has already been validated:

	if (vhost_vq_meta_fetch(vq, addr, len, type))
		return true;

The cache is reset on VHOST_IOTLB_UPDATE and VHOST_IOTLB_INVALIDATE, on
device IOTLB (re)initialisation and on vq reset, but not when
VHOST_SET_VRING_ADDR replaces vq->desc, vq->avail and vq->used, nor when
VHOST_SET_VRING_NUM changes the region sizes.

With a device IOTLB attached both ioctls are accepted while the vq is
live, and neither validates the addresses at ioctl time: vq_access_ok()
and vq_log_used_access_ok() return true early because the addresses are
GIOVAs, deferring validation to prefetch time.  Once the cache has been
populated that deferred validation no longer runs -- vq_meta_prefetch()
hits the stale entry and returns true -- and vhost_vq_meta_fetch() keeps
translating through the old mapping as

	map->addr + addr - map->start

for an address the mapping no longer covers.  vhost_copy_to_user() and
vhost_copy_from_user() consume the result with __copy_to_user() and
__copy_from_user(), which do not check it either, so a subsequent used
ring update or descriptor fetch accesses memory outside the region the
IOTLB actually maps.

Reset the metadata cache whenever the vring is reconfigured, so the new
addresses are pushed back through iotlb_access_ok()'s slow path.

Fixes: f889491 ("vhost: introduce O(1) vq metadata cache")
	Cc: stable@vger.kernel.org
Assisted-by: tencentos-corvus-ai:kimi-k3
	Signed-off-by: Jun Yang <junvyyang@tencent.com>
Message-ID: <20260803014823.68623-1-juny24602@gmail.com>
	Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit de84598)
Signed-off-by: Jonathan Maple <jmaple@ciq.com>
@github-actions

Copy link
Copy Markdown

🤖 Validation Checks In Progress Workflow run: https://github.com/ctrliq/kernel-src-tree/actions/runs/38822069835

@github-actions

Copy link
Copy Markdown

✅ Diffofdiffs: No differences found

Compared 3 backports with upstream.

Checked PR revision ad93ac75c9b8 against base 9f1717d95203.

@github-actions

Copy link
Copy Markdown

✅ Validation checks completed successfully View full results: https://github.com/ctrliq/kernel-src-tree/actions/runs/38822069835

@kerneltoast kerneltoast left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚢

@ciq-kernel-automation ciq-kernel-automation Bot changed the title [ciqcbr7_9] Multiple patches tested (2 commits) [ciqcbr7_9] Multiple patches tested (3 commits) Oct 15, 2026
@hailmo-ciq

Copy link
Copy Markdown
Collaborator

The cache is reset ... on device IOTLB (re)initialisation

Not true in this tree. We don't have b13f9c6 (vhost: reset metadata cache when initializing new IOTLB) so the cache isn't reset in vhost_init_device_iotlb (see this line).

I think we should pick that commit if we really want to call CVE-2026-74580 fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

created-by-kernelci Tag PRs that were automatically created when a user branch was pushed to the repo (kernelCI)

Development

Successfully merging this pull request may close these issues.

3 participants