The QMP/HMP (JSON) command - "qom-set" is be used to set object property
by external users, so it's from user and should be marked as USER_SET.

Semantically, object_property_set_qobject() is used to convert a QObject
into a property value, rather than directly parsing user input.
Therefore, it is not suitable for adding a "from_user" argument like
object_property_parse() does.

Instead, use object_property_set_flags() to set USER_SET flag
immediately after object_property_set_qobject().

Signed-off-by: Zhao Liu <[email protected]>
---
 qom/qom-qmp-cmds.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/qom/qom-qmp-cmds.c b/qom/qom-qmp-cmds.c
index 48b38d2b7f73..5a98ea276da2 100644
--- a/qom/qom-qmp-cmds.c
+++ b/qom/qom-qmp-cmds.c
@@ -134,7 +134,12 @@ void qmp_qom_set(const char *path, const char *property, 
QObject *value,
         return;
     }
 
-    object_property_set_qobject(obj, property, value, errp);
+    if (!object_property_set_qobject(obj, property, value, errp)) {
+        return;
+    }
+
+    object_property_set_flags(obj, property,
+                              OBJ_PROP_FLAG_USER_SET, errp);
 }
 
 QObject *qmp_qom_get(const char *path, const char *property, Error **errp)
-- 
2.34.1

Reply via email to