summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorRaphael Zimmer <raphael.zimmer@tu-ilmenau.de>2026-05-05 12:08:12 +0300
committerIlya Dryomov <idryomov@gmail.com>2026-05-11 21:53:53 +0300
commit35d0ed82d03e5ee77ea4f31f20e29562a7721649 (patch)
tree137e2c19df10d39eddc65a8e05b2612244f89153 /drivers
parent544576f0f05c4a759806acddfaaeb686f14fb4b0 (diff)
downloadlinux-35d0ed82d03e5ee77ea4f31f20e29562a7721649.tar.xz
libceph: Fix potential out-of-bounds access in osdmap_decode()
When decoding osd_state and osd_weight from an incoming osdmap in osdmap_decode(), both are decoded for each osd, i.e., map->max_osd times. The ceph_decode_need() check only accounts for sizeof(*map->osd_weight) once. This can potentially result in an out-of-bounds memory access if the incoming message is corrupted such that the max_osd value exceeds the actual content of the osdmap message. This patch fixes the issue by changing the corresponding part in the ceph_decode_need() check to account for map->max_osd*sizeof(*map->osd_weight). Cc: stable@vger.kernel.org Fixes: dcbc919a5dc8 ("libceph: switch osdmap decoding to use ceph_decode_entity_addr") Signed-off-by: Raphael Zimmer <raphael.zimmer@tu-ilmenau.de> Reviewed-by: Ilya Dryomov <idryomov@gmail.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'drivers')
0 files changed, 0 insertions, 0 deletions