1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * Copyright (c) 2023 Huawei Device Co., Ltd. 4 */ 5 6 #ifndef _LITE_HCK_CED_H 7 #define _LITE_HCK_CED_H 8 9 #include <linux/mm.h> 10 #include <linux/fs.h> 11 #include <linux/hck/lite_vendor_hooks.h> 12 13 #ifndef CONFIG_HCK 14 #undef CALL_HCK_LITE_HOOK 15 #define CALL_HCK_LITE_HOOK(name, args...) 16 #undef REGISTER_HCK_LITE_HOOK 17 #define REGISTER_HCK_LITE_HOOK(name, probe) 18 #undef REGISTER_HCK_LITE_DATA_HOOK 19 #define REGISTER_HCK_LITE_DATA_HOOK(name, probe, data) 20 #else 21 DECLARE_HCK_LITE_HOOK(ced_setattr_insert_lhck, 22 TP_PROTO(struct task_struct *task), 23 TP_ARGS(task)); 24 25 DECLARE_HCK_LITE_HOOK(ced_switch_task_namespaces_lhck, 26 TP_PROTO(const struct nsproxy *new), 27 TP_ARGS(new)); 28 29 DECLARE_HCK_LITE_HOOK(ced_detection_lhck, 30 TP_PROTO(struct task_struct *task), 31 TP_ARGS(task)); 32 33 DECLARE_HCK_LITE_HOOK(ced_exit_lhck, 34 TP_PROTO(struct task_struct *task), 35 TP_ARGS(task)); 36 37 DECLARE_HCK_LITE_HOOK(ced_kernel_clone_lhck, 38 TP_PROTO(struct task_struct *task), 39 TP_ARGS(task)); 40 41 DECLARE_HCK_LITE_HOOK(ced_commit_creds_lhck, 42 TP_PROTO(const struct cred *new), 43 TP_ARGS(new)); 44 45 DECLARE_HCK_LITE_HOOK(ced_switch_task_namespaces_permission_lhck, 46 TP_PROTO(const struct nsproxy *new, int *ret), 47 TP_ARGS(new, ret)); 48 #endif /* CONFIG_HCK */ 49 50 #endif /* _LITE_HCK_CED_H */ 51