svn commit: r364555 - stable/12/sys/compat/linux
Edward Tomasz Napierala
trasz at FreeBSD.org
Sun Aug 23 21:46:49 UTC 2020
Author: trasz
Date: Sun Aug 23 21:46:48 2020
New Revision: 364555
URL: https://svnweb.freebsd.org/changeset/base/364555
Log:
MFC r353724 by yuripv:
linux: provide just one instance of futex_list
Move futex_list definition to linux.c which is included once
in linux.ko (i386) and in linux_common.ko (amd64 and aarch64)
allowing 32/64 bit linux programs to access the same futexes
in the latter case.
PR: 240989
Modified:
stable/12/sys/compat/linux/linux.c
stable/12/sys/compat/linux/linux.h
stable/12/sys/compat/linux/linux_futex.c
stable/12/sys/compat/linux/linux_futex.h
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/sys/compat/linux/linux.c
==============================================================================
--- stable/12/sys/compat/linux/linux.c Sun Aug 23 21:44:05 2020 (r364554)
+++ stable/12/sys/compat/linux/linux.c Sun Aug 23 21:46:48 2020 (r364555)
@@ -43,6 +43,8 @@ __FBSDID("$FreeBSD$");
#include <compat/linux/linux.h>
#include <compat/linux/linux_common.h>
+struct futex_list futex_list;
+
CTASSERT(LINUX_IFNAMSIZ == IFNAMSIZ);
static int bsd_to_linux_sigtbl[LINUX_SIGTBLSZ] = {
Modified: stable/12/sys/compat/linux/linux.h
==============================================================================
--- stable/12/sys/compat/linux/linux.h Sun Aug 23 21:44:05 2020 (r364554)
+++ stable/12/sys/compat/linux/linux.h Sun Aug 23 21:46:48 2020 (r364555)
@@ -129,4 +129,6 @@ void bsd_to_linux_sigset(sigset_t *, l_sigset_t *);
int linux_to_bsd_signal(int sig);
int bsd_to_linux_signal(int sig);
+extern LIST_HEAD(futex_list, futex) futex_list;
+
#endif /* _LINUX_MI_H_ */
Modified: stable/12/sys/compat/linux/linux_futex.c
==============================================================================
--- stable/12/sys/compat/linux/linux_futex.c Sun Aug 23 21:44:05 2020 (r364554)
+++ stable/12/sys/compat/linux/linux_futex.c Sun Aug 23 21:46:48 2020 (r364555)
@@ -207,8 +207,6 @@ struct futex {
TAILQ_HEAD(lf_waiting_proc, waiting_proc) f_waiting_proc;
};
-struct futex_list futex_list;
-
#define FUTEX_LOCK(f) mtx_lock(&(f)->f_lck)
#define FUTEX_LOCKED(f) mtx_owned(&(f)->f_lck)
#define FUTEX_UNLOCK(f) mtx_unlock(&(f)->f_lck)
Modified: stable/12/sys/compat/linux/linux_futex.h
==============================================================================
--- stable/12/sys/compat/linux/linux_futex.h Sun Aug 23 21:44:05 2020 (r364554)
+++ stable/12/sys/compat/linux/linux_futex.h Sun Aug 23 21:46:48 2020 (r364555)
@@ -38,7 +38,6 @@
#ifndef _LINUX_FUTEX_H
#define _LINUX_FUTEX_H
-extern LIST_HEAD(futex_list, futex) futex_list;
extern struct mtx futex_mtx;
#define LINUX_FUTEX_WAIT 0
More information about the svn-src-all
mailing list