On Mon, 6 Feb 2023 13:28:49 -0800 Haiyang Zhang wrote:
After calling irq_set_affinity_and_hint(), the cpumask pointer is saved in desc->affinity_hint, and will be used later when reading /proc/irq/<num>/affinity_hint. So the cpumask variable needs to be persistent. Otherwise, we are accessing freed memory when reading the affinity_hint file.
Also, need to clear affinity_hint before free_irq(), otherwise there is a one-time warning and stack trace during module unloading:
What's the difference from the previous posting? Did you just resend it?