Hello Mickaël Salaün,
Commit 6a500b22971c ("selftests/landlock: Add tests for audit flags and domain IDs") from Mar 20, 2025 (linux-next), leads to the following Smatch static checker warning:
tools/testing/selftests/landlock/audit.h:408 audit_init_filter_exe() warn: unsigned 'filter->exe_len' is never less than zero.
tools/testing/selftests/landlock/audit.h 399 static int audit_init_filter_exe(struct audit_filter *filter, const char *path) 400 { 401 char *absolute_path = NULL; 402 403 /* It is assume that there is not already filtering rules. */ 404 filter->record_type = AUDIT_EXE; 405 if (!path) { 406 filter->exe_len = readlink("/proc/self/exe", filter->exe, 407 sizeof(filter->exe) - 1); --> 408 if (filter->exe_len < 0)
size_t can't be negative.
409 return -errno; 410 411 return 0; 412 } 413 414 absolute_path = realpath(path, NULL); 415 if (!absolute_path) 416 return -errno; 417 418 /* No need for the terminating NULL byte. */ 419 filter->exe_len = strlen(absolute_path); 420 if (filter->exe_len > sizeof(filter->exe)) 421 return -E2BIG; 422 423 memcpy(filter->exe, absolute_path, filter->exe_len); 424 free(absolute_path); 425 return 0; 426 }
regards, dan carpenter
linux-kselftest-mirror@lists.linaro.org