diff options
| author | наб <nabijaczleweli@nabijaczleweli.xyz> | 2022-01-10 19:53:42 +0100 |
|---|---|---|
| committer | Alejandro Colomar <alx.manpages@gmail.com> | 2022-01-11 19:27:38 +0100 |
| commit | ad6913ad3a1e98864c5cb1342b29f46636935450 (patch) | |
| tree | 8e00260b19cd6847f018e9f49cbcf6df01a36ee3 /man7/attributes.7 | |
| parent | f091d3e26e4cdef9ecc632d6f4bd94dc16fce43e (diff) | |
| download | man-pages-ad6913ad3a1e98864c5cb1342b29f46636935450.tar.gz | |
personality.2: WHOLE_SECONDS never did anything
git log -SWHOLE_SECONDS on a unified pre-2.6 linux repository
reveals the following three releases:
Author: Andrew Morton <akpm@osdl.org>
Date: Sun Aug 31 04:30:04 2003 -0700
[PATCH] abi doc update
From: <ffrederick@prov-liege.be>
Update the abi sysctl documentation.
Author: Linus Torvalds <torvalds@athlon.transmeta.com>
Date: Mon Feb 4 20:17:27 2002 -0800
v2.4.9.7 -> v2.4.9.8
- Christoph Hellwig: clean up personality handling a bit
- Robert Love: update sysctl/vm documentation
- make the three-argument (that everybody hates) "min()" be "min_t()",
and introduce a type-anal "min()" that complains about arguments of
different types.
Author: Linus Torvalds <torvalds@linuxfoundation.org>
Date: Fri Nov 23 15:09:30 2007 -0500
Import 1.1.14
1.1.14 adds personality.h:
diff --git a/include/linux/personality.h b/include/linux/personality.h
new file mode 100644
index 0000000000..714a5a66b5
--- /dev/null
+++ b/include/linux/personality.h
@@ -0,0 +1,12 @@
+/* Flags for bug emulation. These occupy the top three bytes. */
+#define STICKY_TIMEOUTS 0x8000000
+#define WHOLE_SECONDS 0x4000000
+
+/* Personality types. These go in the low byte. */
+#define PER_MASK (0x00ff)
+#define PER_LINUX (0x0000)
+#define PER_SVR4 (0x0001 | STICKY_TIMEOUTS)
+#define PER_SVR3 (0x0002 | STICKY_TIMEOUTS)
+#define PER_SCOSVR3 (0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS)
+#define PER_WYSEV386 (0x0004 | STICKY_TIMEOUTS)
+#define PER_ISCR4 (0x0005 | STICKY_TIMEOUTS)
2.4.9.8 shuffles it around with no substantial changes
(hunk enhanced to show texture):
diff --git a/include/linux/personality.h b/include/linux/personality.h
index 58cab509e3..230d394603 100644
--- a/include/linux/personality.h
+++ b/include/linux/personality.h
@@ -1,68 +1,126 @@
-/* Flags for bug emulation. These occupy the top three bytes. */
-#define STICKY_TIMEOUTS 0x4000000
-#define WHOLE_SECONDS 0x2000000
-#define ADDR_LIMIT_32BIT 0x0800000
-/* Personality types. These go in the low byte. Avoid using the top bit,
- * it will conflict with error returns.
+/*
+ * Flags for bug emulation.
+ *
+ * These occupy the top three bytes.
*/
-#define PER_MASK (0x00ff)
-#define PER_LINUX (0x0000)
-#define PER_LINUX_32BIT (0x0000 | ADDR_LIMIT_32BIT)
-#define PER_SVR4 (0x0001 | STICKY_TIMEOUTS)
-#define PER_SVR3 (0x0002 | STICKY_TIMEOUTS)
-#define PER_SCOSVR3 (0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS)
-#define PER_WYSEV386 (0x0004 | STICKY_TIMEOUTS)
-#define PER_ISCR4 (0x0005 | STICKY_TIMEOUTS)
-#define PER_BSD (0x0006)
-#define PER_SUNOS (PER_BSD | STICKY_TIMEOUTS)
-#define PER_XENIX (0x0007 | STICKY_TIMEOUTS)
-#define PER_LINUX32 (0x0008)
-#define PER_IRIX32 (0x0009 | STICKY_TIMEOUTS) /* IRIX5 32-bit */
-#define PER_IRIXN32 (0x000a | STICKY_TIMEOUTS) /* IRIX6 new 32-bit */
-#define PER_IRIX64 (0x000b | STICKY_TIMEOUTS) /* IRIX6 64-bit */
-#define PER_RISCOS (0x000c)
-#define PER_SOLARIS (0x000d | STICKY_TIMEOUTS)
-
-/* Description of an execution domain - personality range supported,
- * lcall7 syscall handler, start up / shut down functions etc.
- * N.B. The name and lcall7 handler must be where they are since the
- * offset of the handler is hard coded in kernel/sys_call.S.
+enum {
+ MMAP_PAGE_ZERO = 0x0100000,
+ ADDR_LIMIT_32BIT = 0x0800000,
+ SHORT_INODE = 0x1000000,
+ WHOLE_SECONDS = 0x2000000,
+ STICKY_TIMEOUTS = 0x4000000,
+};
+
+/*
+ * Personality types.
+ *
+ * These go in the low byte. Avoid using the top bit, it will
+ * conflict with error returns.
+ */
+enum {
+ PER_LINUX = 0x0000,
+ PER_LINUX_32BIT = 0x0000 | ADDR_LIMIT_32BIT,
+ PER_SVR4 = 0x0001 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO,
+ PER_SVR3 = 0x0002 | STICKY_TIMEOUTS | SHORT_INODE,
+ PER_SCOSVR3 = 0x0003 | STICKY_TIMEOUTS |
+ WHOLE_SECONDS | SHORT_INODE,
+ PER_OSR5 = 0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS,
+ PER_WYSEV386 = 0x0004 | STICKY_TIMEOUTS | SHORT_INODE,
+ PER_ISCR4 = 0x0005 | STICKY_TIMEOUTS,
+ PER_BSD = 0x0006,
+ PER_SUNOS = 0x0006 | STICKY_TIMEOUTS,
+ PER_XENIX = 0x0007 | STICKY_TIMEOUTS | SHORT_INODE,
+ PER_LINUX32 = 0x0008,
+ PER_IRIX32 = 0x0009 | STICKY_TIMEOUTS,/* IRIX5 32-bit */
+ PER_IRIXN32 = 0x000a | STICKY_TIMEOUTS,/* IRIX6 new 32-bit */
+ PER_IRIX64 = 0x000b | STICKY_TIMEOUTS,/* IRIX6 64-bit */
+ PER_RISCOS = 0x000c,
+ PER_SOLARIS = 0x000d | STICKY_TIMEOUTS,
+ PER_UW7 = 0x000e | STICKY_TIMEOUTS | MMAP_PAGE_ZERO,
+ PER_UW7 = 0x000e | STICKY_TIMEOUTS | MMAP_PAGE_ZERO,
+ PER_MASK = 0x00ff,
+};
And the ABI doc creates Documentation/sysctl/abi.txt, noting
+defhandler_coff:
+defined value :
+PER_SCOSVR3
+0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS | SHORT_INODE
The same log of mainline reveals, apart from the original 2.6.12-rc2
import:
1. 607ca46e97a1b6594b29647d98a32d545c24bdff ("UAPI: (Scripted)
Disintegrate include/linux") ‒ include/linux/{=> uapi/}personality.h
2. 53b9537509654a6267c3f56b4d2e7409b9089686 ("docs: sysctl: convert to
ReST") ‒ Documentation/sysctl/abi.{rst => txt}
3. 9f35cf8bd7e3347b0679c3f9b5e0bc5493925a1f ("docs: rewrite
admin-guide/sysctl/abi.rst") ‒ rewrites
Documentation/admin-guide/sysctl/abi.rst entirely, removing all
personality bits ("all the existing entries are no longer present,
so this removes them;")
Current mainline contains WHOLE_SECONDS thrice:
include/uapi/linux/personality.h: WHOLE_SECONDS = 0x2000000,
include/uapi/linux/personality.h- PER_SCOSVR3 = 0x0003 | STICKY_TIMEOUTS |
include/uapi/linux/personality.h: WHOLE_SECONDS | SHORT_INODE,
include/uapi/linux/personality.h: PER_OSR5 = 0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS,
It never did anything.
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Cc: Jakub Wilk <jwilk@jwilk.net>
Diffstat (limited to 'man7/attributes.7')
0 files changed, 0 insertions, 0 deletions
