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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ZfAeFIQTi4iQP/FU@kuha.fi.intel.com>
Date: Tue, 12 Mar 2024 11:19:16 +0200
From: Heikki Krogerus <heikki.krogerus@...ux.intel.com>
To: "Ricardo B. Marliere" <ricardo@...liere.net>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] usb: typec: constify struct class usage

On Fri, Mar 01, 2024 at 06:19:28PM -0300, Ricardo B. Marliere wrote:
> Since commit 43a7206b0963 ("driver core: class: make class_register() take
> a const *"), the driver core allows for struct class to be in read-only
> memory, so move the structures typec_mux_class, retimer_class and
> typec_class to be declared at build time placing them into read-only
> memory, instead of having to be dynamically allocated at boot time.
> 
> Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
> Suggested-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
> Signed-off-by: Ricardo B. Marliere <ricardo@...liere.net>

Reviewed-by: Heikki Krogerus <heikki.krogerus@...ux.intel.com>

> ---
>  drivers/usb/typec/class.c   | 2 +-
>  drivers/usb/typec/class.h   | 6 +++---
>  drivers/usb/typec/mux.c     | 2 +-
>  drivers/usb/typec/retimer.c | 2 +-
>  4 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/usb/typec/class.c b/drivers/usb/typec/class.c
> index caea2b829980..389c7f0b8d93 100644
> --- a/drivers/usb/typec/class.c
> +++ b/drivers/usb/typec/class.c
> @@ -21,7 +21,7 @@
>  
>  static DEFINE_IDA(typec_index_ida);
>  
> -struct class typec_class = {
> +const struct class typec_class = {
>  	.name = "typec",
>  };
>  
> diff --git a/drivers/usb/typec/class.h b/drivers/usb/typec/class.h
> index 759b98355eeb..7485cdb9dd20 100644
> --- a/drivers/usb/typec/class.h
> +++ b/drivers/usb/typec/class.h
> @@ -93,9 +93,9 @@ extern const struct device_type typec_port_dev_type;
>  #define is_typec_plug(dev) ((dev)->type == &typec_plug_dev_type)
>  #define is_typec_port(dev) ((dev)->type == &typec_port_dev_type)
>  
> -extern struct class typec_mux_class;
> -extern struct class retimer_class;
> -extern struct class typec_class;
> +extern const struct class typec_mux_class;
> +extern const struct class retimer_class;
> +extern const struct class typec_class;
>  
>  #if defined(CONFIG_ACPI)
>  int typec_link_ports(struct typec_port *connector);
> diff --git a/drivers/usb/typec/mux.c b/drivers/usb/typec/mux.c
> index 80dd91938d96..49926d6e72c7 100644
> --- a/drivers/usb/typec/mux.c
> +++ b/drivers/usb/typec/mux.c
> @@ -469,6 +469,6 @@ void *typec_mux_get_drvdata(struct typec_mux_dev *mux_dev)
>  }
>  EXPORT_SYMBOL_GPL(typec_mux_get_drvdata);
>  
> -struct class typec_mux_class = {
> +const struct class typec_mux_class = {
>  	.name = "typec_mux",
>  };
> diff --git a/drivers/usb/typec/retimer.c b/drivers/usb/typec/retimer.c
> index 4a7d1b5c4d86..b519fcf358ca 100644
> --- a/drivers/usb/typec/retimer.c
> +++ b/drivers/usb/typec/retimer.c
> @@ -155,6 +155,6 @@ void *typec_retimer_get_drvdata(struct typec_retimer *retimer)
>  }
>  EXPORT_SYMBOL_GPL(typec_retimer_get_drvdata);
>  
> -struct class retimer_class = {
> +const struct class retimer_class = {
>  	.name = "retimer",
>  };
> 
> ---
> base-commit: a560a5672826fc1e057068bda93b3d4c98d037a2
> change-id: 20240301-class_cleanup-usb-4c3cef5bb0ca
> 
> Best regards,
> -- 
> Ricardo B. Marliere <ricardo@...liere.net>

-- 
heikki

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ