diff options
author | 2024-09-09 18:01:54 +0000 | |
---|---|---|
committer | 2024-09-10 21:05:29 +0100 | |
commit | f26a525b77e040d584e967369af1e018d2d59112 (patch) | |
tree | a7dfc9fe7c3df4d9a8130940a82814585e4ca162 /tools/perf/scripts/python/call-graph-from-postgresql.py | |
parent | KVM: arm64: Disallow copying MTE to guest memory while KVM is dirty logging (diff) | |
download | wireguard-linux-f26a525b77e040d584e967369af1e018d2d59112.tar.xz wireguard-linux-f26a525b77e040d584e967369af1e018d2d59112.zip |
KVM: arm64: Add memory length checks and remove inline in do_ffa_mem_xfer
When we share memory through FF-A and the description of the buffers
exceeds the size of the mapped buffer, the fragmentation API is used.
The fragmentation API allows specifying chunks of descriptors in subsequent
FF-A fragment calls and no upper limit has been established for this.
The entire memory region transferred is identified by a handle which can be
used to reclaim the transferred memory.
To be able to reclaim the memory, the description of the buffers has to fit
in the ffa_desc_buf.
Add a bounds check on the FF-A sharing path to prevent the memory reclaim
from failing.
Also do_ffa_mem_xfer() does not need __always_inline, except for the
BUILD_BUG_ON() aspect, which gets moved to a macro.
[maz: fixed the BUILD_BUG_ON() breakage with LLVM, thanks to Wei-Lin Chang
for the timely report]
Fixes: 634d90cf0ac65 ("KVM: arm64: Handle FFA_MEM_LEND calls from the host")
Cc: stable@vger.kernel.org
Reviewed-by: Sebastian Ene <sebastianene@google.com>
Signed-off-by: Snehal Koukuntla <snehalreddy@google.com>
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
Link: https://lore.kernel.org/r/20240909180154.3267939-1-snehalreddy@google.com
Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/call-graph-from-postgresql.py')
0 files changed, 0 insertions, 0 deletions