diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-29 12:56:15 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-29 12:56:15 -0500 |
| commit | 033dbbdec3ab178e5fe063a992b8c90ad08fd18c (patch) | |
| tree | b06fdacd98c8a0ff28992a2fa33f2182b8358c65 /drivers | |
| parent | dc418f6e6a8f5021ccf9e9c0957eefae3737168d (diff) | |
| parent | 127581b64b432804948535d49847b36366b9ff64 (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 updates from Martin Schwidefsky:
"One performance improvement and a few bug fixes. Two of the fixes
deal with the clock related problems we have seen on recent kernels"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
s390/mm: handle asce-type exceptions as normal page fault
s390,time: revert direct ktime path for s390 clockevent device
s390/time,vdso: convert to the new update_vsyscall interface
s390/uaccess: add missing page table walk range check
s390/mm: optimize copy_page
s390/dasd: validate request size before building CCW/TCW request
s390/signal: always restore saved runtime instrumentation psw bit
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/s390/block/dasd_eckd.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c index cee7e2708a1f..95e45782692f 100644 --- a/drivers/s390/block/dasd_eckd.c +++ b/drivers/s390/block/dasd_eckd.c | |||
| @@ -3224,6 +3224,8 @@ static struct dasd_ccw_req *dasd_eckd_build_cp(struct dasd_device *startdev, | |||
| 3224 | 3224 | ||
| 3225 | fcx_multitrack = private->features.feature[40] & 0x20; | 3225 | fcx_multitrack = private->features.feature[40] & 0x20; |
| 3226 | data_size = blk_rq_bytes(req); | 3226 | data_size = blk_rq_bytes(req); |
| 3227 | if (data_size % blksize) | ||
| 3228 | return ERR_PTR(-EINVAL); | ||
| 3227 | /* tpm write request add CBC data on each track boundary */ | 3229 | /* tpm write request add CBC data on each track boundary */ |
| 3228 | if (rq_data_dir(req) == WRITE) | 3230 | if (rq_data_dir(req) == WRITE) |
| 3229 | data_size += (last_trk - first_trk) * 4; | 3231 | data_size += (last_trk - first_trk) * 4; |
