Message ID | 57D261E0.7080005@huawei.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Fri, Sep 09, 2016 at 03:16:48PM +0800, Xie XiuQi wrote: > On 2016/9/9 14:42, Joe Perches wrote: > > On Fri, 2016-09-09 at 14:38 +0800, Xie XiuQi wrote: > >> Use 1U for unsigned long, or we'll meet a overflow issue with UBSAN. > > > > trivia: misleading commit message > > > > 1U is for unsigned int not unsigned long int > > > > Sorry, my fault. Thank you for your comments. > > From 9cb8e36406a54ce0eaade31dd28f6068f03de1d2 Mon Sep 17 00:00:00 2001 > From: Xie XiuQi <xiexiuqi@huawei.com> > Date: Tue, 6 Sep 2016 11:15:34 +0800 > Subject: [PATCH v2] xfs: fix signed integer overflow .... > --- > fs/xfs/xfs_buf_item.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/fs/xfs/xfs_buf_item.c b/fs/xfs/xfs_buf_item.c > index e455f90..3a27997 100644 > --- a/fs/xfs/xfs_buf_item.c > +++ b/fs/xfs/xfs_buf_item.c > @@ -865,7 +865,7 @@ xfs_buf_item_log_segment( > */ > if (bit) { > end_bit = MIN(bit + bits_to_set, (uint)NBWORD); > - mask = ((1 << (end_bit - bit)) - 1) << bit; > + mask = ((1U << (end_bit - bit)) - 1) << bit; > *wordp |= mask; > wordp++; > bits_set = end_bit - bit; This patch is whitespace damaged and fails to apply. I've fixed it up as this is a trivial change. However, please fix the problem before you submit more patches. Cheers, Dave.
On 2016/9/13 14:57, Dave Chinner wrote: > On Fri, Sep 09, 2016 at 03:16:48PM +0800, Xie XiuQi wrote: >> On 2016/9/9 14:42, Joe Perches wrote: >>> On Fri, 2016-09-09 at 14:38 +0800, Xie XiuQi wrote: >>>> Use 1U for unsigned long, or we'll meet a overflow issue with UBSAN. >>> trivia: misleading commit message >>> >>> 1U is for unsigned int not unsigned long int >>> >> Sorry, my fault. Thank you for your comments. >> >> From 9cb8e36406a54ce0eaade31dd28f6068f03de1d2 Mon Sep 17 00:00:00 2001 >> From: Xie XiuQi <xiexiuqi@huawei.com> >> Date: Tue, 6 Sep 2016 11:15:34 +0800 >> Subject: [PATCH v2] xfs: fix signed integer overflow > .... >> --- >> fs/xfs/xfs_buf_item.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/fs/xfs/xfs_buf_item.c b/fs/xfs/xfs_buf_item.c >> index e455f90..3a27997 100644 >> --- a/fs/xfs/xfs_buf_item.c >> +++ b/fs/xfs/xfs_buf_item.c >> @@ -865,7 +865,7 @@ xfs_buf_item_log_segment( >> */ >> if (bit) { >> end_bit = MIN(bit + bits_to_set, (uint)NBWORD); >> - mask = ((1 << (end_bit - bit)) - 1) << bit; >> + mask = ((1U << (end_bit - bit)) - 1) << bit; >> *wordp |= mask; >> wordp++; >> bits_set = end_bit - bit; > This patch is whitespace damaged and fails to apply. I've fixed it > up as this is a trivial change. However, please fix the problem > before you submit more patches. I will, thank you very mush. > > Cheers, > > Dave.
diff --git a/fs/xfs/xfs_buf_item.c b/fs/xfs/xfs_buf_item.c index e455f90..3a27997 100644 --- a/fs/xfs/xfs_buf_item.c +++ b/fs/xfs/xfs_buf_item.c @@ -865,7 +865,7 @@ xfs_buf_item_log_segment( */ if (bit) { end_bit = MIN(bit + bits_to_set, (uint)NBWORD); - mask = ((1 << (end_bit - bit)) - 1) << bit; + mask = ((1U << (end_bit - bit)) - 1) << bit; *wordp |= mask; wordp++; bits_set = end_bit - bit; @@ -888,7 +888,7 @@ xfs_buf_item_log_segment( */ end_bit = bits_to_set - bits_set; if (end_bit) { - mask = (1 << end_bit) - 1; + mask = (1U << end_bit) - 1; *wordp |= mask; } }