summaryrefslogtreecommitdiff
path: root/vsock-diable-VIRTIO_F_ACCESS_PLATFORM-feature.patch
blob: 1d3a9f10e485dd39c77cbbe0dde46a526c7b4c98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
From 7e8d64b3c21f606dd0b030f324b098444d489bc3 Mon Sep 17 00:00:00 2001
From: Yan Wang <wangyan122@huawei.com>
Date: Fri, 1 Sep 2023 17:19:26 +0800
Subject: [PATCH] vsock: diable VIRTIO_F_ACCESS_PLATFORM feature

Currently, we don't support VIRTIO_F_ACCESS_PLATFORM feature.
So, disable it.

Signed-off-by: Yan Wang <wangyan122@huawei.com>
---
 virtio/src/vhost/kernel/vsock.rs | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/virtio/src/vhost/kernel/vsock.rs b/virtio/src/vhost/kernel/vsock.rs
index 17bc342..2b05fd0 100644
--- a/virtio/src/vhost/kernel/vsock.rs
+++ b/virtio/src/vhost/kernel/vsock.rs
@@ -30,7 +30,8 @@ use crate::VirtioError;
 use anyhow::{anyhow, bail, Context, Result};
 
 use super::super::super::{
-    Queue, VirtioDevice, VirtioInterrupt, VirtioInterruptType, VIRTIO_TYPE_VSOCK,
+    Queue, VirtioDevice, VirtioInterrupt, VirtioInterruptType, VIRTIO_F_ACCESS_PLATFORM,
+    VIRTIO_TYPE_VSOCK,
 };
 use super::super::{VhostNotify, VhostOps};
 use super::{VhostBackend, VhostIoHandler, VHOST_VSOCK_SET_GUEST_CID, VHOST_VSOCK_SET_RUNNING};
@@ -174,9 +175,10 @@ impl VirtioDevice for Vsock {
         backend
             .set_owner()
             .with_context(|| "Failed to set owner for vsock")?;
-        self.state.device_features = backend
+        let features = backend
             .get_features()
             .with_context(|| "Failed to get features for vsock")?;
+        self.state.device_features = features & !(1_u64 << VIRTIO_F_ACCESS_PLATFORM);
         self.backend = Some(backend);
 
         Ok(())
-- 
2.34.1