All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Zyngier <maz@kernel.org>
To: Oscar Carter <oscar.carter@gmx.com>
Cc: Kees Cook <keescook@chromium.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Jason Cooper <jason@lakedaemon.net>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Len Brown <lenb@kernel.org>,
	kernel-hardening@lists.openwall.com,
	linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org
Subject: Re: [PATCH v3 2/2] drivers/irqchip: Use new macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY
Date: Sat, 30 May 2020 10:34:51 +0100	[thread overview]
Message-ID: <590725ccfadc6e6c84c777f69ee02a62@kernel.org> (raw)
In-Reply-To: <20200529171847.10267-3-oscar.carter@gmx.com>

Hi Oscar,

On 2020-05-29 18:18, Oscar Carter wrote:
> In an effort to enable -Wcast-function-type in the top-level Makefile 
> to
> support Control Flow Integrity builds, there are the need to remove all
> the function callback casts.
> 
> To do this, modify the IRQCHIP_ACPI_DECLARE macro to use the new 
> defined
> macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY instead of the macro
> ACPI_DECLARE_PROBE_ENTRY. This is necessary to be able to initialize 
> the
> the acpi_probe_entry struct using the probe_subtbl field instead of the
> probe_table field and avoid function cast mismatches.
> 
> Also, modify the prototype of the functions used by the invocation of 
> the
> IRQCHIP_ACPI_DECLARE macro to match all the parameters.
> 
> Co-developed-by: Marc Zyngier <maz@kernel.org>
> Signed-off-by: Marc Zyngier <maz@kernel.org>
> Signed-off-by: Oscar Carter <oscar.carter@gmx.com>
> ---
>  drivers/irqchip/irq-gic-v3.c | 2 +-
>  drivers/irqchip/irq-gic.c    | 2 +-
>  include/linux/irqchip.h      | 5 +++--
>  3 files changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/irqchip/irq-gic-v3.c 
> b/drivers/irqchip/irq-gic-v3.c
> index d7006ef18a0d..3870e9d4d3a8 100644
> --- a/drivers/irqchip/irq-gic-v3.c
> +++ b/drivers/irqchip/irq-gic-v3.c
> @@ -2117,7 +2117,7 @@ static void __init gic_acpi_setup_kvm_info(void)
>  }
> 
>  static int __init
> -gic_acpi_init(struct acpi_subtable_header *header, const unsigned long 
> end)
> +gic_acpi_init(union acpi_subtable_headers *header, const unsigned long 
> end)
>  {
>  	struct acpi_madt_generic_distributor *dist;
>  	struct fwnode_handle *domain_handle;
> diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c
> index 30ab623343d3..fc431857ce90 100644
> --- a/drivers/irqchip/irq-gic.c
> +++ b/drivers/irqchip/irq-gic.c
> @@ -1593,7 +1593,7 @@ static void __init gic_acpi_setup_kvm_info(void)
>  	gic_set_kvm_info(&gic_v2_kvm_info);
>  }
> 
> -static int __init gic_v2_acpi_init(struct acpi_subtable_header 
> *header,
> +static int __init gic_v2_acpi_init(union acpi_subtable_headers 
> *header,
>  				   const unsigned long end)
>  {
>  	struct acpi_madt_generic_distributor *dist;
> diff --git a/include/linux/irqchip.h b/include/linux/irqchip.h
> index 950e4b2458f0..447f22880a69 100644
> --- a/include/linux/irqchip.h
> +++ b/include647b532275bbe/linux/irqchip.h
> @@ -39,8 +39,9 @@
>   * @fn: initialization function
>   */
>  #define IRQCHIP_ACPI_DECLARE(name, subtable, validate, data, fn)	\
> -	ACPI_DECLARE_PROBE_ENTRY(irqchip, name, ACPI_SIG_MADT, 		\
> -				 subtable, validate, data, fn)
> +	ACPI_DECLARE_SUBTABLE_PROBE_ENTRY(irqchip, name,		\
> +					  ACPI_SIG_MADT, subtable,	\
> +					  validate, data, fn)
> 
>  #ifdef CONFIG_IRQCHIP
>  void irqchip_init(void);
> --
> 2.20.1

I can't help but notice that you have left the cast in 
ACPI_DECLARE_PROBE_ENTRY, which should definitely go. Probably worth a 
third patch.

Thanks,

         M.

-- 
Jazz is not dead. It just smells funny...

  reply	other threads:[~2020-05-30  9:35 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-29 17:18 [PATCH v3 0/2] drivers/irqchip: Remove function callback casts Oscar Carter
2020-05-29 17:18 ` [PATCH v3 1/2] drivers/irqchip: Add new macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY Oscar Carter
2020-05-29 17:18 ` [PATCH v3 2/2] drivers/irqchip: Use " Oscar Carter
2020-05-30  9:34   ` Marc Zyngier [this message]
2020-05-30 12:46     ` Oscar Carter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=590725ccfadc6e6c84c777f69ee02a62@kernel.org \
    --to=maz@kernel.org \
    --cc=jason@lakedaemon.net \
    --cc=keescook@chromium.org \
    --cc=kernel-hardening@lists.openwall.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oscar.carter@gmx.com \
    --cc=rjw@rjwysocki.net \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.