Skip to content

zynqmp: Memory corruption if nested interrupts use floating-point registers #5

@mcejp

Description

@mcejp

Reported by @darominski

The lowest-level interrupt handling code from Xilinx uses lazy save/restore of floating-point registers. There's a dedicated buffer to store the FP context, but it's only good enough to save one context. If there are nested interrupts both using FP, the buffer will overflow and corrupt subsequent memory, leading to a crash upon IRQ handler exit.

We need to provide a mechanism for the application to tweak the maximum interrupt nesting depth (at compile time). It might also be nice to detect the overflow and abort in a predictable way.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions