diff --git a/0007-shm.c-Replace-stat64-fstat64-ftruncate64mmap64-with-.patch b/0007-shm.c-Replace-stat64-fstat64-ftruncate64mmap64-with-.patch new file mode 100644 index 0000000000000000000000000000000000000000..7961a73af757e409a0d08a9dfe528aca66d95c9a --- /dev/null +++ b/0007-shm.c-Replace-stat64-fstat64-ftruncate64mmap64-with-.patch @@ -0,0 +1,68 @@ +From 851bbd5b963a7a5d95b8fe3102cf05972dc72655 Mon Sep 17 00:00:00 2001 +From: Khem Raj +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. + +Signed-off-by: Khem Raj +Signed-off-by: buque +--- + 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 + #include + #include +-#include + #include ++#include + #include + #include + #include +@@ -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"); + } +-- +2.33.0 + diff --git a/numactl.spec b/numactl.spec index 7b8f6a4013d9487db987bd559c5fae06ec98a09d..3f476fc2f52c523b52ce40c8267d25226b9efda8 100644 --- a/numactl.spec +++ b/numactl.spec @@ -1,6 +1,6 @@ Name: numactl Version: 2.0.16 -Release: 5 +Release: 6 Summary: Library for tuning for Non Uniform Memory Access machines License: GPLv2 URL: https://github.com/numactl/numactl @@ -13,6 +13,7 @@ Patch0003: 0003-numactl-numactl-length-xxx-shm-xxx-px-doesn-t-work.patch Patch0004: 0004-fix-wrong-nodemask_sz-when-CONFIG_NODES_SHIFT-is-les.patch Patch0005: 0005-numactl.c-Remove-unused-variable.patch Patch0006: 0006-numactl.c-Fix-merging-of-neighboring-pages-policies-.patch +Patch0007: 0007-shm.c-Replace-stat64-fstat64-ftruncate64mmap64-with-.patch %description Simple NUMA policy support. It consists of a numactl program to run other @@ -81,6 +82,9 @@ LD_LIBRARY_PATH=$(pwd)/.libs make check %{_mandir}/man3/*.3* %changelog +* Tue Jun 20 2023 wuxu - 2.0.16-6 +- shm.c: Replace stat64/fstat64/ftruncate64mmap64 with normal functions + * Mon Jun 19 2023 wuxu - 2.0.16-5 - numactl.c: Fix merging of neighboring pages' policies in dump_shm and remove unused variable