Re: [PATCH v2] selftests/seccomp: Improve error logging in get_proc_stat()

2025-05-28 Thread Kees Cook
On Wed, May 28, 2025 at 06:38:39AM +0530, Sameeksha Sankpal wrote:
> Use TH_LOG to report failure when reading /proc//stat in
> get_proc_stat(), following kernel test framework conventions.
> 
> Previously, printf() was used which is discouraged.

printf wasn't used previous, that was in your v1. :)

> 
> Suggested-by: Kees Cook 
> 

No blank line here -- other tags should all be together with the S-o-b
line.

> Signed-off-by: Sameeksha Sankpal 
> ---
> v1 -> v2:
> - Used TH_LOG instead of printf for error logging
> - Moved variable declaration to the top of the function
> - Applied review suggestion by Kees Cook
> 
>  tools/testing/selftests/seccomp/seccomp_bpf.c | 10 +-
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/tools/testing/selftests/seccomp/seccomp_bpf.c 
> b/tools/testing/selftests/seccomp/seccomp_bpf.c
> index d6a85d7b26da..0f12052ef1c7 100644
> --- a/tools/testing/selftests/seccomp/seccomp_bpf.c
> +++ b/tools/testing/selftests/seccomp/seccomp_bpf.c
> @@ -4505,14 +4505,14 @@ static char get_proc_stat(struct __test_metadata 
> *_metadata, pid_t pid)
>   char proc_path[100] = {0};
>   char status;
>   char *line;
> + int rc;
>  
>   snprintf(proc_path, sizeof(proc_path), "/proc/%d/stat", pid);
>   ASSERT_EQ(get_nth(_metadata, proc_path, 3, &line), 1);
> - int rc = get_nth(_metadata, proc_path, 3, &line);
> - if (rc != 1) {
> - printf("[ERROR] user_notification_fifo: failed to read stat for 
> PID %d (rc=%d)\n", pid, rc);
> - }
> - ASSERT_EQ(rc, 1);

This patch is against your v1 patch -- it doesn't apply to the seccomp
tree as-is. Please rebase your v2 off of the upstream tree rather than
your v1.

> + rc = get_nth(_metadata, proc_path, 3, &line);
> +ASSERT_EQ(rc, 1) {

Indenting looks wrong here, double-check you're using tabs. (And please
use scripts/checkpatch.pl to check your patch for common errors.)

> + TH_LOG("user_notification_fifo: failed to read stat for PID %d 
> (rc=%d)", pid, rc);
> + }
>   status = *line;
>   free(line);

Code-wise, it looks good. Please respin for a v3 and this change should
be good to land.

-Kees

-- 
Kees Cook



[PATCH v2] selftests/seccomp: Improve error logging in get_proc_stat()

2025-05-27 Thread Sameeksha Sankpal
Use TH_LOG to report failure when reading /proc//stat in
get_proc_stat(), following kernel test framework conventions.

Previously, printf() was used which is discouraged.

Suggested-by: Kees Cook 

Signed-off-by: Sameeksha Sankpal 
---
v1 -> v2:
- Used TH_LOG instead of printf for error logging
- Moved variable declaration to the top of the function
- Applied review suggestion by Kees Cook

 tools/testing/selftests/seccomp/seccomp_bpf.c | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/testing/selftests/seccomp/seccomp_bpf.c 
b/tools/testing/selftests/seccomp/seccomp_bpf.c
index d6a85d7b26da..0f12052ef1c7 100644
--- a/tools/testing/selftests/seccomp/seccomp_bpf.c
+++ b/tools/testing/selftests/seccomp/seccomp_bpf.c
@@ -4505,14 +4505,14 @@ static char get_proc_stat(struct __test_metadata 
*_metadata, pid_t pid)
char proc_path[100] = {0};
char status;
char *line;
+   int rc;
 
snprintf(proc_path, sizeof(proc_path), "/proc/%d/stat", pid);
ASSERT_EQ(get_nth(_metadata, proc_path, 3, &line), 1);
-   int rc = get_nth(_metadata, proc_path, 3, &line);
-   if (rc != 1) {
-   printf("[ERROR] user_notification_fifo: failed to read stat for 
PID %d (rc=%d)\n", pid, rc);
-   }
-   ASSERT_EQ(rc, 1);
+   rc = get_nth(_metadata, proc_path, 3, &line);
+ASSERT_EQ(rc, 1) {
+   TH_LOG("user_notification_fifo: failed to read stat for PID %d 
(rc=%d)", pid, rc);
+   }
status = *line;
free(line);
 
-- 
2.43.0