# HG changeset patch # User Mychaela Falconia # Date 1532310449 0 # Node ID 82ae724ca0d749d16cee68819ccec094057ce297 # Parent 1155be085fc16c132143e228c59a4ab1da900ecc OSL reconstruction fixed to support memory supervision diff -r 1155be085fc1 -r 82ae724ca0d7 src/gpf/osl/os_mem_fl.c --- a/src/gpf/osl/os_mem_fl.c Sun Jul 22 20:44:47 2018 +0000 +++ b/src/gpf/osl/os_mem_fl.c Mon Jul 23 01:47:29 2018 +0000 @@ -361,8 +361,9 @@ bzero(&npool->pcb, sizeof(NU_PARTITION_POOL)); #endif if (NU_Create_Partition_Pool(&npool->pcb, PoolName, npool->pool_mem, - POOL_SIZE(Num, Size), Size + 4, NU_FIFO) - != NU_SUCCESS) + POOL_SIZE(Num, Size), + Size + PT_CHKOVERHEAD + PPM_OVERHEAD, + NU_FIFO) != NU_SUCCESS) goto release_sem_return_err; if (!part_group_head) PartGrpTable[part_group].grp_head = npool; diff -r 1155be085fc1 -r 82ae724ca0d7 src/gpf/osl/os_mem_ir.c --- a/src/gpf/osl/os_mem_ir.c Sun Jul 22 20:44:47 2018 +0000 +++ b/src/gpf/osl/os_mem_ir.c Mon Jul 23 01:47:29 2018 +0000 @@ -39,11 +39,12 @@ PM_HEADER *phdr; PM_PCB *pool; - phdr = (PM_HEADER *)(ptr - 2); + phdr = (PM_HEADER *)(ptr - PPM_OFFSET - 2); if (phdr->pm_next_available) return(OS_PARTITION_FREE); pool = phdr->pm_partition_pool; - if (ptr[(pool->pm_partition_size - 4) >> 2] == GUARD_PATTERN) + if (ptr[((pool->pm_partition_size - 4) >> 2) - PPM_OFFSET] == + GUARD_PATTERN) return(OS_OK); else return(OS_PARTITION_GUARD_PATTERN_DESTROYED);