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.
This commit is contained in:
parent
229e261e91
commit
202ca9f2cc
@ -0,0 +1,68 @@
|
|||||||
|
From 851bbd5b963a7a5d95b8fe3102cf05972dc72655 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.
|
||||||
|
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
Signed-off-by: buque <wuxu.wu@huawei.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");
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Name: numactl
|
Name: numactl
|
||||||
Version: 2.0.16
|
Version: 2.0.16
|
||||||
Release: 5
|
Release: 6
|
||||||
Summary: Library for tuning for Non Uniform Memory Access machines
|
Summary: Library for tuning for Non Uniform Memory Access machines
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
URL: https://github.com/numactl/numactl
|
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
|
Patch0004: 0004-fix-wrong-nodemask_sz-when-CONFIG_NODES_SHIFT-is-les.patch
|
||||||
Patch0005: 0005-numactl.c-Remove-unused-variable.patch
|
Patch0005: 0005-numactl.c-Remove-unused-variable.patch
|
||||||
Patch0006: 0006-numactl.c-Fix-merging-of-neighboring-pages-policies-.patch
|
Patch0006: 0006-numactl.c-Fix-merging-of-neighboring-pages-policies-.patch
|
||||||
|
Patch0007: 0007-shm.c-Replace-stat64-fstat64-ftruncate64mmap64-with-.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Simple NUMA policy support. It consists of a numactl program to run other
|
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*
|
%{_mandir}/man3/*.3*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jun 20 2023 wuxu <wuxu.wu@huawei.com> - 2.0.16-6
|
||||||
|
- shm.c: Replace stat64/fstat64/ftruncate64mmap64 with normal functions
|
||||||
|
|
||||||
* Mon Jun 19 2023 wuxu <wuxu.wu@huawei.com> - 2.0.16-5
|
* Mon Jun 19 2023 wuxu <wuxu.wu@huawei.com> - 2.0.16-5
|
||||||
- numactl.c: Fix merging of neighboring pages' policies in dump_shm and remove unused variable
|
- numactl.c: Fix merging of neighboring pages' policies in dump_shm and remove unused variable
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user