On Thu, Jan 26, 2023 at 01:04:45PM -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 > allocated per irq, and available until freeing the irq. Otherwise, > we are accessing freed memory when reading the affinity_hint file. > > To fix the bug, allocate the cpumask per irq, and free it just > before freeing the irq. > > Cc: stable@xxxxxxxxxxxxxxx > Fixes: 71fa6887eeca ("net: mana: Assign interrupts to CPUs based on NUMA nodes") > Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> > --- > .../net/ethernet/microsoft/mana/gdma_main.c | 40 ++++++++++--------- > include/net/mana/gdma.h | 1 + > 2 files changed, 23 insertions(+), 18 deletions(-) > Thanks, Reviewed-by: Leon Romanovsky <leonro@xxxxxxxxxx>