16 Apr, 2016

1 commit

  • Add scatterlist support (dev_coredumpsg) to allow drivers to avoid
    vmalloc() like dev_coredumpm(), while also avoiding the module
    reference that the latter function requires.

    This internally uses dev_coredumpm() with function inside the
    devcoredump module, requiring removing the const
    (which touches the driver using it.)

    Signed-off-by: Aviya Erenfeld
    Signed-off-by: Johannes Berg
    Signed-off-by: Greg Kroah-Hartman

    Aviya Erenfeld
     

24 Sep, 2014

1 commit

  • Many devices run firmware and/or complex hardware, and most of that
    can have bugs. When it misbehaves, however, it is often much harder
    to debug than software running on the host.

    Introduce a "device coredump" mechanism to allow dumping internal
    device/firmware state through a generalized mechanism. As devices
    are different and information needed can vary accordingly, this
    doesn't prescribe a file format - it just provides mechanism to
    get data to be able to capture it in a generalized way (e.g. in
    distributions.)

    The dumped data will be readable in sysfs in the virtual device's
    data file under /sys/class/devcoredump/devcd*/. Writing to it will
    free the data and remove the device, as does a 5-minute timeout.

    Note that generalized capturing of such data may result in privacy
    issues, so users generally need to be involved. In order to allow
    certain users/system integrators/... to disable the feature at all,
    introduce a Kconfig option to override the drivers that would like
    to have the feature.

    For now, this provides two ways of dumping data:
    1) with a vmalloc'ed area, that is then given to the subsystem
    and freed after retrieval or timeout
    2) with a generalized reader/free function method

    We could/should add more options, e.g. a list of pages, since the
    vmalloc area is very limited on some architectures.

    Signed-off-by: Johannes Berg
    Signed-off-by: Greg Kroah-Hartman

    Johannes Berg