redpill-lkm5/shim/disable_exectutables.c
Jim Ma 89f524913a
feat: update power status and others (#2)
* remove outdated ioscheduler_fixer

* block exec syno_oob_fw_upgrade

* support get power status
2022-12-19 10:35:51 +02:00

39 lines
1.2 KiB
C

#define SHIM_NAME "common executables disabler"
#include "disable_exectutables.h"
#include "shim_base.h"
#include "../common.h"
#include "../internal/intercept_execve.h"
#define PSTORE_PATH "/usr/syno/bin/syno_pstore_collect"
#define BOOTLOADER_UPDATE1_PATH "uboot_do_upd.sh"
#define BOOTLOADER_UPDATE2_PATH "./uboot_do_upd.sh"
#define SAS_FW_UPDATE_PATH "/tmpData/upd@te/sas_fw_upgrade_tool"
#define OOB_FW_UPDATE_PATH "/usr/syno/sbin/syno_oob_fw_upgrade"
int register_disable_executables_shim(void)
{
shim_reg_in();
int out;
if (
(out = add_blocked_execve_filename(BOOTLOADER_UPDATE1_PATH)) != 0
|| (out = add_blocked_execve_filename(BOOTLOADER_UPDATE2_PATH)) != 0
|| (out = add_blocked_execve_filename(PSTORE_PATH)) != 0
|| (out = add_blocked_execve_filename(SAS_FW_UPDATE_PATH)) != 0
|| (out = add_blocked_execve_filename(OOB_FW_UPDATE_PATH)) != 0
) {
pr_loc_bug("Failed to disable some executables");
return out;
}
shim_reg_ok();
return 0;
}
int unregister_disable_executables_shim(void)
{
//noop - execve entries will be cleared in one sweep during unregister of interceptor (it's much faster this way)
//this function is kept for consistency
return 0;
}