diff options
| author | James Morris <james.morris@microsoft.com> | 2018-04-24 03:57:26 +1000 |
|---|---|---|
| committer | James Morris <james.morris@microsoft.com> | 2018-04-24 03:57:26 +1000 |
| commit | b393a707c84bb56a7800c93849fd8b492f76ba42 (patch) | |
| tree | 0c752bbf4d28f47d29042df8fa0c7826c51c50fd /kernel/fail_function.c | |
| parent | e59644b720aed4b9ec9d3818b483f97376fb31ed (diff) | |
| parent | 6d08b06e67cd117f6992c46611dfb4ce267cd71e (diff) | |
Merge tag 'v4.17-rc2' into next-general
Sync to Linux 4.17-rc2 for developers.
Diffstat (limited to 'kernel/fail_function.c')
| -rw-r--r-- | kernel/fail_function.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/kernel/fail_function.c b/kernel/fail_function.c index 21b0122cb39c..1d5632d8bbcc 100644 --- a/kernel/fail_function.c +++ b/kernel/fail_function.c @@ -14,6 +14,15 @@ static int fei_kprobe_handler(struct kprobe *kp, struct pt_regs *regs); +static void fei_post_handler(struct kprobe *kp, struct pt_regs *regs, + unsigned long flags) +{ + /* + * A dummy post handler is required to prohibit optimizing, because + * jump optimization does not support execution path overriding. + */ +} + struct fei_attr { struct list_head list; struct kprobe kp; @@ -56,6 +65,7 @@ static struct fei_attr *fei_attr_new(const char *sym, unsigned long addr) return NULL; } attr->kp.pre_handler = fei_kprobe_handler; + attr->kp.post_handler = fei_post_handler; attr->retval = adjust_error_retval(addr, 0); INIT_LIST_HEAD(&attr->list); } |
