public inbox for kernel-hardening@lists.openwall.com
 help / color / mirror / Atom feed
* [PATCH v4 0/3] drivers/acpi: Remove function callback casts
@ 2020-05-30 14:12 Oscar Carter
  2020-05-30 14:12 ` [PATCH v4 1/3] drivers/acpi: Add new macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY Oscar Carter
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Oscar Carter @ 2020-05-30 14:12 UTC (permalink / raw)
  To: Kees Cook, Thomas Gleixner, Jason Cooper, Marc Zyngier,
	Rafael J. Wysocki, Len Brown
  Cc: Oscar Carter, kernel-hardening, linux-kernel, linux-acpi

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.

Changelog v1->v2
- Add more details in the commit changelog to clarify the changes (Marc
  Zyngier)
- Declare a new macro called ACPI_DECLARE_SUBTABLE_PROBE_ENTRY (Marc
  Zyngier)
- In the IRQCHIP_ACPI_DECLARE use the new defined macro (Marc Zyngier)

Changelog v2->v3
- Remove the cast of the macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY (Marc
  Zyngier)
- Change the prototype of the functions used by the invocation of the
  macro IRQCHIP_ACPI_DECLARE (Marc Zyngier)
- Split the changes in two patches.
- Add these two lines, to give credit to Marc Zyngier
  Signed-off-by: Marc Zyngier <maz@kernel.org>
  Signed-off-by: Oscar Carter <oscar.carter@gmx.com>

Changelog v3->v4
- Add a new patch to remove the cast of the macro
  ACPI_DECLARE_PROBE_ENTRY (Marc Zyngier)
- Change the subject of the first patch

Oscar Carter (3):
  drivers/acpi: Add new macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY
  drivers/irqchip: Use new macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY
  drivers/acpi: Remove function cast

 drivers/irqchip/irq-gic-v3.c |  2 +-
 drivers/irqchip/irq-gic.c    |  2 +-
 include/linux/acpi.h         | 23 +++++++++++++++++------
 include/linux/irqchip.h      |  5 +++--
 4 files changed, 22 insertions(+), 10 deletions(-)

--
2.20.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-05-30 14:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-05-30 14:12 [PATCH v4 0/3] drivers/acpi: Remove function callback casts Oscar Carter
2020-05-30 14:12 ` [PATCH v4 1/3] drivers/acpi: Add new macro ACPI_DECLARE_SUBTABLE_PROBE_ENTRY Oscar Carter
2020-05-30 14:12 ` [PATCH v4 2/3] drivers/irqchip: Use " Oscar Carter
2020-05-30 14:12 ` [PATCH v4 3/3] drivers/acpi: Remove function cast Oscar Carter
2020-05-30 14:18 ` [PATCH v4 0/3] drivers/acpi: Remove function callback casts Oscar Carter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox