From: Francis Deslauriers Date: Fri, 17 Jan 2020 20:09:21 +0000 (-0500) Subject: Fix: lttng: sanity check of `--probe` description X-Git-Tag: v2.12.0-rc1~28 X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=commitdiff_plain;h=531be721f74add51145d8d5c512d7c33366ad890;hp=531be721f74add51145d8d5c512d7c33366ad890 Fix: lttng: sanity check of `--probe` description Issue ===== Run the following command: lttng enable-event -k --probe "\do_fork" my_do_fork_event currently fails and that is expected. But it does not fail for the right reason. In the `parse_probe_opts()` function, during the last step of parsing the probe description we assume it's a raw address and pass the string directly to the `strtoul()` function. So if the probe description is not an address at all (e.g. "\do_fork"), the `strtoul()` call will return 0 in the `addr` field of the probe struct. This is then passed to the kernel tracer that asks the kernel to instrument that address with a kprobe. This fails because 0x0 is not an address that can be instrumented. Solution ======== Check that the first character of the tentative address is a digit before trying to convert the string to an integer. This is not perfect but at least it prevents some errors. Signed-off-by: Francis Deslauriers Change-Id: I444f0e7694098b1cdb56ecbf5d92be8974e406dc Signed-off-by: Jérémie Galarneau ---