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."