История изменений
Исправление red75prim, (текущая версия) :
Регулярная операция.
Занятно. А почему тогда в стектрейсах в x86 не разбирают структуру ядерного стека, а используют эвристику: если число в стеке указывает куда-то внутрь кода ядра, то наверно это адрес функции.
https://www.kernel.org/doc/html/latest/x86/kernel-stacks.html#printing-backtraces-on-x86
А для ORC unwinder там недалеко есть такое предложение: «If GCC optimizations become too complicated for objtool to follow, the ORC data generation might stop working or become incomplete. (It’s worth noting that livepatch already has such a dependency on objtool’s ability to follow GCC code flow.)»
То есть корректность размотки стека не гарантируется.
Исправление red75prim, :
Регулярная операция.
Занятно. А почему тогда в стектрейсах в x86 не разбирают структуру стека, а используют эвристику: если число в стеке указывает куда-то внутрь кода ядра, то наверно это адрес функции.
https://www.kernel.org/doc/html/latest/x86/kernel-stacks.html#printing-backtraces-on-x86
А для ORC unwinder там недалеко есть такое предложение: «If GCC optimizations become too complicated for objtool to follow, the ORC data generation might stop working or become incomplete. (It’s worth noting that livepatch already has such a dependency on objtool’s ability to follow GCC code flow.)»
То есть корректность размотки стека не гарантируется.
Исходная версия red75prim, :
Регулярная операция.
Занятно. А почему тогда в стектрейсах в x86 не разбирают структуру стека, а используют эвристику: если число в стеке указывает куда-то внутрь кода ядра, то наверно это адрес возврата.
https://www.kernel.org/doc/html/latest/x86/kernel-stacks.html#printing-backtraces-on-x86
А для ORC unwinder там недалеко есть такое предложение: «If GCC optimizations become too complicated for objtool to follow, the ORC data generation might stop working or become incomplete. (It’s worth noting that livepatch already has such a dependency on objtool’s ability to follow GCC code flow.)»
То есть корректность размотки стека не гарантируется.