vlib: clib_panic if sysconf() can't determine page size on startup
Account for the potential of sysconf() returning -1 if it can not get the page size and make it a fatal error. Coverity: 277313 Type: fix Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Change-Id: I8cae6a35ec2f745c37f1fe6557e5fa66720b4628
This commit is contained in:

committed by
Damjan Marion

parent
5163d59810
commit
ea0b890cbf
@@ -103,6 +103,7 @@ void
|
|||||||
clib_mem_main_init ()
|
clib_mem_main_init ()
|
||||||
{
|
{
|
||||||
clib_mem_main_t *mm = &clib_mem_main;
|
clib_mem_main_t *mm = &clib_mem_main;
|
||||||
|
long sysconf_page_size;
|
||||||
uword page_size;
|
uword page_size;
|
||||||
void *va;
|
void *va;
|
||||||
int fd;
|
int fd;
|
||||||
@@ -111,7 +112,12 @@ clib_mem_main_init ()
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
/* system page size */
|
/* system page size */
|
||||||
page_size = sysconf (_SC_PAGESIZE);
|
sysconf_page_size = sysconf (_SC_PAGESIZE);
|
||||||
|
if (sysconf_page_size < 0)
|
||||||
|
{
|
||||||
|
clib_panic ("Could not determine the page size");
|
||||||
|
}
|
||||||
|
page_size = sysconf_page_size;
|
||||||
mm->log2_page_sz = min_log2 (page_size);
|
mm->log2_page_sz = min_log2 (page_size);
|
||||||
|
|
||||||
/* default system hugeppage size */
|
/* default system hugeppage size */
|
||||||
|
Reference in New Issue
Block a user