lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3a69e1fc-c266-d75c-32e3-9b5f655a8258@i2se.com>
Date:   Wed, 18 Jan 2023 12:38:53 +0100
From:   Stefan Wahren <stefan.wahren@...e.com>
To:     Arnd Bergmann <arnd@...nel.org>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        Florian Fainelli <f.fainelli@...il.com>,
        Stephen Rothwell <sfr@...b.auug.org.au>
Cc:     Arnd Bergmann <arnd@...db.de>,
        Broadcom internal kernel review list 
        <bcm-kernel-feedback-list@...adcom.com>,
        Adrien Thierry <athierry@...hat.com>,
        Nicolas Saenz Julienne <nsaenz@...nel.org>,
        Umang Jain <umang.jain@...asonboard.com>,
        linux-staging@...ts.linux.dev,
        linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] staging: vchiq_arm: fix enum vchiq_status return types

Hi Arnd,

Am 17.01.23 um 17:39 schrieb Arnd Bergmann:
> From: Arnd Bergmann <arnd@...db.de>
>
> gcc-13 notices a type mismatch between function declaration
> and definition for a few functions that have been converted
> from returning vchiq specific status values to regular error
> codes:
>
> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:662:5: error: conflicting types for 'vchiq_initialise' due to enum/integer mismatch; have 'int(struct vchiq_instance **)' [-Werror=enum-int-mismatch]
> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:1411:1: error: conflicting types for 'vchiq_use_internal' due to enum/integer mismatch; have 'int(struct vchiq_state *, struct vchiq_service *, enum USE_TYPE_E)' [-Werror=enum-int-mismatch]
> drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c:1468:1: error: conflicting types for 'vchiq_release_internal' due to enum/integer mismatch; have 'int(struct vchiq_state *, struct vchiq_service *)' [-Werror=enum-int-mismatch]
>
> Change the declarations to match the actual function definition.
>
> Fixes: a9fbd828be7f ("staging: vchiq_arm: drop enum vchiq_status from vchiq_*_internal")
> Signed-off-by: Arnd Bergmann <arnd@...db.de>

thanks for fixing this.

Greg applied a series [1] from Umang which completely removes this enum 
completely. This series has been applied to today and will likely cause 
a conflict tomorrow in linux-next.

[1] - 
https://lore.kernel.org/linux-arm-kernel/ba52e6b4-33ec-622e-00b6-1b098f529a90@ideasonboard.com/T/

> ---
>   .../staging/vc04_services/include/linux/raspberrypi/vchiq.h   | 2 +-
>   drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h | 4 ++--
>   2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h b/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h
> index db1441c0cc66..690ab7165b2c 100644
> --- a/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h
> +++ b/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h
> @@ -86,7 +86,7 @@ struct vchiq_service_params_kernel {
>   
>   struct vchiq_instance;
>   
> -extern enum vchiq_status vchiq_initialise(struct vchiq_instance **pinstance);
> +extern int vchiq_initialise(struct vchiq_instance **pinstance);
>   extern enum vchiq_status vchiq_shutdown(struct vchiq_instance *instance);
>   extern enum vchiq_status vchiq_connect(struct vchiq_instance *instance);
>   extern enum vchiq_status vchiq_open_service(struct vchiq_instance *instance,
> diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h
> index 2851ef6b9cd0..cd20eb18f275 100644
> --- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h
> +++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h
> @@ -100,10 +100,10 @@ vchiq_dump_platform_use_state(struct vchiq_state *state);
>   extern void
>   vchiq_dump_service_use_state(struct vchiq_state *state);
>   
> -extern enum vchiq_status
> +extern int
>   vchiq_use_internal(struct vchiq_state *state, struct vchiq_service *service,
>   		   enum USE_TYPE_E use_type);
> -extern enum vchiq_status
> +extern int
>   vchiq_release_internal(struct vchiq_state *state,
>   		       struct vchiq_service *service);
>   

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ