Skip to content

include/linux/irq*.h: Pad irq structs for KABI

Prarit Bhargava requested to merge prarit/centos-stream-9:2034264 into main

Bugzilla: https://bugzilla.redhat.com/2034264
Depends: https://bugzilla.redhat.com/2024595

Upstream Status: RHEL9 only

Pad irq related structs for KABI.

  • The irq_work struct is allocated in some drivers and must be padded.
  • irq_desc does not appear to need padding. CONFIG_SPARSE_IRQ=y for all
    arches and irq_desc are allocated via alloc_desc(), which is called in the
    kernel. External modules making function calls act on these allocated
    irq_desc structs.
  • struct irq_data is embedded in struct irq_desc and must be padded
  • irq_domain structs are included in other structs as pointers. The
    irq_domains are allocated within the kernel, and it is possible to
    allocate additional memory in the irq_domain allocation code. However,
    this code has not changed in RHEL8 and there doesn't appear to be a need
    to make this type of complex change. Instead, repeat what we did in RHEL8
    and add 4 RH_KABI_RESERVE() fields.

To make this commit easier to find in future string searches:
RH_KABI kabi rh_kabi.

Signed-off-by: Prarit Bhargava prarit@redhat.com

Edited by Prarit Bhargava

Merge request reports

Loading