Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'ceph-for-5.3-rc7' of git://github.com/ceph/ceph-client

Pull two ceph fixes from Ilya Dryomov:
"A fix for a -rc1 regression in rbd and a trivial static checker fix"

* tag 'ceph-for-5.3-rc7' of git://github.com/ceph/ceph-client:
rbd: restore zeroing past the overlap when reading from parent
libceph: don't call crypto_free_sync_skcipher() on a NULL tfm

+15 -2
+11
drivers/block/rbd.c
··· 3038 3038 } 3039 3039 return true; 3040 3040 case RBD_OBJ_READ_PARENT: 3041 + /* 3042 + * The parent image is read only up to the overlap -- zero-fill 3043 + * from the overlap to the end of the request. 3044 + */ 3045 + if (!*result) { 3046 + u32 obj_overlap = rbd_obj_img_extents_bytes(obj_req); 3047 + 3048 + if (obj_overlap < obj_req->ex.oe_len) 3049 + rbd_obj_zero_range(obj_req, obj_overlap, 3050 + obj_req->ex.oe_len - obj_overlap); 3051 + } 3041 3052 return true; 3042 3053 default: 3043 3054 BUG();
+4 -2
net/ceph/crypto.c
··· 136 136 if (key) { 137 137 kfree(key->key); 138 138 key->key = NULL; 139 - crypto_free_sync_skcipher(key->tfm); 140 - key->tfm = NULL; 139 + if (key->tfm) { 140 + crypto_free_sync_skcipher(key->tfm); 141 + key->tfm = NULL; 142 + } 141 143 } 142 144 } 143 145