| 1 | /* SPDX-License-Identifier: (GPL-2.0-only OR LGPL-2.1-only) |
| 2 | * |
| 3 | * blacklist/kprobes.h |
| 4 | * |
| 5 | * Blacklist of kernel for buggy kprobes implementation. |
| 6 | * |
| 7 | * Copyright (C) 2019 Jonathan Rajotte-Julien <jonathan.rajotte-julien@efficios.com> |
| 8 | */ |
| 9 | |
| 10 | #ifndef _LTTNG_BLACKLIST_KPROBES_H |
| 11 | #define _LTTNG_BLACKLIST_KPROBES_H |
| 12 | |
| 13 | #include <lttng-kernel-version.h> |
| 14 | |
| 15 | #if LTTNG_KERNEL_RANGE(4,20,0, 4,20,13) \ |
| 16 | || LTTNG_KERNEL_RANGE(4,19,9, 4,19,26) \ |
| 17 | || LTTNG_KERNEL_RANGE(4,14,87, 4,14,104) |
| 18 | # if defined(CONFIG_ARM) && defined(CONFIG_OPTPROBES) |
| 19 | # error "Your kernel is known to have buggy optimized kprobes implementation. Fixed by commit 0ac569bf6a7983c0c5747d6df8db9dc05bc92b6c \"ARM: 8834/1: Fix: kprobes: optimized kprobes illegal instruction\" in Linux. Disable CONFIG_OPTPROBES or upgrade your kernel." |
| 20 | # endif /* #if defined(CONFIG_ARM) && defined(CONFIG_OPTPROBES) */ |
| 21 | #endif |
| 22 | |
| 23 | #endif /* _LTTNG_BLACKLIST_KPROBES_H */ |