Am 08.09.2023 um 11:29 hat Daniel P. Berrangé geschrieben: > The DEFINE_PROP_ARRAY macro is a clever trick for defining array > properties. It initially creates a property "len-$FOO". When that > property is set, then it creates a sequence "$FOO[NN]" for NN > in the range 0 to "len-$FOO". > > The intended usage for this was to simplify code for internal > devices, however, it crept into use for user creatable devices > when the 'rocker' network device used it. > > This relied on the user specifying the len property first on > the -device comand line, and the args being processed in-order. > The latter was broken[1] when -device was converted from QemuOpts > to QDict[2], as ordering of loading properties was no longer > guaranteed to match user specified ordering. > > This change poisons the setter for "len-$FOO" such that it raises > an error when used with a user creatable device. > > This allows DEFINE_PROP_ARRAY to remain exclusively for internal > devices, since code can ensure properties are set in the correct > ordering. > > [1] https://gitlab.com/qemu-project/qemu/-/issues/1090 > [2] f3558b1b763683bb877f7dd5b282469cdadc65c3 > Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>
NACK. This doesn't fix the problem, but breaks rocker for good. As I said, I'm working on proper array support and will send patches soon. Kevin