All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juergen Gross <jgross@suse.com>
To: cve@kernel.org, linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: Re: CVE-2022-49660: xen/arm: Fix race in RB-tree based P2M accounting
Date: Wed, 26 Feb 2025 08:01:04 +0100	[thread overview]
Message-ID: <9a6223ee-cb70-4c20-9749-e5ddc5018f1b@suse.com> (raw)
In-Reply-To: <2025022622-CVE-2022-49660-cf45@gregkh>


[-- Attachment #1.1.1: Type: text/plain, Size: 1636 bytes --]

On 26.02.25 03:23, Greg Kroah-Hartman wrote:
> Description
> ===========
> 
> In the Linux kernel, the following vulnerability has been resolved:
> 
> xen/arm: Fix race in RB-tree based P2M accounting
> 
> During the PV driver life cycle the mappings are added to
> the RB-tree by set_foreign_p2m_mapping(), which is called from
> gnttab_map_refs() and are removed by clear_foreign_p2m_mapping()
> which is called from gnttab_unmap_refs(). As both functions end
> up calling __set_phys_to_machine_multi() which updates the RB-tree,
> this function can be called concurrently.
> 
> There is already a "p2m_lock" to protect against concurrent accesses,
> but the problem is that the first read of "phys_to_mach.rb_node"
> in __set_phys_to_machine_multi() is not covered by it, so this might
> lead to the incorrect mappings update (removing in our case) in RB-tree.
> 
> In my environment the related issue happens rarely and only when
> PV net backend is running, the xen_add_phys_to_mach_entry() claims
> that it cannot add new pfn <-> mfn mapping to the tree since it is
> already exists which results in a failure when mapping foreign pages.
> 
> But there might be other bad consequences related to the non-protected
> root reads such use-after-free, etc.
> 
> While at it, also fix the similar usage in __pfn_to_mfn(), so
> initialize "struct rb_node *n" with the "p2m_lock" held in both
> functions to avoid possible bad consequences.
> 
> This is CVE-2022-33744 / XSA-406.

As clearly visible in the commit message: there is already a CVE assigned.

Please revoke CVE-2022-49660.


Juergen

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 3743 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]

  reply	other threads:[~2025-02-26  7:01 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-26  2:23 CVE-2022-49660: xen/arm: Fix race in RB-tree based P2M accounting Greg Kroah-Hartman
2025-02-26  7:01 ` Juergen Gross [this message]
2025-02-26 10:05   ` Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9a6223ee-cb70-4c20-9749-e5ddc5018f1b@suse.com \
    --to=jgross@suse.com \
    --cc=cve@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.