On Sat, Aug 18, 2012 at 05:49:21AM -0400, Namjae Jeon wrote: > unsigned long bdi_dirty_limit(struct backing_dev_info *bdi, unsigned long dirty) > > Above function return type is unsigned long, but return value is > kept in "u64 bdi_dirty". > It can return incorrect value by type casting. I don't see how the cast can return wrong value. The u64 is necessary for the intermediate calculations. Thanks, Fengguang > Signed-off-by: Namjae Jeon <linkinjeon@xxxxxxxxx> > --- > mm/page-writeback.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/page-writeback.c b/mm/page-writeback.c > index 49133b6..73a7a06 100644 > --- a/mm/page-writeback.c > +++ b/mm/page-writeback.c > @@ -546,7 +546,7 @@ static unsigned long hard_dirty_limit(unsigned long thresh) > */ > unsigned long bdi_dirty_limit(struct backing_dev_info *bdi, unsigned long dirty) > { > - u64 bdi_dirty; > + unsigned long bdi_dirty; > long numerator, denominator; > > /* > -- > 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html