Switch maximum of GUC huge_page_size to MAX_KILOBYTES

As documented in guc.h, MAX_KILOBYTES is used to cap GUC parameters that
are measured in kilobytes of memory.  This way, size_t values can fit in
builds where sizeof(size_t) is 4 bytes.

Unfortunately, huge_page_size has missed this aspect, causing
calculation failures when setting this GUC to a value higher than
MAX_KILOBYTES, up to INT_MAX.

Oversight in d2bddc2500.  No backpatch is done, based on the lack of
complaints.

Reported-by: Daria Shanina <vilensipkdm@gmail.com>
Reviewed-by: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Discussion: https://postgr.es/m/20260626.132415.904994526137946499.horikyota.ntt@gmail.com
This commit is contained in:
Michael Paquier 2026-06-27 11:45:56 +09:00
parent 4df5fe3833
commit dbaa4dc3c8

View file

@ -1252,7 +1252,7 @@
variable => 'huge_page_size',
boot_val => '0',
min => '0',
max => 'INT_MAX',
max => 'MAX_KILOBYTES',
check_hook => 'check_huge_page_size',
},