git: cab496e16cb3 - main - Make SHMMAXPGS an unsigned long
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 21 Mar 2022 10:33:46 UTC
The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=cab496e16cb384de03010d9dea7399cbbfb3c3f9 commit cab496e16cb384de03010d9dea7399cbbfb3c3f9 Author: Andrew Turner <andrew@FreeBSD.org> AuthorDate: 2022-03-15 17:42:30 +0000 Commit: Andrew Turner <andrew@FreeBSD.org> CommitDate: 2022-03-21 10:27:35 +0000 Make SHMMAXPGS an unsigned long This is used to calculate sizes that are then stored in unsigned long fields. Make this unsigned long so the calculations use this type and not an int that can lead to an integer overflow with a large PAGE_SIZE. This allows building this on arm64 with PAGE_SIZE of 16k. Further work will be needed if a 32-bit architecture tries to use a similar sized page. Sponsored by: The FreeBSD Foundation --- sys/kern/sysv_shm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/kern/sysv_shm.c b/sys/kern/sysv_shm.c index 7ba6c1187bc7..658b48e2e2e1 100644 --- a/sys/kern/sysv_shm.c +++ b/sys/kern/sysv_shm.c @@ -155,7 +155,7 @@ static void shm_prison_cleanup(struct prison *); * Tuneable values. */ #ifndef SHMMAXPGS -#define SHMMAXPGS 131072 /* Note: sysv shared memory is swap backed. */ +#define SHMMAXPGS 131072ul /* Note: sysv shared memory is swap backed. */ #endif #ifndef SHMMAX #define SHMMAX (SHMMAXPGS*PAGE_SIZE)