We hard code cephx auth ticket buffer size to 256 bytes. This isn't enough for any moderate setups and, in case tickets themselves are not encrypted, leads to buffer overflows (ceph_x_decrypt() errors out, but ceph_decode_copy() doesn't - it's just a memcpy() wrapper). Since the buffer is allocated dynamically anyway, allocated it a bit later, at the point where we know how much is going to be needed. Fixes: http://tracker.ceph.com/issues/8979 Cc: stable@vger.kernel.org Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com> Reviewed-by: Sage Weil <sage@redhat.com> |
||
|---|---|---|
| .. | ||
| crush | ||
| armor.c | ||
| auth.c | ||
| auth_none.c | ||
| auth_none.h | ||
| auth_x.c | ||
| auth_x.h | ||
| auth_x_protocol.h | ||
| buffer.c | ||
| ceph_common.c | ||
| ceph_fs.c | ||
| ceph_hash.c | ||
| ceph_strings.c | ||
| crypto.c | ||
| crypto.h | ||
| debugfs.c | ||
| Kconfig | ||
| Makefile | ||
| messenger.c | ||
| mon_client.c | ||
| msgpool.c | ||
| osd_client.c | ||
| osdmap.c | ||
| pagelist.c | ||
| pagevec.c | ||
| snapshot.c | ||