Open ptrcnull opened 1 month ago
Yes looks like list is removed. Need to parse via rb_root
mounts
on these versions?
struct mnt_namespace {
struct ns_common ns;
struct mount * root;
struct rb_root mounts; /* Protected by namespace_sem */
struct user_namespace *user_ns;
struct ucounts *ucounts;
u64 seq; /* Sequence number to prevent loops */
wait_queue_head_t poll;
u64 event;
unsigned int nr_mounts; /* # of mounts in the namespace */
unsigned int pending_mounts;
} __randomize_layout;
Here is the commit where it happened: https://github.com/torvalds/linux/commit/2eea9ce4310d8c0f8ef1dbe7b0e7d9219ff02b97
Bringing the reb black tree parsing to vol3 will be needed to get this working. That's actually quite useful as that is also needed for a few other linux plugins (e.g. a dumpfiles plugin). I'd done a little bit of work on it, but nowhere near close - so someone else should feel free to jump in. 😄
For reference here is some of the rb code in vol2: https://github.com/volatilityfoundation/volatility/blob/master/volatility/plugins/overlays/linux/linux.py#L1932
Edit: I've just realized that @ptrcnull put all that information in the issue already.
@ikelos I will handle this soon, please assign this issue to me
Describe the bug The
mnt_namespace.list
field got removed in kernel version 6.8, replaced with an rb-tree atmnt_namespace.mounts
Context Volatility Version: 2.7.1 ( ac5769cf ) Operating System: Linux Python Version: 3.12.2 Suspected Operating System: Ubuntu 24.10 Command:
vol linux.mountinfo
To Reproduce Steps to reproduce the behavior:
linux.mountinfo
Expected behavior Mounts are getting printed
Example output