Searched hist:"7237 a494decfa17d0b9d0076e6cee3235719de90" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/drivers/net/ethernet/freescale/enetc/ |
H A D | enetc.c | diff 7237a494decfa17d0b9d0076e6cee3235719de90 Fri Sep 17 05:22:05 CDT 2021 Claudiu Manoil <claudiu.manoil@nxp.com> enetc: Fix illegal access when reading affinity_hint
irq_set_affinity_hit() stores a reference to the cpumask_t parameter in the irq descriptor, and that reference can be accessed later from irq_affinity_hint_proc_show(). Since the cpu_mask parameter passed to irq_set_affinity_hit() has only temporary storage (it's on the stack memory), later accesses to it are illegal. Thus reads from the corresponding procfs affinity_hint file can result in paging request oops.
The issue is fixed by the get_cpu_mask() helper, which provides a permanent storage for the cpumask_t parameter.
Fixes: d4fd0404c1c9 ("enetc: Introduce basic PF and VF ENETC ethernet drivers") Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
|