On Mon, 5 Nov 2018, Milan Broz wrote: > On 05/11/2018 19:35, Mikulas Patocka wrote: > > But the condition "sizeof(cc->start) < sizeof(tmpll)" could be dropped, > > the compiler will optimize out "cc->start != tmpll" if the types have the > > same width. > > Yes, the intention here is that in 64bit env. the whole if condition > is not compiled in. If it happens without "sizeof(cc->start) < sizeof(tmpll)", > then we can drop it. > > So, does it make sense to add this to all dm targets? Or any better idea? > > Milan In the targets that I have written, I tried to protect against this: if (sscanf(argv[1], "%llu%c", &start, &dummy) != 1 || start != (sector_t)start) ic->provided_data_sectors = le64_to_cpu(ic->sb->provided_data_sectors) if (ic->provided_data_sectors != le64_to_cpu(ic->sb->provided_data_sectors)) { wc->start_sector = start_sector; if (wc->start_sector != start_sector If you find some more unprotected cases, it's OK to convert them. Mikulas -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel