Configuring QEMU with:
configure --target-list="x86_64-softmmu" --cc=clang --enable-pvrdma
Results in:
qemu/hw/rdma/rdma_rm_defs.h:108:3: error: redefinition of typedef 'RdmaDeviceResources' is a C11 feature [-Werror,-Wtypedef-redefinition]
} RdmaDeviceResources;
^
qemu/hw/rdma/rdma_backend_defs.h:24:36: note: previous definition is here
typedef struct RdmaDeviceResources RdmaDeviceResources;
Fix by removing one of the 'typedef' definitions.
Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
---
hw/rdma/rdma_rm_defs.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/rdma/rdma_rm_defs.h b/hw/rdma/rdma_rm_defs.h
index 0ba61d1838..5e877c1fd9 100644
--- a/hw/rdma/rdma_rm_defs.h
+++ b/hw/rdma/rdma_rm_defs.h
@@ -96,7 +96,7 @@ typedef struct RdmaRmPort {
enum ibv_port_state state;
} RdmaRmPort;
-typedef struct RdmaDeviceResources {
+struct RdmaDeviceResources {
RdmaRmPort port;
RdmaRmResTbl pd_tbl;
RdmaRmResTbl mr_tbl;
@@ -105,6 +105,6 @@ typedef struct RdmaDeviceResources {
RdmaRmResTbl cq_tbl;
RdmaRmResTbl cqe_ctx_tbl;
GHashTable *qp_hash; /* Keeps mapping between real and emulated */
-} RdmaDeviceResources;
+};
#endif
--
2.17.1
On 2/14/19 5:40 PM, Marcel Apfelbaum wrote:
> Configuring QEMU with:
> configure --target-list="x86_64-softmmu" --cc=clang --enable-pvrdma
> Results in:
> qemu/hw/rdma/rdma_rm_defs.h:108:3: error: redefinition of typedef 'RdmaDeviceResources' is a C11 feature [-Werror,-Wtypedef-redefinition]
> } RdmaDeviceResources;
> ^
> qemu/hw/rdma/rdma_backend_defs.h:24:36: note: previous definition is here
> typedef struct RdmaDeviceResources RdmaDeviceResources;
>
> Fix by removing one of the 'typedef' definitions.
>
> Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
> ---
> hw/rdma/rdma_rm_defs.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/rdma/rdma_rm_defs.h b/hw/rdma/rdma_rm_defs.h
> index 0ba61d1838..5e877c1fd9 100644
> --- a/hw/rdma/rdma_rm_defs.h
> +++ b/hw/rdma/rdma_rm_defs.h
> @@ -96,7 +96,7 @@ typedef struct RdmaRmPort {
> enum ibv_port_state state;
> } RdmaRmPort;
>
> -typedef struct RdmaDeviceResources {
> +struct RdmaDeviceResources {
> RdmaRmPort port;
> RdmaRmResTbl pd_tbl;
> RdmaRmResTbl mr_tbl;
> @@ -105,6 +105,6 @@ typedef struct RdmaDeviceResources {
> RdmaRmResTbl cq_tbl;
> RdmaRmResTbl cqe_ctx_tbl;
> GHashTable *qp_hash; /* Keeps mapping between real and emulated */
> -} RdmaDeviceResources;
> +};
>
> #endif
>
Acked-by: Kamal Heib <kamalheib1@gmail.com>
Cc:qemu-stable@nongnu.org
Thanks,
Marcel
On 2/14/19 5:40 PM, Marcel Apfelbaum wrote:
> Configuring QEMU with:
> configure --target-list="x86_64-softmmu" --cc=clang --enable-pvrdma
> Results in:
> qemu/hw/rdma/rdma_rm_defs.h:108:3: error: redefinition of typedef 'RdmaDeviceResources' is a C11 feature [-Werror,-Wtypedef-redefinition]
> } RdmaDeviceResources;
> ^
> qemu/hw/rdma/rdma_backend_defs.h:24:36: note: previous definition is here
> typedef struct RdmaDeviceResources RdmaDeviceResources;
>
> Fix by removing one of the 'typedef' definitions.
>
> Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
> ---
> hw/rdma/rdma_rm_defs.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/rdma/rdma_rm_defs.h b/hw/rdma/rdma_rm_defs.h
> index 0ba61d1838..5e877c1fd9 100644
> --- a/hw/rdma/rdma_rm_defs.h
> +++ b/hw/rdma/rdma_rm_defs.h
> @@ -96,7 +96,7 @@ typedef struct RdmaRmPort {
> enum ibv_port_state state;
> } RdmaRmPort;
>
> -typedef struct RdmaDeviceResources {
> +struct RdmaDeviceResources {
> RdmaRmPort port;
> RdmaRmResTbl pd_tbl;
> RdmaRmResTbl mr_tbl;
> @@ -105,6 +105,6 @@ typedef struct RdmaDeviceResources {
> RdmaRmResTbl cq_tbl;
> RdmaRmResTbl cqe_ctx_tbl;
> GHashTable *qp_hash; /* Keeps mapping between real and emulated */
> -} RdmaDeviceResources;
> +};
>
> #endif
On 2/17/19 8:51 AM, Marcel Apfelbaum wrote:
>
> Cc:qemu-stable@nongnu.org
I doubt this is a security issue worth Cc'ing qemu-stable :)
> Thanks,
> Marcel
>
> On 2/14/19 5:40 PM, Marcel Apfelbaum wrote:
>> Configuring QEMU with:
>> configure --target-list="x86_64-softmmu" --cc=clang --enable-pvrdma
>> Results in:
>> qemu/hw/rdma/rdma_rm_defs.h:108:3: error: redefinition of typedef
>> 'RdmaDeviceResources' is a C11 feature [-Werror,-Wtypedef-redefinition]
>> } RdmaDeviceResources;
>> ^
>> qemu/hw/rdma/rdma_backend_defs.h:24:36: note: previous definition
>> is here
>> typedef struct RdmaDeviceResources RdmaDeviceResources;
>>
>> Fix by removing one of the 'typedef' definitions.
>>
>> Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> ---
>> hw/rdma/rdma_rm_defs.h | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/hw/rdma/rdma_rm_defs.h b/hw/rdma/rdma_rm_defs.h
>> index 0ba61d1838..5e877c1fd9 100644
>> --- a/hw/rdma/rdma_rm_defs.h
>> +++ b/hw/rdma/rdma_rm_defs.h
>> @@ -96,7 +96,7 @@ typedef struct RdmaRmPort {
>> enum ibv_port_state state;
>> } RdmaRmPort;
>> -typedef struct RdmaDeviceResources {
>> +struct RdmaDeviceResources {
>> RdmaRmPort port;
>> RdmaRmResTbl pd_tbl;
>> RdmaRmResTbl mr_tbl;
>> @@ -105,6 +105,6 @@ typedef struct RdmaDeviceResources {
>> RdmaRmResTbl cq_tbl;
>> RdmaRmResTbl cqe_ctx_tbl;
>> GHashTable *qp_hash; /* Keeps mapping between real and emulated */
>> -} RdmaDeviceResources;
>> +};
>> #endif
>
>
Hi Philippe,
On 2/19/19 12:05 AM, Philippe Mathieu-Daudé wrote:
> On 2/17/19 8:51 AM, Marcel Apfelbaum wrote:
>> Cc:qemu-stable@nongnu.org
> I doubt this is a security issue worth Cc'ing qemu-stable :)
>
I thought it worth adding a compilation fix to the stable branch.
Thanks,
Marcel
>> Thanks,
>> Marcel
>>
>> On 2/14/19 5:40 PM, Marcel Apfelbaum wrote:
>>> Configuring QEMU with:
>>> configure --target-list="x86_64-softmmu" --cc=clang --enable-pvrdma
>>> Results in:
>>> qemu/hw/rdma/rdma_rm_defs.h:108:3: error: redefinition of typedef
>>> 'RdmaDeviceResources' is a C11 feature [-Werror,-Wtypedef-redefinition]
>>> } RdmaDeviceResources;
>>> ^
>>> qemu/hw/rdma/rdma_backend_defs.h:24:36: note: previous definition
>>> is here
>>> typedef struct RdmaDeviceResources RdmaDeviceResources;
>>>
>>> Fix by removing one of the 'typedef' definitions.
>>>
>>> Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>
>>> ---
>>> hw/rdma/rdma_rm_defs.h | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/hw/rdma/rdma_rm_defs.h b/hw/rdma/rdma_rm_defs.h
>>> index 0ba61d1838..5e877c1fd9 100644
>>> --- a/hw/rdma/rdma_rm_defs.h
>>> +++ b/hw/rdma/rdma_rm_defs.h
>>> @@ -96,7 +96,7 @@ typedef struct RdmaRmPort {
>>> enum ibv_port_state state;
>>> } RdmaRmPort;
>>> -typedef struct RdmaDeviceResources {
>>> +struct RdmaDeviceResources {
>>> RdmaRmPort port;
>>> RdmaRmResTbl pd_tbl;
>>> RdmaRmResTbl mr_tbl;
>>> @@ -105,6 +105,6 @@ typedef struct RdmaDeviceResources {
>>> RdmaRmResTbl cq_tbl;
>>> RdmaRmResTbl cqe_ctx_tbl;
>>> GHashTable *qp_hash; /* Keeps mapping between real and emulated */
>>> -} RdmaDeviceResources;
>>> +};
>>> #endif
>>
© 2016 - 2025 Red Hat, Inc.