mem: fix potential underflow on mem size calculation
If total memory is already bigger than max memory, an underflow will occur on subtraction. Fix it by simply stopping whenever we already have amount of memory that is bigger than maximum. Fixes: 66cc45e293ed ("mem: replace memseg with memseg lists") Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
This commit is contained in:
parent
7785c5588d
commit
d2bd796d7b
@ -458,6 +458,9 @@ memseg_primary_init(void)
|
||||
break;
|
||||
#endif
|
||||
|
||||
if (total_mem >= max_mem)
|
||||
break;
|
||||
|
||||
max_type_mem = RTE_MIN(max_mem - total_mem,
|
||||
(uint64_t)RTE_MAX_MEM_MB_PER_TYPE << 20);
|
||||
max_segs = RTE_MAX_MEMSEG_PER_TYPE;
|
||||
|
Loading…
x
Reference in New Issue
Block a user