Il 19/08/2012 04:17, Fengguang Wu ha scritto:
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


We are sure u64 is 8byte long, but unsigned long is 4byte long on 32-bit machine, so if bdi_dirty can assume values bigger than 2^32 there is an implicit truncate of its value, isn't it?

Marco
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to