Message ID | 20200530143430.5203-1-oscar.carter@gmx.com (mailing list archive) |
---|---|
Headers | show |
Series | drivers/acpi: Remove function callback casts | expand |
Hi Rafael, On 2020-05-30 15:34, 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 in the acpi driver. > > The first patch creates a macro called > ACPI_DECLARE_SUBTABLE_PROBE_ENTRY > to initialize the acpi_probe_entry struct using the probe_subtbl field > instead of the probe_table field to avoid function cast mismatches. > > The second patch modifies the IRQCHIP_ACPI_DECLARE macro to use the new > defined macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY instead of the macro > ACPI_DECLARE_PROBE_ENTRY. Also, modifies the prototype of the functions > used by the invocation of the IRQCHIP_ACPI_DECLARE macro to match all > the > parameters. > > The third patch removes the function cast in the > ACPI_DECLARE_PROBE_ENTRY > macro to ensure that the functions passed as a last parameter to this > macro > have the right prototype. This macro is used only in another macro > called "TIMER_ACPI_DECLARE". An this is used only in the file: > > drivers/clocksource/arm_arch_timer.c > > In this file, the function used in the last parameter of the > TIMER_ACPI_DECLARE macro already has the right prototype. So there is > no > need to modify its prototype. I'd like to see this into 5.9. Can you please let me know if you are OK with the acpi.h changes? I can queue it via the irqchip tree. Thanks, M.
Hi, On Fri, Jun 26, 2020 at 3:07 PM Marc Zyngier <maz@kernel.org> wrote: > > Hi Rafael, > > On 2020-05-30 15:34, 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 in the acpi driver. > > > > The first patch creates a macro called > > ACPI_DECLARE_SUBTABLE_PROBE_ENTRY > > to initialize the acpi_probe_entry struct using the probe_subtbl field > > instead of the probe_table field to avoid function cast mismatches. > > > > The second patch modifies the IRQCHIP_ACPI_DECLARE macro to use the new > > defined macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY instead of the macro > > ACPI_DECLARE_PROBE_ENTRY. Also, modifies the prototype of the functions > > used by the invocation of the IRQCHIP_ACPI_DECLARE macro to match all > > the > > parameters. > > > > The third patch removes the function cast in the > > ACPI_DECLARE_PROBE_ENTRY > > macro to ensure that the functions passed as a last parameter to this > > macro > > have the right prototype. This macro is used only in another macro > > called "TIMER_ACPI_DECLARE". An this is used only in the file: > > > > drivers/clocksource/arm_arch_timer.c > > > > In this file, the function used in the last parameter of the > > TIMER_ACPI_DECLARE macro already has the right prototype. So there is > > no > > need to modify its prototype. > > I'd like to see this into 5.9. Can you please let me know if > you are OK with the acpi.h changes? Yes, I am. > I can queue it via the irqchip tree. Please do! Also please feel free to add Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> to the patches. Thanks!
On Sat, 30 May 2020 16:34:27 +0200, 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 in the acpi driver. > > The first patch creates a macro called ACPI_DECLARE_SUBTABLE_PROBE_ENTRY > to initialize the acpi_probe_entry struct using the probe_subtbl field > instead of the probe_table field to avoid function cast mismatches. > > [...] Applied to irq/irqchip-5.9: [1/3] drivers/acpi: Add new macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY commit: 89778093d38d547cd80f6097659d1cf1c2dd4d9d [2/3] drivers/irqchip: Use new macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY commit: aba3c7ed3fcf74524b7072615028827d5e5750d7 [3/3] drivers/acpi: Remove function cast commit: 8ebf642f3d809b59f57d0d408189a2218294e269 Thanks, M.