-
Notifications
You must be signed in to change notification settings - Fork 93
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
lazy ksymbols: fix address query with reverse linear search
In commit 3ea9231, a new KernelSymbolsTable implementation was added which uses lazy querying and parsing of a stored string copy of the /proc/kallsyms file. In order to keep efficiency of non cached queries, binary search was used for querying symbols by address, since the file mostly stores the symbols in order of addresses. However, on kernels compiled with CONFIG_KALLSYMS_ALL=y, symbols from other sections may be present in a non ordered place. This wasn't taken in consideration in initial implementations, and so a query by address could have failed despite existing. These symbols usually appear near the end of the file, so a reverse linear search is added after a failed binary search.
- Loading branch information
1 parent
3ea9231
commit 3997301
Showing
1 changed file
with
60 additions
and
44 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters