mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-01 23:03:54 -06:00
qom: enforce readonly nature of link's check callback
link's check callback is supposed to verify/permit setting it, however currently nothing restricts it from misusing it and modifying target object from within. Make sure that readonly semantics are checked by compiler to prevent callback's misuse. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Signed-off-by: Fam Zheng <famz@redhat.com> Message-Id: <20170714021509.23681-2-famz@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
d40d3da00c
commit
8f5d58ef2c
9 changed files with 16 additions and 14 deletions
|
@ -764,7 +764,7 @@ ObjectClass *object_get_class(Object *obj);
|
|||
*
|
||||
* Returns: The QOM typename of @obj.
|
||||
*/
|
||||
const char *object_get_typename(Object *obj);
|
||||
const char *object_get_typename(const Object *obj);
|
||||
|
||||
/**
|
||||
* type_register_static:
|
||||
|
@ -1319,7 +1319,7 @@ typedef enum {
|
|||
* callback function. It allows the link property to be set and never returns
|
||||
* an error.
|
||||
*/
|
||||
void object_property_allow_set_link(Object *, const char *,
|
||||
void object_property_allow_set_link(const Object *, const char *,
|
||||
Object *, Error **);
|
||||
|
||||
/**
|
||||
|
@ -1352,7 +1352,7 @@ void object_property_allow_set_link(Object *, const char *,
|
|||
*/
|
||||
void object_property_add_link(Object *obj, const char *name,
|
||||
const char *type, Object **child,
|
||||
void (*check)(Object *obj, const char *name,
|
||||
void (*check)(const Object *obj, const char *name,
|
||||
Object *val, Error **errp),
|
||||
ObjectPropertyLinkFlags flags,
|
||||
Error **errp);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue