diff options
author | Claudiu Manoil <claudiu.manoil@nxp.com> | 2021-09-17 13:22:05 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-09-19 12:10:26 +0100 |
commit | 7237a494decfa17d0b9d0076e6cee3235719de90 (patch) | |
tree | f5db6ca21de01b515882da7591491784a05e39f8 /tools/lib/find_bit.c | |
parent | afd92d82c9d715fb97565408755acad81573591a (diff) |
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>
Diffstat (limited to 'tools/lib/find_bit.c')
0 files changed, 0 insertions, 0 deletions