> My worry here is that if several drivers would do > > .max_blk_count = UINT_MAX / DRIVER_SPECIFIC_MAX_BLK_SIZE, > > Those drivers can safely calculate "max_blk_size * max_blk_count". > People may start assuming this is always safe. while the core cannot do > "GLOBAL_MAX_BLK_SIZE * max_blk_count" using 32-bit arithmetic, as the > latter may still overflow, depending on the driver. The core will not do this calculation. This is why the variable max_req_size exists. It will just use this variable which shall be setup by the driver which may impose other restrictions, too (And there can't be a GLOBAL_MAX_BLK_SIZE anyhow) So, when calculating max_req_size, it is the duty of the driver not to overflow. Or?