mm: use get_oder() and check size is is_power_of_2
Using get_order() is more robust according to Baolin. It is also better
to filter illegal size such as 3KB, 16KB according to David.
Link: https://lkml.kernel.org/r/20240814224635.43272-1-21cnbao@gmail.com
Signed-off-by: Barry Song <v-songbaohua@oppo.com>
Suggested-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Suggested-by: David Hildenbrand <david@redhat.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Lance Yang <ioworker0@gmail.com>
Cc: Ryan Roberts <ryan.roberts@arm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>