mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 23:21:31 +00:00
selftests: uevent filtering: fix return on error in uevent_listener
The ret variable is used to check function return values and assigning values to it on error has no effect as it is an unused value. The current implementation uses an additional variable (fret) to return the error value, which in this case is unnecessary and lead to the above described misuse. There is no restriction in the current implementation to always return -1 on error and the actual negative error value can be returned safely without storing -1 in a specific variable. Simplify the error checking by using a single variable which always holds the returned value. Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
parent
37013b557b
commit
5b45a75377
@ -78,7 +78,7 @@ static int uevent_listener(unsigned long post_flags, bool expect_uevent,
|
|||||||
{
|
{
|
||||||
int sk_fd, ret;
|
int sk_fd, ret;
|
||||||
socklen_t sk_addr_len;
|
socklen_t sk_addr_len;
|
||||||
int fret = -1, rcv_buf_sz = __UEVENT_BUFFER_SIZE;
|
int rcv_buf_sz = __UEVENT_BUFFER_SIZE;
|
||||||
uint64_t sync_add = 1;
|
uint64_t sync_add = 1;
|
||||||
struct sockaddr_nl sk_addr = { 0 }, rcv_addr = { 0 };
|
struct sockaddr_nl sk_addr = { 0 }, rcv_addr = { 0 };
|
||||||
char buf[__UEVENT_BUFFER_SIZE] = { 0 };
|
char buf[__UEVENT_BUFFER_SIZE] = { 0 };
|
||||||
@ -121,6 +121,7 @@ static int uevent_listener(unsigned long post_flags, bool expect_uevent,
|
|||||||
|
|
||||||
if ((size_t)sk_addr_len != sizeof(sk_addr)) {
|
if ((size_t)sk_addr_len != sizeof(sk_addr)) {
|
||||||
fprintf(stderr, "Invalid socket address size\n");
|
fprintf(stderr, "Invalid socket address size\n");
|
||||||
|
ret = -1;
|
||||||
goto on_error;
|
goto on_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -147,11 +148,12 @@ static int uevent_listener(unsigned long post_flags, bool expect_uevent,
|
|||||||
ret = write_nointr(sync_fd, &sync_add, sizeof(sync_add));
|
ret = write_nointr(sync_fd, &sync_add, sizeof(sync_add));
|
||||||
close(sync_fd);
|
close(sync_fd);
|
||||||
if (ret != sizeof(sync_add)) {
|
if (ret != sizeof(sync_add)) {
|
||||||
|
ret = -1;
|
||||||
fprintf(stderr, "Failed to synchronize with parent process\n");
|
fprintf(stderr, "Failed to synchronize with parent process\n");
|
||||||
goto on_error;
|
goto on_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
fret = 0;
|
ret = 0;
|
||||||
for (;;) {
|
for (;;) {
|
||||||
ssize_t r;
|
ssize_t r;
|
||||||
|
|
||||||
@ -187,7 +189,7 @@ static int uevent_listener(unsigned long post_flags, bool expect_uevent,
|
|||||||
on_error:
|
on_error:
|
||||||
close(sk_fd);
|
close(sk_fd);
|
||||||
|
|
||||||
return fret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int trigger_uevent(unsigned int times)
|
int trigger_uevent(unsigned int times)
|
||||||
|
Loading…
Reference in New Issue
Block a user