From 9dbce799e7087a75851ba1ae321b22c19b6f75c3 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Wed, 8 Jul 2026 16:09:48 +0200 Subject: [PATCH] qom: Fix device-list-properties & friends to show legacy-FOO props MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit qmp_device_list_properties() skips properties whose name starts with "legacy-". This is a flawed test for "is a legacy property". The test is flawed because non-legacy properties can and do start with "legacy-". Back when it was added, no such properties existed. Right now, three such properties do: property "legacy-cmb" of device "nvme", and properties "legacy-cache" and "legacy-multi-node" of devices "x86_64-cpu", "i386-cpu", and its children. This affects QMP command "device-list-properties", HMP command "device_add T,help", and command line option "-device T,help". Legacy properties are gone since commit a61383f7ab (qdev: Legacy properties are now unused internally, drop, 2025-10-22). This makes the fix easy: delete the code that skips them. Reproducer: -device nvme,help doesn't show legacy-cmb before the patch, and does after. Fixes: f4eb32b590 (qmp: show QOM properties in device-list-properties, 2014-05-20) Signed-off-by: Markus Armbruster Message-ID: <20260708140948.2622814-1-armbru@redhat.com> Reviewed-by: Daniel P. Berrangé --- qom/qom-qmp-cmds.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/qom/qom-qmp-cmds.c b/qom/qom-qmp-cmds.c index 48b38d2b7f..330895361d 100644 --- a/qom/qom-qmp-cmds.c +++ b/qom/qom-qmp-cmds.c @@ -218,13 +218,6 @@ ObjectPropertyInfoList *qmp_device_list_properties(const char *typename, continue; } - /* Skip legacy properties since they are just string versions of - * properties that we already list. - */ - if (strstart(prop->name, "legacy-", NULL)) { - continue; - } - info = g_new0(ObjectPropertyInfo, 1); info->name = g_strdup(prop->name); info->type = g_strdup(prop->type);