On Fri, Jun 21, 2024 at 10:11 AM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > > On Fri, 21 Jun 2024 16:42:38 +0200 Jan Kara <jack@xxxxxxx> wrote: > > > The dirty throttling logic is interspersed with assumptions that dirty > > limits in PAGE_SIZE units fit into 32-bit (so that various > > multiplications fit into 64-bits). If limits end up being larger, we > > will hit overflows, possible divisions by 0 etc. Fix these problems by > > never allowing so large dirty limits as they have dubious practical > > value anyway. For dirty_bytes / dirty_background_bytes interfaces we can > > just refuse to set so large limits. For dirty_ratio / > > dirty_background_ratio it isn't so simple as the dirty limit is computed > > from the amount of available memory which can change due to memory > > hotplug etc. So when converting dirty limits from ratios to numbers of > > pages, we just don't allow the result to exceed UINT_MAX. > > > > Shouldn't this also be cc:stable? +1 for stable, following previous attempts to address this. Either way, it seems this closes the door on the particular overflow issue encountered previously. Thanks for the proper fix. Reviewed-By: Zach O'Keefe <zokeefe@xxxxxxxxxx>