Messages in this thread | | | From | Rusty Russell <> | Subject | Re: [PATCH] virtio_pci: fix macro exported in uapi | Date | Mon, 20 May 2013 09:38:25 +0930 |
| |
David Howells <dhowells@redhat.com> writes: > Rusty Russell <rusty@rustcorp.com.au> wrote: > >> Macro still isn't usable, because userspace can't know whether it's the >> new or old. >> >> We need to either remove it from UAPI, or rename it to >> VIRTIO_PCI_CONFIG_OFF. > > Surely, if userspace is using it as is, you can't remove it, rename it or > alter it?
The point of the patch is that it's unusable:
#define VIRTIO_PCI_CONFIG(dev) ((dev)->msix_enabled ? 24 : 20)
ie. it's accessing a member of the kernel's virtio_pci_dev structure.
In theory, userspace could have a structure with the same field and be using it now, but that's unlikely (qemu certainly doesn't). No harm no foul.
In theory it's actually a useful macro, so we could expose it to userspace, but we'd need to have a new name so userspace can #ifdef for older headers...
Hope that clarifies, Rusty.
| |