mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/
synced 2026-04-23 08:55:56 -04:00
devcoredump: Add dev_coredump_put()
It is useful for modules that do not want to keep coredump available after its unload. Otherwise, the coredump would only be removed after DEVCD_TIMEOUT seconds. v2: - dev_coredump_put() documentation updated (Mukesh) Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Mukesh Ojha <quic_mojha@quicinc.com> Cc: Johannes Berg <johannes@sipsolutions.net> Cc: Jonathan Cavitt <jonathan.cavitt@intel.com> Reviewed-by: Johannes Berg <johannes@sipsolutions.net> Acked-by: Jonathan Cavitt <jonathan.cavitt@intel.com> Signed-off-by: José Roberto de Souza <jose.souza@intel.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://patchwork.freedesktop.org/patch/msgid/20240409200206.108452-1-jose.souza@intel.com Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
committed by
Rodrigo Vivi
parent
ac321eb46e
commit
a28380f119
@@ -304,6 +304,29 @@ static ssize_t devcd_read_from_sgtable(char *buffer, loff_t offset,
|
||||
offset);
|
||||
}
|
||||
|
||||
/**
|
||||
* dev_coredump_put - remove device coredump
|
||||
* @dev: the struct device for the crashed device
|
||||
*
|
||||
* dev_coredump_put() removes coredump, if exists, for a given device from
|
||||
* the file system and free its associated data otherwise, does nothing.
|
||||
*
|
||||
* It is useful for modules that do not want to keep coredump
|
||||
* available after its unload.
|
||||
*/
|
||||
void dev_coredump_put(struct device *dev)
|
||||
{
|
||||
struct device *existing;
|
||||
|
||||
existing = class_find_device(&devcd_class, NULL, dev,
|
||||
devcd_match_failing);
|
||||
if (existing) {
|
||||
devcd_free(existing, NULL);
|
||||
put_device(existing);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(dev_coredump_put);
|
||||
|
||||
/**
|
||||
* dev_coredumpm - create device coredump with read/free methods
|
||||
* @dev: the struct device for the crashed device
|
||||
|
||||
Reference in New Issue
Block a user