On Sat, Jul 06, 2024 at 10:37:11AM +0000, Chaitanya Kulkarni wrote:
- return min(mask - offset, (unsigned long)lim->max_segment_size - 1) + 1;
+ return min_t(unsigned long, len,
+ min(lim->seg_boundary_mask - (lim->seg_boundary_mask & paddr),
+ (unsigned long)lim->max_segment_size - 1) + 1);
}
Looks good, is it possible to re-write last
return min_t(..., ..., min(..., ...)) statement something like totally
untested in [1] ?
paddr_seg_boundry =
lim->seg_boundary_mask - (lim->seg_boundary_mask & paddr);
/*
* Prevent an overflow if mask = ULONG_MAX and offset = 0 by
adding 1
* after having calculated the minimum.
*/
paddr_max_seg_allowed_len = min(paddr_seg_boundry,
(unsigned long)lim->max_segment_size -
1) + 1;
return min_t(unsigned long, paddr_len, paddr_max_seg_allowed_len);
}
What would be the point of that? It is way harder to read and longer.
But except for that we probably could.
---end quoted text---