One small fix and one clean up
A small fix Pavel sent me back in august was accidentally lost due to it being placed with some other patches that failed some tests, and was rebased out of my local tree. Which was a regression that caused event filters not to handle negative numbers. The clean up is from Masami that realized that the code in kprobes that calls probe_mem_read() wrapper, which is to be used in code used by both kprobes and uprobes, was only in code for kprobes. It should not use the wrapper there, but instead call probe_kernel_read() directly. -----BEGIN PGP SIGNATURE----- iIoEABYIADIWIQRRSw7ePDh/lE+zeZMp5XQQmuv6qgUCXH2gZRQccm9zdGVkdEBn b29kbWlzLm9yZwAKCRAp5XQQmuv6qrTyAQC+dfxfyS32BWpGOwZbUIHGYYHtnpEB 7bIQzXy2q8r4YQD/UGJ0qoHur1gSMEIVjhIM0Qow4VepqqhthIAV/1iVbgU= =F9yc -----END PGP SIGNATURE----- Merge tag 'trace-v5.0-pre' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracing fix/cleanup from Steven Rostedt: "This is a "pre-pull". It's only one small fix and one small clean up. I'm testing a few small patches for my real pull request which will come at a later time. The second patch depends on your tree anyway so I included it along with the urgent fix. A small fix Pavel sent me back in august was accidentally lost due to it being placed with some other patches that failed some tests, and was rebased out of my local tree. Which was a regression that caused event filters not to handle negative numbers. The clean up is from Masami that realized that the code in kprobes that calls probe_mem_read() wrapper, which is to be used in code used by both kprobes and uprobes, was only in code for kprobes. It should not use the wrapper there, but instead call probe_kernel_read() directly" * tag 'trace-v5.0-pre' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing/kprobes: Use probe_kernel_read instead of probe_mem_read tracing: Fix event filters and triggers to handle negative numbers
This commit is contained in:
commit
bdfa15f1a3
@ -1301,7 +1301,7 @@ static int parse_pred(const char *str, void *data,
|
||||
/* go past the last quote */
|
||||
i++;
|
||||
|
||||
} else if (isdigit(str[i])) {
|
||||
} else if (isdigit(str[i]) || str[i] == '-') {
|
||||
|
||||
/* Make sure the field is not a string */
|
||||
if (is_string_field(field)) {
|
||||
@ -1314,6 +1314,9 @@ static int parse_pred(const char *str, void *data,
|
||||
goto err_free;
|
||||
}
|
||||
|
||||
if (str[i] == '-')
|
||||
i++;
|
||||
|
||||
/* We allow 0xDEADBEEF */
|
||||
while (isalnum(str[i]))
|
||||
i++;
|
||||
|
@ -865,7 +865,7 @@ fetch_store_strlen(unsigned long addr)
|
||||
u8 c;
|
||||
|
||||
do {
|
||||
ret = probe_mem_read(&c, (u8 *)addr + len, 1);
|
||||
ret = probe_kernel_read(&c, (u8 *)addr + len, 1);
|
||||
len++;
|
||||
} while (c && ret == 0 && len < MAX_STRING_SIZE);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user