linux/net/ceph
Ilya Dryomov cdbc9836c7 libceph: fix invalid accesses to ceph_connection_v1_info
There is a place where generic code in messenger.c is reading and
another place where it is writing to con->v1 union member without
checking that the union member is active (i.e. msgr1 is in use).

On 64-bit systems, con->v1.auth_retry overlaps with con->v2.out_iter,
so such a read is almost guaranteed to return a bogus value instead of
0 when msgr2 is in use.  This ends up being fairly benign because the
side effect is just the invalidation of the authorizer and successive
fetching of new tickets.

con->v1.connect_seq overlaps with con->v2.conn_bufs and the fact that
it's being written to can cause more serious consequences, but luckily
it's not something that happens often.

Cc: stable@vger.kernel.org
Fixes: cd1a677cad ("libceph, ceph: implement msgr2.1 protocol (crc and secure modes)")
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Viacheslav Dubeyko <Slava.Dubeyko@ibm.com>
2025-09-10 21:22:56 +02:00
..
crush
Kconfig lib/crc: remove CONFIG_LIBCRC32C 2025-04-04 11:31:42 -07:00
Makefile
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_hash.c
ceph_strings.c
cls_lock_client.c
crypto.c libceph: Remove unused ceph_crypto_key_encode 2024-11-18 17:34:35 +01:00
crypto.h libceph: Remove unused ceph_crypto_key_encode 2024-11-18 17:34:35 +01:00
debugfs.c
decode.c
messenger.c libceph: fix invalid accesses to ceph_connection_v1_info 2025-09-10 21:22:56 +02:00
messenger_v1.c
messenger_v2.c libceph: Rename hmac_sha256() to ceph_hmac_sha256() 2025-07-04 10:18:52 -07:00
mon_client.c
msgpool.c
osd_client.c ceph: Remove osd_client deadcode 2025-04-03 21:35:32 +02:00
osdmap.c
pagelist.c
pagevec.c
snapshot.c
string_table.c
striper.c