mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-15 08:44:14 +08:00
s390/dasd: validate request size before building CCW/TCW request
An I/O request that does not read or write full blocks cannot be translated into a correct CCW or TCW program and should be rejected right away. In particular the code that creates TCW requests will not notice this problem and create broken TCWs that will be rejected by the hardware. Signed-off-by: Stefan Weinhuber <wein@de.ibm.com> Reference-ID: RQM1956
This commit is contained in:
parent
aa7e04b380
commit
26a35f373f
@ -3224,6 +3224,8 @@ static struct dasd_ccw_req *dasd_eckd_build_cp(struct dasd_device *startdev,
|
||||
|
||||
fcx_multitrack = private->features.feature[40] & 0x20;
|
||||
data_size = blk_rq_bytes(req);
|
||||
if (data_size % blksize)
|
||||
return ERR_PTR(-EINVAL);
|
||||
/* tpm write request add CBC data on each track boundary */
|
||||
if (rq_data_dir(req) == WRITE)
|
||||
data_size += (last_trk - first_trk) * 4;
|
||||
|
Loading…
Reference in New Issue
Block a user