Hi David, On Thu, Feb 05 2026, David Binderman wrote:
> Hello there, > > Source code analyser cppcheck says: > > linux-6.19-rc8/kernel/liveupdate/kexec_handover.c:1089:15: style: int result > is > assigned to long variable. If the variable is long to avoid loss of > information, > then you have loss of information. [truncLongCastAssignment] > > Source code is > > contig_pages = (1 << order); > > I admit the error message is hard to understand, but AFAIK > if local variable order remains under 30 or so, then there is no problem. > > However, if it goes above 32, then there will be loss of data. > Expression 1 << order is type int. > > Suggest add some code or comment to document the expected range > of local variable order. If it ever goes above 32, suggest new code > > contig_pages = 1UL << order; If order is 32, with 4k pages, that means 16 TiB. It is unlikely that we will see vmalloc area backed by pages this large any time soon. So I am not worried about any practical problems. But I think this is still a good idea to do for code hygiene. So a patch would be much appreciated. -- Regards, Pratyush Yadav
