mirror of
https://github.com/sched-ext/scx.git
synced 2024-12-04 08:17:11 +00:00
scx_rusty: Refactor access operation of nodemask
Within "task_set_preferred_mempolicy_dom_mask", it tries to access the nodemask of the task directly. BPF verifier might not allow it under all situation. Use BPF_CORE_READ() macro to let libbpf handle CO-RE relocate to make sure it can pass the verifier. Signed-off-by: I Hsin Cheng <richard120310@gmail.com>
This commit is contained in:
parent
1f4bd50e2f
commit
2f334dba85
@ -1264,7 +1264,6 @@ static void task_set_preferred_mempolicy_dom_mask(struct task_struct *p,
|
||||
{
|
||||
u32 node_id;
|
||||
u32 val = 0;
|
||||
nodemask_t *node_mask = &p->mempolicy->nodes;
|
||||
void *mask;
|
||||
|
||||
taskc->preferred_dom_mask = 0;
|
||||
@ -1286,7 +1285,7 @@ static void task_set_preferred_mempolicy_dom_mask(struct task_struct *p,
|
||||
return;
|
||||
}
|
||||
|
||||
mask = BPF_CORE_READ(node_mask, bits);
|
||||
mask = BPF_CORE_READ(p, mempolicy, nodes.bits);
|
||||
if (bpf_core_read(&val, sizeof(val), mask))
|
||||
return;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user