Skip to content

Commit

Permalink
linux: kernel_symbol object extension: move properties to getters
Browse files Browse the repository at this point in the history
  • Loading branch information
gcmoreira committed Feb 2, 2025
1 parent 348720c commit cef87e0
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 8 deletions.
9 changes: 3 additions & 6 deletions volatility3/framework/symbols/linux/extensions/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3225,8 +3225,7 @@ def _offset_to_ptr(self, off) -> int:
long_mask = (1 << layer.bits_per_register) - 1
return (self.vol.offset + off) & long_mask

@property
def name(self) -> str:
def get_name(self) -> str:
if self.has_member("name_offset"):
# kernel >= 4.19 and CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
# See 7290d58095712a89f845e1bca05334796dd49ed2
Expand All @@ -3246,8 +3245,7 @@ def name(self) -> str:

return name_bytes.decode("utf-8", errors="ignore")

@property
def value(self) -> int:
def get_value(self) -> int:
if self.has_member("value_offset"):
# kernel >= 4.19 and CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
# See 7290d58095712a89f845e1bca05334796dd49ed2
Expand All @@ -3258,8 +3256,7 @@ def value(self) -> int:

raise AttributeError("Unsupported kernel_symbol type implementation")

@property
def namespace(self) -> str:
def get_namespace(self) -> str:
if self.has_member("namespace_offset"):
# kernel >= 4.19 and CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
# See 7290d58095712a89f845e1bca05334796dd49ed2
Expand Down
4 changes: 2 additions & 2 deletions volatility3/framework/symbols/linux/kallsyms.py
Original file line number Diff line number Diff line change
Expand Up @@ -722,7 +722,7 @@ def _is_symbol_exported(
self._kas_config.stop_ksymtab,
)

return kernel_symbol is not None and kernel_symbol.value == address
return kernel_symbol is not None and kernel_symbol.get_value() == address

def _elfsym_to_kassymbol(
self,
Expand Down Expand Up @@ -1026,7 +1026,7 @@ def _cmp_kernel_symbol_name(
name: str,
kernel_symbol: interfaces.objects.ObjectInterface,
) -> int:
return self._cmp_symbol_name(name, kernel_symbol.name)
return self._cmp_symbol_name(name, kernel_symbol.get_name())

def _cmp_symbol_name(
self,
Expand Down

0 comments on commit cef87e0

Please sign in to comment.