From f9244b36df090a05cd59ba11ea4fd01e9b638995 Mon Sep 17 00:00:00 2001 From: BuGu <62454025+Z2Z-GuGu@users.noreply.github.com> Date: Mon, 14 Apr 2025 14:51:14 +0800 Subject: [PATCH] Fix security risks related to MIC MIC driver will not be automatically loaded when powered on, and the driver will be directly deleted --- kvmapp/system/init.d/S00kmod | 32 +++++++++++++++ .../sg2002/additional/kvm/src/kvm_vision.cpp | 3 -- .../main/lib/system_init/system_init.cpp | 39 +++++++++++-------- 3 files changed, 54 insertions(+), 20 deletions(-) create mode 100755 kvmapp/system/init.d/S00kmod diff --git a/kvmapp/system/init.d/S00kmod b/kvmapp/system/init.d/S00kmod new file mode 100755 index 0000000..83e9a8e --- /dev/null +++ b/kvmapp/system/init.d/S00kmod @@ -0,0 +1,32 @@ +#!/bin/sh + +if [ "$1" = "start" ] +then + . /etc/profile + printf "load kernel module: " + cd /mnt/system/ko/ + insmod soph_sys.ko + insmod soph_base.ko + insmod soph_rtos_cmdqu.ko + insmod soph_fast_image.ko + insmod soph_mipi_rx.ko + insmod soph_snsr_i2c.ko + insmod soph_vi.ko + insmod soph_vpss.ko + insmod soph_dwa.ko + insmod soph_vo.ko + insmod soph_rgn.ko + insmod soph_wdt.ko + insmod soph_clock_cooling.ko + insmod soph_tpu.ko + insmod soph_vcodec.ko + insmod soph_jpeg.ko + insmod soph_vc_driver.ko MaxVencChnNum=9 MaxVdecChnNum=9 + insmod soph_rtc.ko + insmod soph_ive.ko + insmod soph_mon.ko + insmod soph_pwm.ko + insmod soph_wiegand.ko + echo "OK" + exit 0 +fi diff --git a/support/sg2002/additional/kvm/src/kvm_vision.cpp b/support/sg2002/additional/kvm/src/kvm_vision.cpp index 27be1a8..bac9487 100644 --- a/support/sg2002/additional/kvm/src/kvm_vision.cpp +++ b/support/sg2002/additional/kvm/src/kvm_vision.cpp @@ -1674,18 +1674,15 @@ int kvmv_read_img(uint16_t _width, uint16_t _height, uint8_t _type, uint16_t _ql if(img != NULL){ // frame detect if(_type == VENC_MJPEG && kvmv_cfg.frame_detact != 0){ - debug("[kvmv] read - 4...\n"); if(kvmv_cfg.stream_stop == 0){ frame_undetact_count++; } else { frame_undetact_count = kvmv_cfg.frame_detact; } - debug("[kvmv] read - 5...\n"); if(frame_undetact_count == kvmv_cfg.frame_detact){ frame_undetact_count = 0; - debug("[kvmv] read - 6...\n"); if(frame_changed(img) == 0){ debug("[kvmv]frame not changed...\n"); kvmv_cfg.stream_stop = 1; diff --git a/support/sg2002/kvm_system/main/lib/system_init/system_init.cpp b/support/sg2002/kvm_system/main/lib/system_init/system_init.cpp index 4c97422..4b05f74 100644 --- a/support/sg2002/kvm_system/main/lib/system_init/system_init.cpp +++ b/support/sg2002/kvm_system/main/lib/system_init/system_init.cpp @@ -54,30 +54,35 @@ void new_app_init(void) { // Update the necessary scripts system("cp -f /kvmapp/system/update-nanokvm.py /etc/kvm/"); - system("rm /etc/init.d/S02udisk"); - system("cp /kvmapp/system/init.d/S01fs /etc/init.d/"); - system("cp /kvmapp/system/init.d/S03usbdev /etc/init.d/"); - system("cp /kvmapp/system/init.d/S15kvmhwd /etc/init.d/"); - system("cp /kvmapp/system/init.d/S30eth /etc/init.d/"); - system("cp /kvmapp/system/init.d/S50sshd /etc/init.d/"); + system("rm -f /etc/init.d/S02udisk"); + system("cp -f /kvmapp/system/init.d/S00kmod /etc/init.d/"); + system("cp -f /kvmapp/system/init.d/S01fs /etc/init.d/"); + system("cp -f /kvmapp/system/init.d/S03usbdev /etc/init.d/"); + system("cp -f /kvmapp/system/init.d/S15kvmhwd /etc/init.d/"); + system("cp -f /kvmapp/system/init.d/S30eth /etc/init.d/"); + system("cp -f /kvmapp/system/init.d/S50sshd /etc/init.d/"); if(kvm_wifi_exist()) { - system("cp /kvmapp/system/init.d/S30wifi /etc/init.d/"); + system("cp -f /kvmapp/system/init.d/S30wifi /etc/init.d/"); } else { - system("rm /etc/init.d/S30wifi"); + system("rm -f /etc/init.d/S30wifi"); } + // rmmod soph_saradc + system("rmmod soph_saradc"); + system("rm -f /mnt/system/ko/soph_saradc.ko"); + // PCIe Patch // system("cp /kvmapp/system/init.d/S95nanokvm /etc/init.d/"); if(access("/kvmapp/jpg_stream/dl_lib/libmaixcam_lib.so", F_OK) != 0){ - system("cp /kvmapp/system/init.d/S95nanokvm /etc/init.d/"); + system("cp -f /kvmapp/system/init.d/S95nanokvm /etc/init.d/"); } // Remove unnecessary components to speed up boot time - system("rm /etc/init.d/S04backlight"); - system("rm /etc/init.d/S05tp"); - system("rm /etc/init.d/S40bluetoothd"); - system("rm /etc/init.d/S50ssdpd"); - system("rm /etc/init.d/S99*"); + system("rm -f /etc/init.d/S04backlight"); + system("rm -f /etc/init.d/S05tp"); + system("rm -f /etc/init.d/S40bluetoothd"); + system("rm -f /etc/init.d/S50ssdpd"); + system("rm -f /etc/init.d/S99*"); // Add necessary configuration files for program execution system("mkdir /kvmapp/kvm"); @@ -91,10 +96,10 @@ void new_app_init(void) system("touch /etc/kvm/frame_detact"); // rm jpg_stream & kvm_stream - system("rm -r /kvmapp/jpg_stream"); - system("rm /kvmapp/kvm_system/kvm_stream"); // Cannot delete temporarily; the old production test script uses this file to determine if the download is complete + system("rm -rf /kvmapp/jpg_stream"); + system("rm -f /kvmapp/kvm_system/kvm_stream"); // Cannot delete temporarily; the old production test script uses this file to determine if the download is complete - system("rm /kvmapp/kvm_new_app"); + system("rm -f /kvmapp/kvm_new_app"); system("sync"); // system("/etc/init.d/S95nanokvm restart");