Ilya Dryomov <idryomov@xxxxxxxxx> writes: <snip> >> Looks like the memset in prepare_head_secure_small() is cleaning behind >> the base limits. Unfortunately, I didn't really had time to dig deeper >> into this. > > Ah, I disabled KASAN for some performance testing and didn't turn > it back on. This doesn't actually corrupt any memory because the > 96-byte object that gets allocated is big enough. In fact, the > relevant code used to request 96 bytes independent of the connection > mode until I changed it to follow the on-wire format more strictly. > > This frame is 68 bytes in plane mode and 96 bytes in secure mode > but we are requesting 68 bytes in both modes. The following should > fix it: Yep, it does fix it. Thanks for the quick reply. Cheers, -- Luis > > diff --git a/net/ceph/messenger_v2.c b/net/ceph/messenger_v2.c > index 5e38c847317b..11fd47b36fc8 100644 > --- a/net/ceph/messenger_v2.c > +++ b/net/ceph/messenger_v2.c > @@ -1333,7 +1333,8 @@ static int prepare_auth_signature(struct > ceph_connection *con) > void *buf; > int ret; > > - buf = alloc_conn_buf(con, head_onwire_len(SHA256_DIGEST_SIZE, false)); > + buf = alloc_conn_buf(con, head_onwire_len(SHA256_DIGEST_SIZE, > + con_secure(con))); > if (!buf) > return -ENOMEM; > > Thanks, > > Ilya