From 1fba5fa9f0a4f96962f10c95956b93a9e7aa6c99 Mon Sep 17 00:00:00 2001 From: limerence Date: Wed, 28 Jun 2023 17:01:37 +0800 Subject: [PATCH] fix xpm coding style problem Signed-off-by: limerence --- xpm/core/xpm_debugfs.c | 11 ++++++++++- xpm/core/xpm_hck.c | 14 +++++++------- xpm/include/xpm_debugfs.h | 6 ++++++ xpm/include/xpm_hck.h | 3 +-- 4 files changed, 24 insertions(+), 10 deletions(-) diff --git a/xpm/core/xpm_debugfs.c b/xpm/core/xpm_debugfs.c index 7902b50..9265532 100755 --- a/xpm/core/xpm_debugfs.c +++ b/xpm/core/xpm_debugfs.c @@ -5,10 +5,19 @@ #include #include "xpm_log.h" +#include "xpm_hck.h" #include "xpm_debugfs.h" -extern uint8_t xpm_mode; +#define XPM_PERMISSIVE_MODE 0 +#define XPM_ENFORCE_MODE 1 + static struct dentry *xpm_dir; +static uint8_t xpm_mode = XPM_PERMISSIVE_MODE; + +bool xpm_is_permissve_mode(void) +{ + return xpm_mode == XPM_PERMISSIVE_MODE; +} int xpm_debugfs_init(void) { diff --git a/xpm/core/xpm_hck.c b/xpm/core/xpm_hck.c index 55181ca..0807353 100644 --- a/xpm/core/xpm_hck.c +++ b/xpm/core/xpm_hck.c @@ -16,13 +16,12 @@ #include "xpm_hck.h" #include "xpm_log.h" #include "xpm_report.h" +#include "xpm_debugfs.h" #include "exec_signature_info.h" -uint8_t xpm_mode = XPM_PERMISSIVE_MODE; - static int xpm_value(int value) { - return (xpm_mode == XPM_PERMISSIVE_MODE ? 0 : value); + return xpm_is_permissve_mode() ? 0 : value; } static bool xpm_is_anonymous_vma(struct vm_area_struct *vma) @@ -78,7 +77,6 @@ static int xpm_check_code_segment(bool is_exec, struct vm_area_struct *vma, seg_addr_start = ALIGN_DOWN(segments[i].file_offset, PAGE_SIZE); seg_addr_end = PAGE_ALIGN(segments[i].file_offset + segments[i].size); - if ((vm_addr_start >= seg_addr_start) && (vm_addr_end <= seg_addr_end)) return 0; @@ -90,10 +88,11 @@ static int xpm_check_code_segment(bool is_exec, struct vm_area_struct *vma, static int xpm_check_signature(struct vm_area_struct *vma, unsigned long prot) { int ret; + bool is_exec; struct exec_file_signature_info *info = NULL; - bool is_exec = !xpm_is_anonymous_vma(vma) && (prot & PROT_EXEC); /* vma is non-executable or mmap in xpm region just return */ + is_exec = !xpm_is_anonymous_vma(vma) && (prot & PROT_EXEC); if (!((vma->vm_flags & VM_XPM) || is_exec)) return 0; @@ -126,8 +125,9 @@ exit: static int xpm_check_prot(struct vm_area_struct *vma, unsigned long prot) { int ret; - bool is_anon = xpm_is_anonymous_vma(vma); + bool is_anon; + is_anon = xpm_is_anonymous_vma(vma); if ((vma->vm_flags & VM_XPM) && (is_anon || (prot & PROT_WRITE) || (prot & PROT_EXEC))) { xpm_log_error("xpm region mmap not allow anonymous/exec/write permission"); @@ -337,7 +337,7 @@ void xpm_register_hck_hooks(void) REGISTER_HCK_LITE_HOOK(xpm_get_unmapped_area_lhck, xpm_get_unmapped_area); - /* xpm integrity*/ + /* xpm integrity */ REGISTER_HCK_LITE_HOOK(xpm_integrity_equal_lhck, xpm_integrity_equal); REGISTER_HCK_LITE_HOOK(xpm_integrity_check_lhck, xpm_integrity_check); REGISTER_HCK_LITE_HOOK(xpm_integrity_update_lhck, xpm_integrity_update); diff --git a/xpm/include/xpm_debugfs.h b/xpm/include/xpm_debugfs.h index 7466f66..30575ba 100755 --- a/xpm/include/xpm_debugfs.h +++ b/xpm/include/xpm_debugfs.h @@ -8,6 +8,7 @@ #ifdef CONFIG_SECURITY_XPM_DEBUG int xpm_debugfs_init(void); void xpm_debugfs_exit(void); +bool xpm_is_permissve_mode(void); #else static inline int xpm_debugfs_init(void) @@ -18,6 +19,11 @@ static inline int xpm_debugfs_init(void) static inline void xpm_debugfs_exit(void) { } + +static inline bool xpm_is_permissve_mode(void) +{ + return true; +} #endif #endif /* _XPM_DEBUGFS_H */ diff --git a/xpm/include/xpm_hck.h b/xpm/include/xpm_hck.h index 46bf62d..35cc279 100644 --- a/xpm/include/xpm_hck.h +++ b/xpm/include/xpm_hck.h @@ -6,8 +6,7 @@ #ifndef _XPM_HCK_H #define _XPM_HCK_H -#define XPM_PERMISSIVE_MODE 0 -#define XPM_ENFORCE_MODE 1 +void set_xpm_mode(uint8_t mode); void xpm_register_xpm_hooks(void); -- Gitee