summaryrefslogtreecommitdiffstats
path: root/drivers/base/Kconfig
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2014-09-12 03:01:56 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-09-24 01:53:15 -0400
commit833c95456a70826d1384883b73fd23aff24d366f (patch)
treebe9235e0df06fdc85deb13d1193b6120ed7196bd /drivers/base/Kconfig
parent00e262fd8744678262a0f662f1b5d45fc1f52e10 (diff)
device coredump: add new device coredump class
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 <johannes.berg@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/base/Kconfig')
-rw-r--r--drivers/base/Kconfig21
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig
index 4e7f0ff83ae7..134f763d90fd 100644
--- a/drivers/base/Kconfig
+++ b/drivers/base/Kconfig
@@ -165,6 +165,27 @@ config FW_LOADER_USER_HELPER_FALLBACK
165 165
166 If you are unsure about this, say N here. 166 If you are unsure about this, say N here.
167 167
168config WANT_DEV_COREDUMP
169 bool
170 help
171 Drivers should "select" this option if they desire to use the
172 device coredump mechanism.
173
174config DISABLE_DEV_COREDUMP
175 bool "Disable device coredump" if EXPERT
176 help
177 Disable the device coredump mechanism despite drivers wanting to
178 use it; this allows for more sensitive systems or systems that
179 don't want to ever access the information to not have the code,
180 nor keep any data.
181
182 If unsure, say N.
183
184config DEV_COREDUMP
185 bool
186 default y if WANT_DEV_COREDUMP
187 depends on !DISABLE_DEV_COREDUMP
188
168config DEBUG_DRIVER 189config DEBUG_DRIVER
169 bool "Driver Core verbose debug messages" 190 bool "Driver Core verbose debug messages"
170 depends on DEBUG_KERNEL 191 depends on DEBUG_KERNEL