On Sep 30 2018, Michael Schmitz <schmitzmic@xxxxxxxxx> wrote:
@@ -100,17 +101,17 @@ int amiga_partition(struct parsed_partitions *state) /* Tell Kernel about it */ - nr_sects = (be32_to_cpu(pb->pb_Environment[10]) + 1 - - be32_to_cpu(pb->pb_Environment[9])) * + nr_sects = (sector_t) ((be32_to_cpu(pb->pb_Environment[10]) + + 1 - be32_to_cpu(pb->pb_Environment[9])) * be32_to_cpu(pb->pb_Environment[3]) * be32_to_cpu(pb->pb_Environment[5]) * - blksize; + blksize);
That doesn't fix any signed int overflow. If you want to do calculation in sector_t you need to cast at least one operand to sector_t. In this form the cast is useless. Andreas. -- Andreas Schwab, schwab@xxxxxxxxxxxxxx GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."