/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ /* Copyright (c) 2021 Hengqi Chen */ #ifndef __CORE_FIXES_BPF_H #define __CORE_FIXES_BPF_H #include #include /** * commit 2f064a59a1 ("sched: Change task_struct::state") changes * the name of task_struct::state to task_struct::__state * see: * https://github.com/torvalds/linux/commit/2f064a59a1 */ struct task_struct___x { unsigned int __state; }; static __s64 get_task_state(void *task) { struct task_struct___x *t = task; if (bpf_core_field_exists(t->__state)) return t->__state; return ((struct task_struct *)task)->state; } #endif /* __CORE_FIXES_BPF_H */