mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 05:55:44 +02:00
mei: bus: check if the device is enabled before data transfer
commit 15c13dfcad upstream.
The bus data transfer interface was missing the check if the device is
in enabled state, this may lead to stack corruption during link reset.
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
499f9ff872
commit
fa0ae4f223
|
|
@ -53,6 +53,11 @@ ssize_t __mei_cl_send(struct mei_cl *cl, u8 *buf, size_t length,
|
|||
bus = cl->dev;
|
||||
|
||||
mutex_lock(&bus->device_lock);
|
||||
if (bus->dev_state != MEI_DEV_ENABLED) {
|
||||
rets = -ENODEV;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!mei_cl_is_connected(cl)) {
|
||||
rets = -ENODEV;
|
||||
goto out;
|
||||
|
|
@ -109,6 +114,10 @@ ssize_t __mei_cl_recv(struct mei_cl *cl, u8 *buf, size_t length)
|
|||
bus = cl->dev;
|
||||
|
||||
mutex_lock(&bus->device_lock);
|
||||
if (bus->dev_state != MEI_DEV_ENABLED) {
|
||||
rets = -ENODEV;
|
||||
goto out;
|
||||
}
|
||||
|
||||
cb = mei_cl_read_cb(cl, NULL);
|
||||
if (cb)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user