From b95a3b0cd6e783591d95abb020431dfc99122fca Mon Sep 17 00:00:00 2001 From: chenjingwen Date: Tue, 17 Oct 2023 15:23:17 +0800 Subject: [PATCH] fixed 4bcedb6 from https://gitee.com/chenjingwen6/secDetector/pulls/31 response: add a new response kill current task Signed-off-by: chenjingwen --- kerneldriver/core/response_unit/secDetector_response.c | 8 ++++++++ kerneldriver/include/secDetector_response.h | 1 + kerneldriver/include/secDetector_response_type.h | 1 + 3 files changed, 10 insertions(+) diff --git a/kerneldriver/core/response_unit/secDetector_response.c b/kerneldriver/core/response_unit/secDetector_response.c index 76eee86..1bcd93f 100644 --- a/kerneldriver/core/response_unit/secDetector_response.c +++ b/kerneldriver/core/response_unit/secDetector_response.c @@ -8,6 +8,7 @@ #include #include #include +#include #include "secDetector_response.h" #include "secDetector_proc.h" #include "secDetector_ringbuffer.h" @@ -20,6 +21,7 @@ struct response_rb_entry { response_func_t response_units[NR_RESPONSE] = { [RESPONSE_OK] = secDetector_ok, [RESPONSE_REPORT] = secdetector_report, + [RESPONSE_KILL] = secDetector_kill, }; void notrace secdetector_respond(unsigned int response_type, @@ -37,6 +39,12 @@ void notrace secDetector_ok(response_data_t *data) return; } +void notrace secDetector_kill(response_data_t *data) +{ + if (current->mm) + send_sig(SIGKILL, current, 1); +} + void notrace secdetector_report(response_data_t *log) { int ret; diff --git a/kerneldriver/include/secDetector_response.h b/kerneldriver/include/secDetector_response.h index 4f29a67..874881b 100644 --- a/kerneldriver/include/secDetector_response.h +++ b/kerneldriver/include/secDetector_response.h @@ -23,6 +23,7 @@ extern void notrace secdetector_respond(unsigned int response_type, extern void notrace secdetector_report(response_data_t *log); void notrace secDetector_ok(response_data_t *data); +void notrace secDetector_kill(response_data_t *data); // support max 4095 bytes, extern void notrace secDetector_proc_report(response_data_t *log); diff --git a/kerneldriver/include/secDetector_response_type.h b/kerneldriver/include/secDetector_response_type.h index f95598c..91dbd1a 100644 --- a/kerneldriver/include/secDetector_response_type.h +++ b/kerneldriver/include/secDetector_response_type.h @@ -13,6 +13,7 @@ enum RESPONSE_TYPE { RESPONSE_OK, RESPONSE_REPORT, RESPONSE_REJECT, + RESPONSE_KILL, RESPONSE_CUSTOMIZATION, NR_RESPONSE, }; -- Gitee