From abbc31095c8c0c5af6929d929a2bf9f3277c128d Mon Sep 17 00:00:00 2001 From: Alex Elder Date: Sat, 30 Mar 2013 23:46:55 -0500 Subject: [PATCH] --- yaml --- r: 373391 b: refs/heads/master c: 56fc5659162965ce3018a34c6bb8a022f3a3b33c h: refs/heads/master i: 373389: aeb51d2330da74b70da2aae9e991ef421194bf91 373387: 977797530d1a48e3ad2ca02c64da99bfe85f7d4b 373383: 7a05ba97a9dbd9d94676101752625d89e0c206f5 373375: 02dbabed499172240cd0769340f7158f3ea51e98 v: v3 --- [refs] | 2 +- trunk/net/ceph/messenger.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index c46a069817d9..a3936ffcade2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5df521b1eecf276c4bae8ffb7945acef45530449 +refs/heads/master: 56fc5659162965ce3018a34c6bb8a022f3a3b33c diff --git a/trunk/net/ceph/messenger.c b/trunk/net/ceph/messenger.c index 198b9026288e..ee160864e8ea 100644 --- a/trunk/net/ceph/messenger.c +++ b/trunk/net/ceph/messenger.c @@ -839,9 +839,10 @@ static void ceph_msg_data_pages_cursor_init(struct ceph_msg_data *data, page_count = calc_pages_for(data->alignment, (u64)data->length); cursor->page_offset = data->alignment & ~PAGE_MASK; cursor->page_index = 0; - BUG_ON(page_count > (int) USHRT_MAX); - cursor->page_count = (unsigned short) page_count; - cursor->last_piece = length <= PAGE_SIZE; + BUG_ON(page_count > (int)USHRT_MAX); + cursor->page_count = (unsigned short)page_count; + BUG_ON(length > SIZE_MAX - cursor->page_offset); + cursor->last_piece = (size_t)cursor->page_offset + length <= PAGE_SIZE; } static struct page *ceph_msg_data_pages_next(struct ceph_msg_data *data,