title: can: mcp251x: fix resume from sleep before interface was brought up
description: In the Linux kernel, the following vulnerability has been resolved:
can: mcp251x: fix resume from sleep before interface was brought up
Since 8ce8c0abcba3 the driver queues work via priv->restart_work when
resuming after suspend, even when the interface was not previously
enabled. This causes a null dereference error as the workqueue is only
allocated and initialized in mcp251x_open().
To fix this we move the workqueue init to mcp251x_can_probe() as there
is no reason to do it later and repeat it whenever mcp251x_open() is
called.
[mkl: fix error handling in mcp251x_stop()]
affected:
{
product: Linux
vendor: Linux
defaultStatus: unaffected
repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
versions:
version: 8ce8c0abcba3, lessThan: eecb4df8ec9f, status: affected, versionType: git
version: 8ce8c0abcba3, lessThan: 6f8f1c27b577, status: affected, versionType: git
version: 8ce8c0abcba3, lessThan: e1e10a390fd9, status: affected, versionType: git
version: 8ce8c0abcba3, lessThan: 03c427147b2d, status: affected, versionType: git
}
{
product: Linux
vendor: Linux
defaultStatus: affected
repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
versions:
version: 5.5, status: affected
version: 0, lessThan: 5.5, status: unaffected, versionType: custom
version: 5.10.38, lessThanOrEqual: 5.10.*, status: unaffected, versionType: custom
version: 5.11.22, lessThanOrEqual: 5.11.*, status: unaffected, versionType: custom
version: 5.12.5, lessThanOrEqual: 5.12.*, status: unaffected, versionType: custom
version: 5.13, lessThanOrEqual: *, status: unaffected, versionType: original_commit_for_fix
}
