[PATCH v2] personality.2: WHOLE_SECONDS never did anything

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



git log -SWHOLE_SECONDS on a unified pre-2.6 linux repository
reveals the following three releases:
  Author: Andrew Morton <akpm@xxxxxxxx>
  Date:   Sun Aug 31 04:30:04 2003 -0700

      [PATCH] abi doc update

      From: <ffrederick@xxxxxxxxxxxxx>

      Update the abi sysctl documentation.

  Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
  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@xxxxxxxxxxxxxxxxxxx>
  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@xxxxxxxxxxxxxxxxxx>
---
Yeah, fair point. Reverted the date line.

 man2/personality.2 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/man2/personality.2 b/man2/personality.2
index b42692896..48dfa99e4 100644
--- a/man2/personality.2
+++ b/man2/personality.2
@@ -121,7 +121,7 @@ Added as a stopgap measure to support broken applications that
 could not handle the kernel version-numbering switch from 2.6.x to 3.x.
 .TP
 .BR WHOLE_SECONDS " (since Linux 1.2.0)"
-No effects(?).
+No effect.
 .PP
 The available execution domains are:
 .TP
-- 
2.30.2

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux