diff --git a/gear/dumpstate/Dumpstate.cpp b/gear/dumpstate/Dumpstate.cpp index 1e4d982..842e67d 100644 --- a/gear/dumpstate/Dumpstate.cpp +++ b/gear/dumpstate/Dumpstate.cpp @@ -154,8 +154,10 @@ ndk::ScopedAStatus Dumpstate::dumpstateBoard(const std::vector<::ndk::ScopedFile int64_t in_timeoutMillis) { // Unused arguments. (void) in_timeoutMillis; - (void) in_mode; - + if (in_mode < IDumpstateDevice::DumpstateMode::FULL || in_mode > IDumpstateDevice::DumpstateMode::PROTO) { + ALOGE("Invalid mode: %d\n", in_mode); + return ndk::ScopedAStatus::fromExceptionCodeWithMessage(EX_ILLEGAL_ARGUMENT, "Invalid mode"); + } if (in_fds.size() < 1) { ALOGE("no FDs\n"); return ndk::ScopedAStatus::fromExceptionCodeWithMessage(EX_ILLEGAL_ARGUMENT, @@ -171,6 +173,7 @@ ndk::ScopedAStatus Dumpstate::dumpstateBoard(const std::vector<::ndk::ScopedFile if (in_fds.size() < 2) { ALOGE("no FD for dumpstate_board binary\n"); + dumpTextSection(fd, ""); } else { int fd_bin = in_fds[1].get(); dumpLogSection(fd, fd_bin); diff --git a/gear/dumpstate/sepolicy/hal_dumpstate_default.te b/gear/dumpstate/sepolicy/hal_dumpstate_default.te index 3e4db45..96ff573 100644 --- a/gear/dumpstate/sepolicy/hal_dumpstate_default.te +++ b/gear/dumpstate/sepolicy/hal_dumpstate_default.te @@ -2,4 +2,5 @@ allow hal_dumpstate_default vendor_toolbox_exec:file execute_no_trans; allow hal_dumpstate_default radio_vendor_data_file:dir create_dir_perms; allow hal_dumpstate_default radio_vendor_data_file:file create_file_perms; allow hal_dumpstate_default shell_data_file:file getattr; +set_prop(hal_dumpstate_default, vendor_logger_prop) diff --git a/gear/dumpstate/sepolicy/property.te b/gear/dumpstate/sepolicy/property.te new file mode 100644 index 0000000..6a65855 --- /dev/null +++ b/gear/dumpstate/sepolicy/property.te @@ -0,0 +1,2 @@ +vendor_internal_prop(vendor_logger_prop) + diff --git a/gear/dumpstate/sepolicy/property_contexts b/gear/dumpstate/sepolicy/property_contexts new file mode 100644 index 0000000..e6b1f76 --- /dev/null +++ b/gear/dumpstate/sepolicy/property_contexts @@ -0,0 +1,2 @@ +persist.vendor.verbose_logging_enabled u:object_r:vendor_logger_prop:s0 +