[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v7 64/65] qom: use QAPITypeInfo in object_property_get_enum
- To: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
- From: Markus Armbruster <armbru@xxxxxxxxxx>
- Date: Sun, 01 Nov 2026 17:15:34 +0100
- Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=mimecast20190719 header.d=redhat.com header.i="@redhat.com" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Resent-To:Resent-From:Resent-Message-ID:In-Reply-To:References"
- Cc: qemu-devel@xxxxxxxxxx, Michael Roth <michael.roth@xxxxxxx>, John Snow <jsnow@xxxxxxxxxx>, Peter Maydell <peter.maydell@xxxxxxxxxx>, Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>, Pierrick Bouvier <pierrick.bouvier@xxxxxxxxxxxxxxxx>, Paolo Bonzini <pbonzini@xxxxxxxxxx>, Daniel P. Berrangé <berrange@xxxxxxxxxx>, Kostiantyn Kostiuk <kkostiuk@xxxxxxxxxx>, Eric Blake <eblake@xxxxxxxxxx>, David Hildenbrand <david@xxxxxxxxxx>, Igor Mammedov <imammedo@xxxxxxxxxx>, "Edgar E. Iglesias" <edgar.iglesias@xxxxxxxxx>, Jason Wang <jasowangio@xxxxxxxxx>, Marcelo Tosatti <mtosatti@xxxxxxxxxx>, kvm@xxxxxxxxxxxxxxx, Alberto Garcia <berto@xxxxxxxxxx>, Kevin Wolf <kwolf@xxxxxxxxxx>, Hanna Reitz <hreitz@xxxxxxxxxx>, Philippe Mathieu-Daudé <philmd@xxxxxxxxxxxxxxxx>, Zhao Liu <zhao1.liu@xxxxxxxxx>, Jonathan Cameron <jic23@xxxxxxxxxx>, Junjie Cao <junjie.cao@xxxxxxxxx>, Anisa Su <anisa.su@xxxxxxxxxxx>, Elena Ufimtseva <elena.ufimtseva@xxxxxxxxxx>, Jagannathan Raman <jag.raman@xxxxxxxxxx>, John Levon <john.levon@xxxxxxxxxxx>, Thanos Makatos <thanos.makatos@xxxxxxxxxxx>, Cédric Le Goater <clg@xxxxxxxxxx>, Cornelia Huck <cohuck@xxxxxxxxxx>, Eric Farman <farman@xxxxxxxxxxxxx>, Matthew Rosato <mjrosato@xxxxxxxxxxxxx>, Richard Henderson <richard.henderson@xxxxxxxxxx>, Ilya Leoshkevich <iii@xxxxxxxxxxxxx>, qemu-block@xxxxxxxxxx, linux-cxl@xxxxxxxxxxxxxxx, qemu-s390x@xxxxxxxxxx, "Michael S. Tsirkin" <mst@xxxxxxxxxx>, Sergio Lopez <slp@xxxxxxxxxx>, qemu-arm@xxxxxxxxxx, Palmer Dabbelt <palmer@xxxxxxxxxxx>, Alistair Francis <alistair.francis@xxxxxxx>, Weiwei Li <liwei1518@xxxxxxxxx>, Daniel Henrique Barboza <daniel.barboza@xxxxxxxxxxxxxxxx>, Liu Zhiwei <zhiwei_liu@xxxxxxxxxxxxxxxxx>, Chao Liu <chao.liu@xxxxxxxxxxxxxxxxxx>, qemu-riscv@xxxxxxxxxx, Song Gao <17746591750@xxxxxxx>, Bibo Mao <maobibo@xxxxxxxxxxx>, Xianglai Li <lixianglai@xxxxxxxxxxx>, Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx>, Pedro Barbuda <pbarbuda@xxxxxxxxxxxxx>, Mohamed Mediouni <mohamed@xxxxxxxxxxxxxxxx>, Nicholas Piggin <npiggin@xxxxxxxxx>, Harsh Prateek Bora <harshpb@xxxxxxxxxxxxx>, Amit Machhiwal <amachhiw@xxxxxxxxxxxxx>, qemu-ppc@xxxxxxxxxx, Zhang Chen <zhangckid@xxxxxxxxx>, Li Zhijian <lizhijian@xxxxxxxxxxx>, Alistair Francis <alistair@xxxxxxxxxxxxx>, Alexander Graf <graf@xxxxxxxxxx>, "Gonglei (Arei)" <arei.gonglei@xxxxxxxxxx>, zhenwei pi <zhenwei.pi@xxxxxxxxx>, Ani Sinha <anisinha@xxxxxxxxxx>, Luc Michel <luc@xxxxxxxxxx>, Cédric Le Goater <clg@xxxxxxxx>, Jamin Lin <jamin_lin@xxxxxxxxxxxxxx>, Kane Chen <kane_chen@xxxxxxxxxxxxxx>, Samuel Tardieu <sam@xxxxxxxxxxx>, "Denis V. Lunev" <den@xxxxxxxxxx>, FangSheng Huang <FangSheng.Huang@xxxxxxx>, Tyrone Ting <kfting@xxxxxxxxxxx>, Hao Wu <wuhaotsh@xxxxxxxxxx>, Keith Busch <kbusch@xxxxxxxxxx>, Klaus Jensen <its@xxxxxxxxxxxxx>, Jesper Devantier <foss@xxxxxxxxxxx>, Aditya Gupta <adityag@xxxxxxxxxxxxx>, Glenn Miles <milesg@xxxxxxxxxxxxx>, Conor Dooley <conor@xxxxxxxxxx>, Sebastian Huber <sebastian.huber@xxxxxxxxxxxxxxxxxx>, Halil Pasic <pasic@xxxxxxxxxxxxx>, Christian Borntraeger <borntraeger@xxxxxxxxxxxxx>, Jason Herne <jjherne@xxxxxxxxxxxxx>, Titus Rwantare <titusr@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Anthony PERARD <anthony@xxxxxxxxxxxxxx>, Peter Xu <peterx@xxxxxxxxxx>, Chinmay Rath <rathc@xxxxxxxxxxxxx>, Hendrik Brueckner <brueckner@xxxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx, Roman Bolshakov <rbolshakov@xxxxxxx>, Phil Dennis-Jordan <phil@xxxxxxxxxxxxx>, Fam Zheng <fam@xxxxxxxxxx>, Farhan Ali <alifm@xxxxxxxxxxxxx>, Alex Williamson <alex@xxxxxxxxxxx>, Tao Tang <tangtao1634@xxxxxxxxxxxxxx>, Stefan Berger <stefanb@xxxxxxxxxxxxxxxxxx>, Fabiano Rosas <farosas@xxxxxxx>, Mark Cave-Ayland <mark.cave-ayland@xxxxxxxxxxxx>, Artyom Tarasenko <atar4qemu@xxxxxxxxx>, Yoshinori Sato <yoshinori.sato@xxxxxxxxx>, Jiri Pirko <jiri@xxxxxxxxxxx>, Eric Auger <eric.auger@xxxxxxxxxx>, Laurent Vivier <lvivier@xxxxxxxxxx>
- Delivery-date: Mon, 02 Nov 2026 05:50:37 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Resent-date: Sun, 01 Nov 2026 21:12:17 +0100
- Resent-from: Markus Armbruster <armbru@xxxxxxxxxx>
- Resent-message-id: <87a4ns1fby.fsf@xxxxxxxxxxxx>
- Resent-to: pasic@xxxxxxxxxxxxx, 17746591750@xxxxxxx, rathc@xxxxxxxxxxxxx, alistair@xxxxxxxxxxxxx, stefanb@xxxxxxxxxxxxxxxxxx, graf@xxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxxx, FangSheng.Huang@xxxxxxx, luc@xxxxxxxxxx, michael.roth@xxxxxxx, lixianglai@xxxxxxxxxxx, maobibo@xxxxxxxxxxx, pbarbuda@xxxxxxxxxxxxx, yoshinori.sato@xxxxxxxxx, qemu-arm@xxxxxxxxxx, qemu-block@xxxxxxxxxx, qemu-devel@xxxxxxxxxx, qemu-ppc@xxxxxxxxxx, qemu-riscv@xxxxxxxxxx, qemu-s390x@xxxxxxxxxx, john.levon@xxxxxxxxxxx, thanos.makatos@xxxxxxxxxxx, kfting@xxxxxxxxxxx, den@xxxxxxxxxx, elena.ufimtseva@xxxxxxxxxx, jag.raman@xxxxxxxxxx, daniel.barboza@xxxxxxxxxxxxxxxx, philmd@xxxxxxxxxxxxxxxx, pierrick.bouvier@xxxxxxxxxxxxxxxx, phil@xxxxxxxxxxxxx, tangtao1634@xxxxxxxxxxxxxx, chao.liu@xxxxxxxxxxxxxxxxxx, jiri@xxxxxxxxxxx, sam@xxxxxxxxxxx, anisa.su@xxxxxxxxxxx, alex@xxxxxxxxxxx, farosas@xxxxxxx, mohamed@xxxxxxxxxxxxxxxx, kvm@xxxxxxxxxxxxxxx, linux-cxl@xxxxxxxxxxxxxxx, alistair.francis@xxxxxxx, anthony@xxxxxxxxxxxxxx, jamin_lin@xxxxxxxxxxxxxx, kane_chen@xxxxxxxxxxxxxx, palmer@xxxxxxxxxxx, rbolshakov@xxxxxxx, foss@xxxxxxxxxxx, sebastian.huber@xxxxxxxxxxxxxxxxxx, fam@xxxxxxxxxx, jiaxun.yang@xxxxxxxxxxx, lizhijian@xxxxxxxxxxx, atar4qemu@xxxxxxxxx, edgar.iglesias@xxxxxxxxx, jasowangio@xxxxxxxxx, liwei1518@xxxxxxxxx, npiggin@xxxxxxxxx, zhangckid@xxxxxxxxx, titusr@xxxxxxxxxx, wuhaotsh@xxxxxxxxxx, arei.gonglei@xxxxxxxxxx, berto@xxxxxxxxxx, mark.cave-ayland@xxxxxxxxxxxx, junjie.cao@xxxxxxxxx, zhao1.liu@xxxxxxxxx, its@xxxxxxxxxxxxx, clg@xxxxxxxx, conor@xxxxxxxxxx, david@xxxxxxxxxx, jic23@xxxxxxxxxx, kbusch@xxxxxxxxxx, mchehab+huawei@xxxxxxxxxx, sstabellini@xxxxxxxxxx, peter.maydell@xxxxxxxxxx, richard.henderson@xxxxxxxxxx, zhiwei_liu@xxxxxxxxxxxxxxxxx, zhenwei.pi@xxxxxxxxx, adityag@xxxxxxxxxxxxx, alifm@xxxxxxxxxxxxx, amachhiw@xxxxxxxxxxxxx, borntraeger@xxxxxxxxxxxxx, brueckner@xxxxxxxxxxxxx, farman@xxxxxxxxxxxxx, harshpb@xxxxxxxxxxxxx, iii@xxxxxxxxxxxxx, jjherne@xxxxxxxxxxxxx, milesg@xxxxxxxxxxxxx, mjrosato@xxxxxxxxxxxxx
Marc-André Lureau <marcandre.lureau@xxxxxxxxxx> writes:
> The typename parameter becomes a QAPITypeInfo pointer, and the
> validation compares prop->qapi_type against it instead of matching
> prop->type strings.
>
> Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx>
> Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
[...]
> diff --git a/qom/object.c b/qom/object.c
> index 791d981dc689..40b569d4d574 100644
> --- a/qom/object.c
> +++ b/qom/object.c
> @@ -1775,7 +1775,7 @@ uint64_t object_property_get_uint(Object *obj, const
> char *name,
> }
>
> int object_property_get_enum(Object *obj, const char *name,
> - const char *typename, Error **errp)
> + const QAPITypeInfo *type_info, Error **errp)
> {
> char *str;
> int ret;
> @@ -1785,10 +1785,10 @@ int object_property_get_enum(Object *obj, const char
> *name,
> return -1;
> }
>
> - if (!g_str_equal(prop->type, typename)) {
> + if (prop->qapi_type != type_info) {
> error_setg(errp, "Property %s on %s is not '%s' enum type",
> - name, object_class_get_name(
> - object_get_class(obj)), typename);
> + name, object_class_get_name(object_get_class(obj)),
> + type_info->name);
How can this happen? Or is it a programming error?
> return -1;
> }
>
[...]
|