mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 07:35:36 -05:00
Fix
ksft.h: In function ‘ksft_ready’:
ksft.h:27:9: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’
ksft.h: In function ‘ksft_wait’:
ksft.h:51:9: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’
by checking the return value of the affected functions and displaying
an error message if an error is seen.
Fixes: 2b6d490b82 ("selftests: drv-net: Factor out ksft C helpers")
Cc: Joe Damato <jdamato@fastly.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Link: https://patch.msgid.link/20251205171010.515236-11-linux@roeck-us.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
59 lines
1006 B
C
59 lines
1006 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#if !defined(__NET_KSFT_H__)
|
|
#define __NET_KSFT_H__
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <unistd.h>
|
|
|
|
static inline void ksft_ready(void)
|
|
{
|
|
const char msg[7] = "ready\n";
|
|
char *env_str;
|
|
int fd;
|
|
|
|
env_str = getenv("KSFT_READY_FD");
|
|
if (env_str) {
|
|
fd = atoi(env_str);
|
|
if (!fd) {
|
|
fprintf(stderr, "invalid KSFT_READY_FD = '%s'\n",
|
|
env_str);
|
|
return;
|
|
}
|
|
} else {
|
|
fd = STDOUT_FILENO;
|
|
}
|
|
|
|
if (write(fd, msg, sizeof(msg)) < 0)
|
|
perror("write()");
|
|
if (fd != STDOUT_FILENO)
|
|
close(fd);
|
|
}
|
|
|
|
static inline void ksft_wait(void)
|
|
{
|
|
char *env_str;
|
|
char byte;
|
|
int fd;
|
|
|
|
env_str = getenv("KSFT_WAIT_FD");
|
|
if (env_str) {
|
|
fd = atoi(env_str);
|
|
if (!fd) {
|
|
fprintf(stderr, "invalid KSFT_WAIT_FD = '%s'\n",
|
|
env_str);
|
|
return;
|
|
}
|
|
} else {
|
|
/* Not running in KSFT env, wait for input from STDIN instead */
|
|
fd = STDIN_FILENO;
|
|
}
|
|
|
|
if (read(fd, &byte, sizeof(byte)) < 0)
|
|
perror("read()");
|
|
if (fd != STDIN_FILENO)
|
|
close(fd);
|
|
}
|
|
|
|
#endif
|