| From 8a08d3583d77bebeb1763fb9b378899201ce5afa Mon Sep 17 00:00:00 2001 |
| From: Khem Raj <raj.khem@gmail.com> |
| Date: Thu, 15 Dec 2022 12:11:13 -0800 |
| Subject: [PATCH] shm.c: Replace stat64/fstat64/ftruncate64mmap64 with normal functions |
| |
| These functions were needed when _FILE_OFFSET_BITS was not 64, using |
| AC_SYS_LARGEFILE will detect it correctly and make the normal variants |
| of these functions behave same as their *64 counterparts. |
| |
| Upstream-Status: Backport [https://github.com/numactl/numactl/pull/159] |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| --- |
| shm.c | 10 +++++----- |
| 1 file changed, 5 insertions(+), 5 deletions(-) |
| |
| diff --git a/shm.c b/shm.c |
| index 20537d9..5d0d1ab 100644 |
| --- a/shm.c |
| +++ b/shm.c |
| @@ -24,8 +24,8 @@ |
| #include <sys/mman.h> |
| #include <sys/ipc.h> |
| #include <sys/shm.h> |
| -#include <sys/fcntl.h> |
| #include <sys/stat.h> |
| +#include <fcntl.h> |
| #include <stdarg.h> |
| #include <errno.h> |
| #include <unistd.h> |
| @@ -135,7 +135,7 @@ void attach_sysvshm(char *name, char *opt) |
| /* Attach a shared memory file. */ |
| void attach_shared(char *name, char *opt) |
| { |
| - struct stat64 st; |
| + struct stat st; |
| |
| shmfd = open(name, O_RDWR); |
| if (shmfd < 0) { |
| @@ -146,14 +146,14 @@ void attach_shared(char *name, char *opt) |
| if (shmfd < 0) |
| nerror("cannot create file %s", name); |
| } |
| - if (fstat64(shmfd, &st) < 0) |
| + if (fstat(shmfd, &st) < 0) |
| err("shm stat"); |
| /* the file size must be larger than mmap shmlen + shmoffset, otherwise SIGBUS |
| * will be caused when we access memory, because mmaped memory is no longer in |
| * the range of the file laster. |
| */ |
| if ((shmlen + shmoffset) > st.st_size) { |
| - if (ftruncate64(shmfd, shmlen + shmoffset) < 0) { |
| + if (ftruncate(shmfd, shmlen + shmoffset) < 0) { |
| /* XXX: we could do it by hand, but it would it |
| would be impossible to apply policy then. |
| need to fix that in the kernel. */ |
| @@ -168,7 +168,7 @@ void attach_shared(char *name, char *opt) |
| |
| /* RED-PEN For shmlen > address space may need to map in pieces. |
| Left for some poor 32bit soul. */ |
| - shmptr = mmap64(NULL, shmlen, PROT_READ | PROT_WRITE, MAP_SHARED, shmfd, shmoffset); |
| + shmptr = mmap(NULL, shmlen, PROT_READ | PROT_WRITE, MAP_SHARED, shmfd, shmoffset); |
| if (shmptr == (char*)-1) |
| err("shm mmap"); |
| } |