linux_dsm_epyc7002/samples
Daniel T. Lee 5a86381321 samples: bpf: fix: error handling regarding kprobe_events
Currently, kprobe_events failure won't be handled properly.
Due to calling system() indirectly to write to kprobe_events,
it can't be identified whether an error is derived from kprobe or system.

    // buf = "echo '%c:%s %s' >> /s/k/d/t/kprobe_events"
    err = system(buf);
    if (err < 0) {
        printf("failed to create kprobe ..");
        return -1;
    }

For example, running ./tracex7 sample in ext4 partition,
"echo p:open_ctree open_ctree >> /s/k/d/t/kprobe_events"
gets 256 error code system() failure.
=> The error comes from kprobe, but it's not handled correctly.

According to man of system(3), it's return value
just passes the termination status of the child shell
rather than treating the error as -1. (don't care success)

Which means, currently it's not working as desired.
(According to the upper code snippet)

    ex) running ./tracex7 with ext4 env.
    # Current Output
    sh: echo: I/O error
    failed to open event open_ctree

    # Desired Output
    failed to create kprobe 'open_ctree' error 'No such file or directory'

The problem is, error can't be verified whether from child ps
or system. But using write() directly can verify the command
failure, and it will treat all error as -1. So I suggest using
write() directly to 'kprobe_events' rather than calling system().

Signed-off-by: Daniel T. Lee <danieltimlee@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
2018-11-23 22:39:09 +01:00
..
auxdisplay
bpf samples: bpf: fix: error handling regarding kprobe_events 2018-11-23 22:39:09 +01:00
configfs
connector
hidraw
hw_breakpoint
kdb
kfifo
kobject
kprobes
livepatch
mei mei: samples: fix a signedness bug in amt_host_if_call() 2018-10-02 15:39:59 -07:00
mic/mpssd
pktgen
qmi
rpmsg
seccomp
statx
timers
trace_events
trace_printk
uhid
v4l
vfio-mdev vfio: add edid support to mbochs sample driver 2018-10-11 10:22:36 -06:00
watchdog
Kconfig samples: disable CONFIG_SAMPLES for UML 2018-10-11 02:15:46 +09:00
Makefile