Thanks for the review,
On 2024-07-01 at 18:04:00 +0200, Luck, Tony wrote:
+static bool cpus_offline_empty(void) +{
- char offline_cpus_str[64];
- FILE *fp;
- fp = fopen("/sys/devices/system/cpu/offline", "r");
Check for fp == NULL before using it.
Thanks, will add it.
- if (fscanf(fp, "%s", offline_cpus_str) < 0) {
fscanf() seems like a heavy hammer.
if (fgets(offline_cpus_str, sizeof(offline_cpus_str), fp) == NULL) {
if (!errno) {
Don't need an errno check (seems dubious mixing errno with stdio).
fscanf() returns "-1" when nothing was read as well as if there was an error. But when nothing was read the errno is "0" instead of some error code so I could differentiate the cases that way. The fgetc() you settled on shouldn't have this problem.
fclose(fp);
return 1; return true;
}
ksft_perror("Could not read offline CPUs file!");
}
fclose(fp);
return 0;
return false;
+}