From: Dmitry Eremin Date: Fri, 8 Aug 2014 12:42:50 +0000 (+0400) Subject: LU-5417 lfs: fix comparison between signed and unsigned X-Git-Tag: 2.6.52~45 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;ds=sidebyside;h=refs%2Fchanges%2F76%2F11376%2F3;p=fs%2Flustre-release.git LU-5417 lfs: fix comparison between signed and unsigned Expression if (size != (ssize_t)size) is always false. Therefore no bounds check errors detected. Signed-off-by: Dmitry Eremin Change-Id: Ib8fc68b2ddbb50ad50d80aa391c9bed6308ea575 Reviewed-on: http://review.whamcloud.com/11376 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: John L. Hammond Reviewed-by: Fan Yong Reviewed-by: Oleg Drokin --- diff --git a/lustre/include/lustre/lustre_user.h b/lustre/include/lustre/lustre_user.h index 5754070..1b41dc3 100644 --- a/lustre/include/lustre/lustre_user.h +++ b/lustre/include/lustre/lustre_user.h @@ -1071,7 +1071,7 @@ static inline ssize_t hur_len(struct hsm_user_request *hur) (__u64)hur->hur_request.hr_itemcount * sizeof(hur->hur_user_item[0]) + hur->hur_request.hr_data_len; - if (size != (ssize_t)size) + if (size > ~((size_t)0)>>1) return -1; return size;