On Wed, Jun 18, 2014 at 03:20:30PM +0900, Satoru Takeuchi wrote: > Hi Adam, > > (2014/06/14 6:18), Adam Buchbinder wrote: > > When running with UndefinedBehaviorSanitizer, the tests produce the following > > error: > > > > radix-tree.c:836:30: runtime error: shift exponent 18446744073709551613 > > is too large for 64-bit type 'unsigned long' > > > > (That's a negative shift exponent represented as an unsigned long.) > > > > Even though the value is discarded in those cases, it's still undefined > > behavior; see the C99 standard, section 6.5.7, paragraph three: "If the > > value of the right operand is negative [...] the behavior is undefined." > > > > Signed-off-by: Adam Buchbinder <abuchbinder@xxxxxxxxxx> > > It looks good to me. > > Reviewed-by: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx> Thank you both. The file is taken from kernel/lib/radix-tree.c and has diverged a bit so it could be missing more bugfixes. -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
