From 80070f2607cbf0d210f0f94cbf702b08d55ce34d Mon Sep 17 00:00:00 2001 From: ISpillMyDrink Date: Wed, 15 Jan 2025 16:39:24 +0100 Subject: [PATCH] Fix enabling/disabling UAS and USB modules for zst compressed modules. --- src/opensuperclone/opensuperclone.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/opensuperclone/opensuperclone.c b/src/opensuperclone/opensuperclone.c index b9c25b0..636424e 100644 --- a/src/opensuperclone/opensuperclone.c +++ b/src/opensuperclone/opensuperclone.c @@ -15517,6 +15517,18 @@ void disable_usb_mass_storage_ccc(void) return; } } + else if (access("/lib/modules/$(uname -r)/kernel/drivers/usb/storage/uas.ko.zst", F_OK)) + { + if (system("mv -fv /lib/modules/$(uname -r)/kernel/drivers/usb/storage/uas.ko.zst /lib/modules/$(uname -r)/kernel/drivers/usb/storage/uas.ko.zst.blacklist")) + { + // error copying + snprintf(tempmessage_ccc, TEMP_MESSAGE_SIZE, "%s%s", _("Error: File moving failed"), "\nmv -fv /lib/modules/$(uname -r)/kernel/drivers/usb/storage/uas.ko.zst /lib/modules/$(uname -r)/kernel/drivers/usb/storage/uas.ko.zst.blacklist"); + message_error_ccc(tempmessage_ccc); + print_gui_error_message_ccc(error_message_ccc, _("Error!"), 1); + clear_error_message_ccc(); + return; + } + } if (access("/lib/modules/$(uname -r)/kernel/drivers/usb/storage/usb-storage.ko", F_OK)) { @@ -15542,6 +15554,18 @@ void disable_usb_mass_storage_ccc(void) return; } } + else if (access("/lib/modules/$(uname -r)/kernel/drivers/usb/storage/usb-storage.ko.zst", F_OK)) + { + if (system("mv -fv /lib/modules/$(uname -r)/kernel/drivers/usb/storage/usb-storage.ko.zst /lib/modules/$(uname -r)/kernel/drivers/usb/storage/usb-storage.ko.zst.blacklist")) + { + // error copying + snprintf(tempmessage_ccc, TEMP_MESSAGE_SIZE, "%s%s", _("Error: File moving failed"), "\nmv -fv /lib/modules/$(uname -r)/kernel/drivers/usb/storage/usb-storage.ko.zst /lib/modules/$(uname -r)/kernel/drivers/usb/storage/usb-storage.ko.zst.blacklist"); + message_error_ccc(tempmessage_ccc); + print_gui_error_message_ccc(error_message_ccc, _("Error!"), 1); + clear_error_message_ccc(); + return; + } + } snprintf(tempmessage_ccc, TEMP_MESSAGE_SIZE, _("Operation completed successfully\n")); message_error_ccc(tempmessage_ccc);