Re: [PATCH 5/5][RFC] selftests/pfru: add test for Platform Firmware Runtime Update and Telemetry

From: Shuah Khan
Date: Tue Sep 07 2021 - 17:29:58 EST


On 9/7/21 9:40 AM, Chen Yu wrote:
Introduce a simple test for Platform Firmware Runtime Update and Telemetry
drivers. It is based on ioctl to either update firmware driver or code injection,
and read corresponding PFRU Telemetry log into user space.


A few things to consider and add handling for them in the
test.

What happens when non-root user runs this test?
What happens when the pfru device doesn't exist?


[snip]

+}
+
+int main(int argc, char *argv[])
+{
+ int fd_update, fd_log, fd_capsule;
+ struct telem_data_info data_info;
+ struct telem_info info;
+ struct update_cap_info cap;
+ void *addr_map_capsule;
+ struct stat st;
+ char *log_buf;
+ int ret = 0;
+
+ parse_options(argc, argv);
+
+ fd_log = open("/dev/pfru/telemetry", O_RDWR);
+ if (fd_log < 0) {
+ perror("Cannot open telemetry device...");
+ return 1;
+ }

Is this considered an error or unsupported?

+ fd_update = open("/dev/pfru/update", O_RDWR);
+ if (fd_update < 0) {
+ perror("Cannot open code injection device...");
+ return 1;
+ }
+

Same here. If test is run on platform with pfru test should skip
instead of reporting failure/error.

thanks,
-- Shuah