|
@@ -2321,7 +2321,12 @@ int machine__get_kernel_start(struct machine *machine)
|
|
machine->kernel_start = 1ULL << 63;
|
|
machine->kernel_start = 1ULL << 63;
|
|
if (map) {
|
|
if (map) {
|
|
err = map__load(map);
|
|
err = map__load(map);
|
|
- if (!err)
|
|
|
|
|
|
+ /*
|
|
|
|
+ * On x86_64, PTI entry trampolines are less than the
|
|
|
|
+ * start of kernel text, but still above 2^63. So leave
|
|
|
|
+ * kernel_start = 1ULL << 63 for x86_64.
|
|
|
|
+ */
|
|
|
|
+ if (!err && !machine__is(machine, "x86_64"))
|
|
machine->kernel_start = map->start;
|
|
machine->kernel_start = map->start;
|
|
}
|
|
}
|
|
return err;
|
|
return err;
|