forked from luck/tmp_suning_uos_patched
bpf: Fix compilation warning of selftests
Clang compiler version: 12.0.0 The following warning appears during the selftests/bpf compilation: prog_tests/send_signal.c:51:3: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result] 51 | write(pipe_c2p[1], buf, 1); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ prog_tests/send_signal.c:54:3: warning: ignoring return value of ‘read’, declared with attribute warn_unused_result [-Wunused-result] 54 | read(pipe_p2c[0], buf, 1); | ^~~~~~~~~~~~~~~~~~~~~~~~~ ...... prog_tests/stacktrace_build_id_nmi.c:13:2: warning: ignoring return value of ‘fscanf’,declared with attribute warn_unused_result [-Wunused-resul] 13 | fscanf(f, "%llu", &sample_freq); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ test_tcpnotify_user.c:133:2: warning:ignoring return value of ‘system’, declared with attribute warn_unused_result [-Wunused-result] 133 | system(test_script); | ^~~~~~~~~~~~~~~~~~~ test_tcpnotify_user.c:138:2: warning:ignoring return value of ‘system’, declared with attribute warn_unused_result [-Wunused-result] 138 | system(test_script); | ^~~~~~~~~~~~~~~~~~~ test_tcpnotify_user.c:143:2: warning:ignoring return value of ‘system’, declared with attribute warn_unused_result [-Wunused-result] 143 | system(test_script); | ^~~~~~~~~~~~~~~~~~~ Add code that fix compilation warning about ignoring return value and handles any errors; Check return value of library`s API make the code more secure. Signed-off-by: Jianlin Lv <Jianlin.Lv@arm.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Link: https://lore.kernel.org/bpf/20200806104224.95306-1-Jianlin.Lv@arm.com
This commit is contained in:
parent
6fc5916cc2
commit
929e54a989
|
@ -48,21 +48,19 @@ static void test_send_signal_common(struct perf_event_attr *attr,
|
|||
close(pipe_p2c[1]); /* close write */
|
||||
|
||||
/* notify parent signal handler is installed */
|
||||
write(pipe_c2p[1], buf, 1);
|
||||
CHECK(write(pipe_c2p[1], buf, 1) != 1, "pipe_write", "err %d\n", -errno);
|
||||
|
||||
/* make sure parent enabled bpf program to send_signal */
|
||||
read(pipe_p2c[0], buf, 1);
|
||||
CHECK(read(pipe_p2c[0], buf, 1) != 1, "pipe_read", "err %d\n", -errno);
|
||||
|
||||
/* wait a little for signal handler */
|
||||
sleep(1);
|
||||
|
||||
if (sigusr1_received)
|
||||
write(pipe_c2p[1], "2", 1);
|
||||
else
|
||||
write(pipe_c2p[1], "0", 1);
|
||||
buf[0] = sigusr1_received ? '2' : '0';
|
||||
CHECK(write(pipe_c2p[1], buf, 1) != 1, "pipe_write", "err %d\n", -errno);
|
||||
|
||||
/* wait for parent notification and exit */
|
||||
read(pipe_p2c[0], buf, 1);
|
||||
CHECK(read(pipe_p2c[0], buf, 1) != 1, "pipe_read", "err %d\n", -errno);
|
||||
|
||||
close(pipe_c2p[1]);
|
||||
close(pipe_p2c[0]);
|
||||
|
@ -99,7 +97,7 @@ static void test_send_signal_common(struct perf_event_attr *attr,
|
|||
}
|
||||
|
||||
/* wait until child signal handler installed */
|
||||
read(pipe_c2p[0], buf, 1);
|
||||
CHECK(read(pipe_c2p[0], buf, 1) != 1, "pipe_read", "err %d\n", -errno);
|
||||
|
||||
/* trigger the bpf send_signal */
|
||||
skel->bss->pid = pid;
|
||||
|
@ -107,7 +105,7 @@ static void test_send_signal_common(struct perf_event_attr *attr,
|
|||
skel->bss->signal_thread = signal_thread;
|
||||
|
||||
/* notify child that bpf program can send_signal now */
|
||||
write(pipe_p2c[1], buf, 1);
|
||||
CHECK(write(pipe_p2c[1], buf, 1) != 1, "pipe_write", "err %d\n", -errno);
|
||||
|
||||
/* wait for result */
|
||||
err = read(pipe_c2p[0], buf, 1);
|
||||
|
@ -121,7 +119,7 @@ static void test_send_signal_common(struct perf_event_attr *attr,
|
|||
CHECK(buf[0] != '2', test_name, "incorrect result\n");
|
||||
|
||||
/* notify child safe to exit */
|
||||
write(pipe_p2c[1], buf, 1);
|
||||
CHECK(write(pipe_p2c[1], buf, 1) != 1, "pipe_write", "err %d\n", -errno);
|
||||
|
||||
disable_pmu:
|
||||
close(pmu_fd);
|
||||
|
|
|
@ -6,11 +6,13 @@ static __u64 read_perf_max_sample_freq(void)
|
|||
{
|
||||
__u64 sample_freq = 5000; /* fallback to 5000 on error */
|
||||
FILE *f;
|
||||
__u32 duration = 0;
|
||||
|
||||
f = fopen("/proc/sys/kernel/perf_event_max_sample_rate", "r");
|
||||
if (f == NULL)
|
||||
return sample_freq;
|
||||
fscanf(f, "%llu", &sample_freq);
|
||||
CHECK(fscanf(f, "%llu", &sample_freq) != 1, "Get max sample rate",
|
||||
"return default value: 5000,err %d\n", -errno);
|
||||
fclose(f);
|
||||
return sample_freq;
|
||||
}
|
||||
|
|
|
@ -124,17 +124,24 @@ int main(int argc, char **argv)
|
|||
sprintf(test_script,
|
||||
"iptables -A INPUT -p tcp --dport %d -j DROP",
|
||||
TESTPORT);
|
||||
system(test_script);
|
||||
if (system(test_script)) {
|
||||
printf("FAILED: execute command: %s, err %d\n", test_script, -errno);
|
||||
goto err;
|
||||
}
|
||||
|
||||
sprintf(test_script,
|
||||
"nc 127.0.0.1 %d < /etc/passwd > /dev/null 2>&1 ",
|
||||
TESTPORT);
|
||||
system(test_script);
|
||||
if (system(test_script))
|
||||
printf("execute command: %s, err %d\n", test_script, -errno);
|
||||
|
||||
sprintf(test_script,
|
||||
"iptables -D INPUT -p tcp --dport %d -j DROP",
|
||||
TESTPORT);
|
||||
system(test_script);
|
||||
if (system(test_script)) {
|
||||
printf("FAILED: execute command: %s, err %d\n", test_script, -errno);
|
||||
goto err;
|
||||
}
|
||||
|
||||
rv = bpf_map_lookup_elem(bpf_map__fd(global_map), &key, &g);
|
||||
if (rv != 0) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user