Skip to content

Commit d2ae43c

Browse files
authored
Merge pull request #1346 from gcmoreira/linux_misc_fixes
Linux - miscellaneous fixes
2 parents 340bd6d + 3a734fd commit d2ae43c

File tree

2 files changed

+11
-13
lines changed

2 files changed

+11
-13
lines changed

volatility3/framework/plugins/linux/pagecache.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ def write_inode_content_to_file(
454454
if current_fp + len(page_bytes) > inode_size:
455455
vollog.error(
456456
"Page out of file bounds: inode 0x%x, inode size %d, page index %d",
457-
inode.vol.object,
457+
inode.vol.offset,
458458
inode_size,
459459
page_idx,
460460
)

volatility3/framework/symbols/linux/extensions/__init__.py

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ def get_symbols(self):
240240
for sym in syms:
241241
yield sym
242242

243-
def get_symbols_names_and_addresses(self) -> Tuple[str, int]:
243+
def get_symbols_names_and_addresses(self) -> Iterable[Tuple[str, int]]:
244244
"""Get names and addresses for each symbol of the module
245245
246246
Yields:
@@ -287,17 +287,15 @@ def section_symtab(self):
287287
return self.kallsyms.symtab
288288
elif self.has_member("symtab"):
289289
return self.symtab
290-
raise AttributeError("module -> symtab: Unable to get symtab")
290+
raise AttributeError("Unable to get symtab")
291291

292292
@property
293293
def num_symtab(self):
294294
if self.has_member("kallsyms"):
295295
return int(self.kallsyms.num_symtab)
296296
elif self.has_member("num_symtab"):
297-
return int(self.num_symtab)
298-
raise AttributeError(
299-
"module -> num_symtab: Unable to determine number of symbols"
300-
)
297+
return int(self.member("num_symtab"))
298+
raise AttributeError("Unable to determine number of symbols")
301299

302300
@property
303301
def section_strtab(self):
@@ -307,7 +305,7 @@ def section_strtab(self):
307305
# Older kernels
308306
elif self.has_member("strtab"):
309307
return self.strtab
310-
raise AttributeError("module -> strtab: Unable to get strtab")
308+
raise AttributeError("Unable to get strtab")
311309

312310

313311
class task_struct(generic.GenericIntelProcess):
@@ -1098,7 +1096,7 @@ def d_ancestor(self, ancestor_dentry):
10981096
current_dentry = current_dentry.d_parent
10991097
return None
11001098

1101-
def get_subdirs(self) -> interfaces.objects.ObjectInterface:
1099+
def get_subdirs(self) -> Iterable[interfaces.objects.ObjectInterface]:
11021100
"""Walks dentry subdirs
11031101
11041102
Yields:
@@ -2435,7 +2433,7 @@ def get_file_mode(self) -> str:
24352433
"""
24362434
return stat.filemode(self.i_mode)
24372435

2438-
def get_pages(self) -> interfaces.objects.ObjectInterface:
2436+
def get_pages(self) -> Iterable[interfaces.objects.ObjectInterface]:
24392437
"""Gets the inode's cached pages
24402438
24412439
Yields:
@@ -2643,7 +2641,7 @@ def idr_find(self, idr_id: int) -> int:
26432641

26442642
return idr_layer
26452643

2646-
def _old_kernel_get_entries(self) -> int:
2644+
def _old_kernel_get_entries(self) -> Iterable[int]:
26472645
# Kernels < 4.11
26482646
cur = self.cur
26492647
total = next_id = 0
@@ -2655,15 +2653,15 @@ def _old_kernel_get_entries(self) -> int:
26552653

26562654
next_id += 1
26572655

2658-
def _new_kernel_get_entries(self) -> int:
2656+
def _new_kernel_get_entries(self) -> Iterable[int]:
26592657
# Kernels >= 4.11
26602658
id_storage = linux.IDStorage.choose_id_storage(
26612659
self._context, kernel_module_name="kernel"
26622660
)
26632661
for page_addr in id_storage.get_entries(root=self.idr_rt):
26642662
yield page_addr
26652663

2666-
def get_entries(self) -> int:
2664+
def get_entries(self) -> Iterable[int]:
26672665
"""Walks the IDR and yield a pointer associated with each element.
26682666
26692667
Args:

0 commit comments

Comments
 (0)