Exemple #1
0
def this_kernel_version():
    uts = syms.get_value("system_utsname")
    if not uts:
        uts = syms.get_value("init_uts_ns")
        if uts:
            uts = uts['name']
    if not uts:
        raise CrashTableException("Can't locate utsname")

    return LinuxKernelVersion(uts['release'].string())
Exemple #2
0
#!/usr/bin/env python
# vim: sw=4 ts=4 et si:

import gdb

from crash.types.task import LinuxKernelTask, upid_type, upid_to_pid
from crash.types.task import pid_to_task, task_type
from crash.types.list import hlist_for_each_entry
from crash.types.types import pointer_address

from syms import get_value

pid_hash = get_value("pid_hash")
pidhash_shift = get_value('pidhash_shift')
pidhash_size = 1 << pidhash_shift
init_task = LinuxKernelTask(get_value("init_task"))


def upids_from_bucket(bucket):
    hlist = pid_hash[bucket]
    for pid in hlist_for_each_entry(hlist, upid_type, 'pid_chain'):
        yield pid

def upids():
    for bucket in range(0, pidhash_size):
        for upid in upids_from_bucket(bucket):
            yield upid

def pids():
    for upid in upids():
        yield upid_to_pid(upid)
Exemple #3
0
#!/usr/bin/env python
# vim: sw=4 ts=4 et si:

import gdb

from crash.types.task import LinuxKernelTask, upid_type, upid_to_pid
from crash.types.task import pid_to_task, task_type
from crash.types.list import hlist_for_each_entry
from crash.types.types import pointer_address

from syms import get_value

pid_hash = get_value("pid_hash")
pidhash_shift = get_value('pidhash_shift')
pidhash_size = 1 << pidhash_shift
init_task = LinuxKernelTask(get_value("init_task"))


def upids_from_bucket(bucket):
    hlist = pid_hash[bucket]
    for pid in hlist_for_each_entry(hlist, upid_type, 'pid_chain'):
        yield pid


def upids():
    for bucket in range(0, pidhash_size):
        for upid in upids_from_bucket(bucket):
            yield upid


def pids():