mirror of
https://github.com/torvalds/linux.git
synced 2024-12-21 02:21:36 +00:00
rbd: make snap_names_len a u64
The snap_names_len field of an rbd_image_header structure is defined with type size_t. That field is used as both the source and target of 64-bit byte-order swapping operations though, so it's best to define it with type u64 instead. Signed-off-by: Alex Elder <elder@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
This commit is contained in:
parent
3593815022
commit
0f1d3f9385
@ -81,7 +81,7 @@ struct rbd_image_header {
|
||||
__u8 crypt_type;
|
||||
__u8 comp_type;
|
||||
struct ceph_snap_context *snapc;
|
||||
size_t snap_names_len;
|
||||
u64 snap_names_len;
|
||||
u32 total_snaps;
|
||||
|
||||
char *snap_names;
|
||||
@ -510,6 +510,7 @@ static int rbd_header_from_disk(struct rbd_image_header *header,
|
||||
|
||||
if (snap_count) {
|
||||
header->snap_names_len = le64_to_cpu(ondisk->snap_names_len);
|
||||
BUG_ON(header->snap_names_len > (u64) SIZE_MAX);
|
||||
header->snap_names = kmalloc(header->snap_names_len,
|
||||
GFP_KERNEL);
|
||||
if (!header->snap_names)
|
||||
|
Loading…
Reference in New Issue
Block a user