diff options
| author | Jan Kara <jack@suse.cz> | 2019-06-19 09:05:41 +0200 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-07-10 09:56:31 +0200 |
| commit | 93709767272bf10f0244e2ca4d174c20668f5a54 (patch) | |
| tree | 97cca2a8f40b84eac1a70eb61148cce586e65c34 /kernel/trace/trace.c | |
| parent | bd6042e9c3733f6fffc98ee88e239844d6f53a5d (diff) | |
scsi: vmw_pscsi: Fix use-after-free in pvscsi_queue_lck()
commit 240b4cc8fd5db138b675297d4226ec46594d9b3b upstream.
Once we unlock adapter->hw_lock in pvscsi_queue_lck() nothing prevents just
queued scsi_cmnd from completing and freeing the request. Thus cmd->cmnd[0]
dereference can dereference already freed request leading to kernel crashes
or other issues (which one of our customers observed). Store cmd->cmnd[0]
in a local variable before unlocking adapter->hw_lock to fix the issue.
CC: <stable@vger.kernel.org>
Signed-off-by: Jan Kara <jack@suse.cz>
Reviewed-by: Ewan D. Milne <emilne@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'kernel/trace/trace.c')
0 files changed, 0 insertions, 0 deletions
