mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-17 18:36:00 +00:00
s390/3270: Fix buffer assignment
Since commit 1b2ac5a6d61f ("s390/3270: use new address translation helpers") rq->buffer is passed unconditionally to virt_to_dma32(). The 3270 driver allocates requests without buffer, so the value passed to virt_to_dma32 might be NULL. Check for NULL before assigning. Fixes: 1b2ac5a6d61f ("s390/3270: use new address translation helpers") Reviewed-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Sven Schnelle <svens@linux.ibm.com> Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
This commit is contained in:
parent
412050af2e
commit
5e1a99cf22
@ -162,7 +162,8 @@ struct raw3270_request *raw3270_request_alloc(size_t size)
|
|||||||
/*
|
/*
|
||||||
* Setup ccw.
|
* Setup ccw.
|
||||||
*/
|
*/
|
||||||
rq->ccw.cda = virt_to_dma32(rq->buffer);
|
if (rq->buffer)
|
||||||
|
rq->ccw.cda = virt_to_dma32(rq->buffer);
|
||||||
rq->ccw.flags = CCW_FLAG_SLI;
|
rq->ccw.flags = CCW_FLAG_SLI;
|
||||||
|
|
||||||
return rq;
|
return rq;
|
||||||
@ -188,7 +189,8 @@ int raw3270_request_reset(struct raw3270_request *rq)
|
|||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
rq->ccw.cmd_code = 0;
|
rq->ccw.cmd_code = 0;
|
||||||
rq->ccw.count = 0;
|
rq->ccw.count = 0;
|
||||||
rq->ccw.cda = virt_to_dma32(rq->buffer);
|
if (rq->buffer)
|
||||||
|
rq->ccw.cda = virt_to_dma32(rq->buffer);
|
||||||
rq->ccw.flags = CCW_FLAG_SLI;
|
rq->ccw.flags = CCW_FLAG_SLI;
|
||||||
rq->rescnt = 0;
|
rq->rescnt = 0;
|
||||||
rq->rc = 0;
|
rq->rc = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user