Skip to content

Instantly share code, notes, and snippets.

@alanc
Last active May 25, 2023 21:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alanc/b4659167c33c40e159c16b9d048ea2ed to your computer and use it in GitHub Desktop.
Save alanc/b4659167c33c40e159c16b9d048ea2ed to your computer and use it in GitHub Desktop.
Changes to core OS man pages in Oracle Solaris 11.4 SRU 57
Man page changes between Solaris 11.4.54 & 11.4.57, including changes for:
15052697 RFE: mdb In-line Editing could support vi mode as well as emacs
16424405 would like to observe and save history
29632748 policy.conf(5) man page references incorrect service
31038744 Sparc KZ with MRP failed to boot because not all the memory is allocated from MRP
31077866 add more information on create-size and install-size to Zones related man pages
31331053 Want ZFS raw send with crypto - encrypted blocks on the wire
31439729 buf(9S) man page should reference bp_copyout(9F)/bp_copyin(9f)
32478564 ::time should do what you expect it to do
32560448 ldm(8) MAN page needs to be corrected for Example 14
32695700 description of INCOMPLETE zone in zones(7) is not complete
32695724 zoneadm man page wrongly mentions -R with mark
33221003 error(1) man page references incorrect lint library locations
33671834 sharectl(8) man page example incorrect
33675161 zoneadm(8) manual page should be clearer about "-x force-zpool-import"
33691717 problem in KERNEL/ARCH-X86
33834111 shrink of an in use ZVOL (lowering volsize) should require a force flag
34413416 KZ does not utilize all cpus in pset when the pset is expanded
34726901 Kernel Zone live storage migration support for individual disk operations
34742418 pbind(8) -q should show binding of all lwps by default
34769673 Remove references to calculate-effective-pagesize in ldm man page
34819707 reboot should take a comment
34823330 zlogin should support ~<ctl-Z> to suspend zlogin
34840080 The system still tries to load lbl_edition; but it was removed from snv_87
34846492 Assorted fixes for Section 1 man pages
34858151 zoneadm(8) man page needs corrections for 'attach -n'
34858572 zoneadm attach -F option should be moved to solaris and solaris10 brand sections
34858624 zoneadm attach -u paragraph should be removed from the generic section
34863805 zoneadm(8) man page misses "-z <ZBE>" option for solaris10 brand
34877427 document CRYPTO_BUFFER_TOO_SMALL in libucrypto_encrypt(3LIB)
34877433 fix libucrypto_encrypt(3LIB) nits
34891519 mdb should expose the target's last child's pid as an mdb variable
34995167 filesystem(7) missing description of /system/volatile, /etc/mnttab, and /etc/dfs/sharetab
34995712 assorted fixes in zones manual pages
35008021 typos in error codes in man pages
35022141 nfs cleanup-upgrade is obsolete
35032533 deliver man page component of 34906601
35034274 More assorted fixes for Section 2 man pages
35042310 Clean up link aggregation examples
35079677 dlopen() manpage dependency note needs clarification
35087247 ghosts of removed services should be gone
35171635 Fix minor typos in misc. man pages
PSARC 2023/002 zlogin to supports ~<ctl-Z> to suspend zlogin
PSARC/2021/072 ZFS rawsend with crypto
PSARC/2022/081 Force flag for shrinking ZFS volumes
PSARC/2022/166 pbind(8) default output change for querying multi-LWP processes
PSARC/2022/171 Kernel Zone live storage migration support for individual disk operations
PSARC/2022/173 Comments for reboot(8) et al
PSARC/2022/175 Kernel Zone Virtual CPU binding improvements
PSARC/2022/183 Time information for mdb.
PSARC/2023/011 Persistent history for mdb
Copyright (c) 1983, 2023, Oracle and/or its affiliates.
diff -NurbBw 11.4.54/man1/error.1 11.4.57/man1/error.1
--- 11.4.54/man1/error.1 2023-05-24 15:26:43.843782933 -0700
+++ 11.4.57/man1/error.1 2023-05-24 15:27:23.176004099 -0700
@@ -61,10 +61,10 @@
-q error asks whether the file should be touched. A 'y'
- or 'n' to the question is necessary to continue.
- Absence of the -q option implies that all referenced
- files (except those referring to discarded error mes-
- sages) are to be touched.
+ or 'n' answer to the question is necessary to con-
+ tinue. Absence of the -q option implies that all ref-
+ erenced files (except those referring to discarded
+ error messages) are to be touched.
-s Print out statistics regarding the error categoriza-
@@ -98,8 +98,8 @@
- In the following C shell (/usr/bin/csh) example, error takes its input
- from the FORTRAN compiler:
+ In the following C shell (csh) example, error takes its input from the
+ FORTRAN compiler:
example% f77 -c any.f |& error options
@@ -107,7 +107,7 @@
- Here is the same example using the Korn shell (/usr/bin/ksh):
+ Here is the same example using the Korn shell (ksh):
example% f77 -c any.f 2>&1 | error options
@@ -125,11 +125,10 @@
discard Error messages from lint that refer to one of the
- two lint libraries, /usr/lib/lint/llib-lc and
- /usr/lib/lint/llib-port are discarded, to prevent
- accidentally touching these libraries. Again,
- these error messages are consumed entirely by
- error.
+ two lint libraries, /usr/lib/llib-lc and
+ /usr/lib/llib-port are discarded, to prevent acci-
+ dentally touching these libraries. Again, these
+ error messages are consumed entirely by error.
nullify Error messages from lint can be nullified if they
@@ -183,9 +182,6 @@
~/.errorrc function names to ignore for lint error messages
- /dev/tty user's teletype
-
-
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
@@ -201,7 +197,7 @@
attributes(7)
BUGS
- Opens the tty-device directly for user input.
+ Opens /dev/tty directly for user input.
Source files with links make a new copy of the file with only one link
@@ -223,4 +219,4 @@
-Oracle Solaris 11.4 1 Apr 2019 error(1)
+Oracle Solaris 11.4 10 Mar 2023 error(1)
diff -NurbBw 11.4.54/man1/mdb.1 11.4.57/man1/mdb.1
--- 11.4.54/man1/mdb.1 2023-05-24 15:26:43.974112042 -0700
+++ 11.4.57/man1/mdb.1 2023-05-24 15:27:23.344896297 -0700
@@ -520,6 +520,78 @@
The process id of the target process or core file.
+ MDB_CHILD_PID
+
+ The process id of the last child of the target process that was
+ created while mdb was attached.
+
+
+ MDB_SYSTOD
+
+ The number of seconds since the epoch on the system running mdb.
+
+
+ MDB_SYSTOD_NSEC
+
+ The number of nanoseconds since the epoch on the system running
+ mdb.
+
+
+ MDB_SYSHRTIME
+
+ The value of the high resolution timer as returned by gethrtime()
+ or clock_gettime(CLOCK_HIGHRES, ...) on the system running mdb.
+
+
+ MDB_STARTHRTIME
+
+ The value of the high resolution timer when the target was started.
+
+
+ MDB_TOD
+
+ The number of seconds since the epoch when the target stopped.
+
+
+ MDB_TOD_NSEC
+
+ The number of nanoseconds since the epoch when the target stopped.
+
+
+ MDB_STARTTOD
+
+ The number of seconds since the epoch when the target started.
+
+
+ MDB_STARTTOD_NSEC
+
+ The number of nanoseconds since the epoch when the target started.
+
+
+ MDB_SYSTIME
+
+ The number of nanoseconds the target has spent running in the sys-
+ tem (kernel).
+
+
+ MDB_USERTIME
+
+ The number of nanoseconds the target has spent running in user
+ space.
+
+
+ MDB_CSYSTIME
+
+ The number of nanoseconds the target's children have spent running
+ in the system (kernel).
+
+
+ MDB_USERTIME
+
+ The number of nanoseconds the target's children have spent running
+ in user space.
+
+
MDB_radix
The value of the current radix. Writing a value that is not a legal
@@ -765,15 +837,16 @@
In-line Editing
If standard input is a terminal device, mdb provides some simple emacs-
- style facilities for editing the command line. The search, previous,
- and next commands in edit mode provide access to the history list. Only
- strings, not patterns, are matched when searching. In the table below,
- the notation for control characters is caret (^) followed by a charac-
- ter shown in uppercase. The notation for escape sequences is M- fol-
- lowed by a character. For example, M-f (pronounced meta-eff) is entered
- by depressing ESC followed by 'f', or by depressing Meta followed by
- 'f' on keyboards that support a Meta key. A command line is committed
- and executed using RETURN or NEWLINE. The edit commands are:
+ style or vi-style facilities for editing the command line. The search,
+ previous, and next commands in edit mode provide access to the history
+ list. Only strings, not patterns, are matched when searching. In the
+ table below, the notation for control characters is caret (^) followed
+ by a character shown in uppercase. The notation for escape sequences is
+ M- followed by a character. For example, M-f (pronounced meta-eff) is
+ entered by depressing ESC followed by 'f', or by depressing Meta fol-
+ lowed by 'f' on keyboards that support a Meta key. A command line is
+ committed and executed using RETURN or NEWLINE. With emacs-style the
+ edit commands are:
^F
@@ -2216,6 +2288,13 @@
A summary of this information is available using ::help evset.
+ ::editor [subcommand]
+
+ Provide editor specific commands and help. With no arguments it
+ produces help for the current editor mode, including a list of sub-
+ commands that are available in this mode
+
+
::files
$f
@@ -2287,6 +2366,52 @@
prints a usage summary for that dcmd.
+
+
+ [addr] ::history [-n][-pls [file]]
+
+
+ Display, save and load command line history. With no options it
+ will display the current command line history.
+
+ When given an addr it will load and run that entry from the history
+
+
+ -l load the history from the history file
+
+ -n do not exec the command
+
+ -p print the expanded name of the history file
+
+ -s save the history to the history file
+
+ The -l, -p and -s flags can take an optional file name. If so they
+ will apply the expansions for the histfile and then perform the
+ action.
+
+
+
+
+ [addr] ::hrtime [-abs] [|::dcmd ...]
+
+
+ Print specified high-resolution timestamp in human readable form
+ either relative to current system time or absolute time since boot.
+ If no timestamp is specified uses current hrtime as the value to
+ print. See ::time
+
+
+ -a Output the time as an absolute value
+
+
+ -b Output the time relative to the target's start (boot) time.
+
+
+ -s Scale an unscaled hrtime_t into nanoseconds.
+
+
+
+
signal :i
If the target is a live user process, ignore the specified signal
@@ -3421,6 +3546,142 @@
+
+
+ [addr] ::time [-abdhlsux] [-o opt,...] [|::dcmd ...]
+
+
+ Print any times that the target supports and convert between for-
+ mats. When converting for times with higher resolutions to times
+ with lower resolutions there is obviously loss of accuracy.
+
+ When converting to and from the real-time clock no account is taken
+ of any adjustments that are made in the real clock by external fac-
+ tors, like ntp.
+
+
+
+ -a Output the time as an absolute value
+
+
+ -b Output the time relative to the target's start (boot)
+ time.
+
+
+ -d Output the time in decimal (the default).
+
+
+ -h Output the time in a more human readable form.
+
+
+ -l Output the lbolt. Shorthand for -o lbolt.
+
+
+ -o option report the requested option. See OPTIONS
+
+
+ -r Output the time in the default radix.
+
+
+ -s Scale unscaled hrtime_t. Shorthand for -o hrscale.
+
+
+ -u Unscale scaled hrtime_t. Shorthand for -o hrunscale.
+
+
+ -x Output the time in hexadecimal.
+
+
+ OPTIONS
+
+
+ all report all the possible times
+
+
+ allcpu report all the possible CPU times
+
+
+ allstart report all the possible start times
+
+
+ allstop report all the possible stop times
+
+
+ csystime Children's system cpu time
+
+
+ cusertime Children's user cpu time
+
+
+ hr2lbolt Convert high resolution time to lbolt
+
+
+ hr2rt Convert high resolution time to real time
+
+
+ hrres High resolution clock resolution
+
+
+ hrscale Scale addr
+
+
+ hrstart Target start high resolution time
+
+
+ hrstop Target stop high resolution time
+
+
+ hrsys System high resolution time
+
+
+ hrunscale Un-scale addr
+
+
+ hrustart Target start unscaled high resolution time
+
+
+ hrustop Target stop unscaled high resolution time
+
+
+ lbolt The value of lbolt
+
+
+ lbolt2hr Convert lbolt to high resolution time
+
+
+ lboltres Lbolt resolution
+
+
+ list List all the options
+
+
+ pass Print addr as an high resolution time. Default when an
+ address is supplied.
+
+
+ rt2hr Convert high resolution time to real time
+
+
+ rtres Real time clock resolution
+
+
+ rtstart Target start time after epoch
+
+
+ rtstop Target stop time after epoch
+
+
+ rtsys System time after epoch
+
+
+ systime Process system cpu time
+
+
+ usertime Process user cpu time
+
+
+
+
thread ::tls symbol
Print the address of the storage for the specified thread-local
@@ -3758,8 +4019,8 @@
%t
- Expands to the name of the current target. This is either be
- the literal string 'proc' (a user process or user process core
+ Expands to the name of the current target. This will be one of
+ the literal strings 'proc' (a user process or user process core
file), 'kvm' (a kernel crash dump or the live operating sys-
tem), or 'raw' (a raw file).
@@ -3885,6 +4146,12 @@
members are displayed by default.
+ editor=editor
+
+ Choose the command line editor style. This can take the values
+ "emacs" or "vi".
+
+
array_str_limit=limit
Sets the default limit on the number of characters that ::print
@@ -3953,6 +4220,58 @@
+ histfile
+
+ The name of the file to save and load command line history
+ from. The file name can contain the following expansions:
+
+ %% %
+
+
+ %R The value of the ROOT environment variable
+
+
+ %T The value of the TMPDIR environment variable or /tmp if
+ not set
+
+
+ %b The size of a pointer in bits for the target
+
+
+ %e The (exec)name of the program being debugged
+
+
+ %h The value of the HOME environment variable
+
+
+ %i The target's instruction set architecture
+
+
+ %m The target's machine from uname(1)
+
+
+ %n The target's nodename from uname(1)
+
+
+ %p The target's SI_PLATFORM sysinfo(1)
+
+
+ %r The target's release from uname(1)
+
+
+ %s The target's sysname from uname(1)
+
+
+ %t The name of the target
+
+
+ %u The value of the LOGNAME environment variable
+
+
+ %v The target's version from uname(1)
+
+
+
immediate_breakpoints
Forces mdb to not turn breakpoints into symbol+offset but
@@ -4073,6 +4392,12 @@
dot. This option is implied by -o adb.
+ savehist
+
+ When set save the current command line history to the history
+ file when mdb exits.
+
+
showlmid
mdb provides support for symbol naming and identification in
@@ -4268,6 +4593,20 @@
ENVIRONMENT VARIABLES
+ MDB_EDITOR, EDITOR, FCEDIT, VISUAL
+
+ These variables are read in order until one is found that contains
+ the string "vi" or the string "emacs" then the default editor mode
+ is set accordingly. If none are found the default editor mode is
+ "emacs"
+
+
+ MDB_HISTFILE
+
+ This variable is used to determine the history file to use. The
+ default history file is "%h/.mdb/history/%t_%p_%b_%e".
+
+
HISTSIZE
This variable is used to determine the maximum length of the com-
@@ -4515,4 +4854,4 @@
-Oracle Solaris 11.4 29 Nov 2022 mdb(1)
+Oracle Solaris 11.4 10 Mar 2023 mdb(1)
diff -NurbBw 11.4.54/man1/ppriv.1 11.4.57/man1/ppriv.1
--- 11.4.54/man1/ppriv.1 2023-05-24 15:26:44.004802830 -0700
+++ 11.4.57/man1/ppriv.1 2023-05-24 15:27:23.377061988 -0700
@@ -151,8 +151,8 @@
-q
Tests whether privileges are in the effective set and whether flags
- are set or non-set. The programs exists successfully when all tests
- are fulfilled.
+ are set or unset. The program exits successfully when all tests are
+ fulfilled.
-r rule
@@ -434,4 +434,4 @@
-Oracle Solaris 11.4 29 Nov 2022 ppriv(1)
+Oracle Solaris 11.4 13 Mar 2023 ppriv(1)
diff -NurbBw 11.4.54/man1/prctl.1 11.4.57/man1/prctl.1
--- 11.4.54/man1/prctl.1 2023-05-24 15:26:44.059493755 -0700
+++ 11.4.57/man1/prctl.1 2023-05-24 15:27:23.414796375 -0700
@@ -200,7 +200,7 @@
Enables or disables specific signal action. signum is a signal
number or string representation of a signal, it may omit the
"SIG" prefix and the string is case-insensitive, that is,
- "TERM" is recognized as SIGTERM. Setting a signal action on a
+ "Term" is recognized as SIGTERM. Setting a signal action on a
resource control with the no-local-action global flag fails.
The valid signals that can be set on a rctl value are SIGABRT,
SIGXRES, SIGHUP, SIGSTOP, SIGTERM, and SIGKILL. Additionally,
@@ -523,4 +523,4 @@
-Oracle Solaris 11.4 6 Oct 2022 prctl(1)
+Oracle Solaris 11.4 10 Mar 2023 prctl(1)
diff -NurbBw 11.4.54/man1/rcp.1 11.4.57/man1/rcp.1
--- 11.4.54/man1/rcp.1 2023-05-24 15:26:44.104844506 -0700
+++ 11.4.57/man1/rcp.1 2023-05-24 15:27:23.451072043 -0700
@@ -114,7 +114,7 @@
rcp is meant to copy between different hosts. Attempting to rcp a file
onto itself, as with:
- example% rcp tmp/file myhost:/tmp/file
+ example% rcp /tmp/file myhost:/tmp/file
@@ -173,4 +173,4 @@
-Oracle Solaris 11.4 12 May 2022 rcp(1)
+Oracle Solaris 11.4 10 Mar 2023 rcp(1)
diff -NurbBw 11.4.54/man1/shift.1 11.4.57/man1/shift.1
--- 11.4.54/man1/shift.1 2023-05-24 15:26:44.148406024 -0700
+++ 11.4.57/man1/shift.1 2023-05-24 15:27:23.479726281 -0700
@@ -30,8 +30,8 @@
not to be set or to have a null value.
ksh88
- The positional parameters from $n+1 $n+1 ... are renamed $1$hellip;,
- default n is 1. The parameter n can be any arithmetic expression that
+ The positional parameters from $n+1 ... are renamed $1 ..., where n
+ defaults to 1. The parameter n can be any arithmetic expression that
evaluates to a non-negative number less than or equal to $#.
@@ -112,4 +112,4 @@
-Oracle Solaris 11.4 29 Nov 2022 shift(1)
+Oracle Solaris 11.4 10 Mar 2023 shift(1)
diff -NurbBw 11.4.54/man1/zlogin.1 11.4.57/man1/zlogin.1
--- 11.4.54/man1/zlogin.1 2023-05-24 15:26:44.191233692 -0700
+++ 11.4.57/man1/zlogin.1 2023-05-24 15:27:23.515241218 -0700
@@ -138,6 +138,18 @@
the zone's end.
+ ~^Z Suspend zlogin.
+
+
+ ~? List the possible supported escape sequences.
+
+
+ ~~ Send the escape character exactly once.
+
+
+ ~B Send the alternate break sequence.
+
+
SECURITY
Once a process has been placed in a zone other than the global zone,
the process cannot change zone again, nor can any of its children.
@@ -254,4 +266,4 @@
-Oracle Solaris 11.4 25 Mar 2020 zlogin(1)
+Oracle Solaris 11.4 3 Jan 2023 zlogin(1)
diff -NurbBw 11.4.54/man2/_exit.2 11.4.57/man2/_exit.2
--- 11.4.54/man2/_exit.2 2023-05-24 15:26:44.242453414 -0700
+++ 11.4.57/man2/_exit.2 2023-05-24 15:27:23.610361341 -0700
@@ -202,6 +202,18 @@
fclose(3C), mq_close(3C), plock(3C), tmpfile(3C), wait(3C), wait3(3C),
waitpid(3C), signal.h(3HEAD), attributes(7), standards(7), acctadm(8)
+HISTORY
+ The quick_exit() function was added to Oracle Solaris in the Solaris
+ 11.4.0 release.
-Oracle Solaris 11.4 13 Jun 2018 exit(2)
+ The _Exit() function was added to Solaris in the Solaris 10 3/05
+ release.
+
+
+ The exit() and _exit() functions have been included in all Sun and Ora-
+ cle releases of Solaris.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 exit(2)
diff -NurbBw 11.4.54/man2/_Exit.2 11.4.57/man2/_Exit.2
--- 11.4.54/man2/_Exit.2 2023-05-24 15:26:44.295480858 -0700
+++ 11.4.57/man2/_Exit.2 2023-05-24 15:27:23.671245986 -0700
@@ -202,6 +202,18 @@
fclose(3C), mq_close(3C), plock(3C), tmpfile(3C), wait(3C), wait3(3C),
waitpid(3C), signal.h(3HEAD), attributes(7), standards(7), acctadm(8)
+HISTORY
+ The quick_exit() function was added to Oracle Solaris in the Solaris
+ 11.4.0 release.
-Oracle Solaris 11.4 13 Jun 2018 exit(2)
+ The _Exit() function was added to Solaris in the Solaris 10 3/05
+ release.
+
+
+ The exit() and _exit() functions have been included in all Sun and Ora-
+ cle releases of Solaris.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 exit(2)
diff -NurbBw 11.4.54/man2/_lwp_cond_broadcast.2 11.4.57/man2/_lwp_cond_broadcast.2
--- 11.4.54/man2/_lwp_cond_broadcast.2 2023-05-24 15:26:44.324109989 -0700
+++ 11.4.57/man2/_lwp_cond_broadcast.2 2023-05-24 15:27:23.713573372 -0700
@@ -46,9 +46,17 @@
EFAULT The cvp argument points to an invalid address.
+USAGE
+ Most software should use the standard interfaces listed in the
+ threads(7) manual page instead of these low-level system calls.
+
SEE ALSO
- _lwp_mutex_lock(2), _lwp_cond_wait(2)
+ _lwp_mutex_lock(2), _lwp_cond_wait(2), threads(7)
+
+HISTORY
+ The _lwp_cond_signal() and _lwp_cond_broadcast() functions were added
+ in Solaris 2.2.
-Oracle Solaris 11.4 8 Dec 1995 _lwp_cond_signal(2)
+Oracle Solaris 11.4 30 Jan 2023 _lwp_cond_signal(2)
diff -NurbBw 11.4.54/man2/_lwp_cond_reltimedwait.2 11.4.57/man2/_lwp_cond_reltimedwait.2
--- 11.4.54/man2/_lwp_cond_reltimedwait.2 2023-05-24 15:26:44.391216247 -0700
+++ 11.4.57/man2/_lwp_cond_reltimedwait.2 2023-05-24 15:27:23.773639534 -0700
@@ -83,6 +83,10 @@
ETIME The time specified in abstime or reltime has passed.
+USAGE
+ Most software should use the standard interfaces listed in the
+ threads(7) manual page instead of these low-level system calls.
+
EXAMPLES
Example 1 Using _lwp_cond_wait()
@@ -163,8 +167,16 @@
SEE ALSO
_lwp_cond_broadcast(2), _lwp_cond_signal(2), _lwp_kill(2),
- _lwp_mutex_lock(2), fork(2), kill(2)
+ _lwp_mutex_lock(2), fork(2), kill(2), threads(7)
+
+HISTORY
+ The _lwp_cond_reltimedwait() function was added in Solaris 8 2/02
+ (Update 7).
+
+
+ The _lwp_cond_wait() and _lwp_cond_timedwait() functions were added in
+ Solaris 2.2.
-Oracle Solaris 11.4 25 Sep 2020 _lwp_cond_wait(2)
+Oracle Solaris 11.4 30 Jan 2023 _lwp_cond_wait(2)
diff -NurbBw 11.4.54/man2/_lwp_cond_signal.2 11.4.57/man2/_lwp_cond_signal.2
--- 11.4.54/man2/_lwp_cond_signal.2 2023-05-24 15:26:44.417727611 -0700
+++ 11.4.57/man2/_lwp_cond_signal.2 2023-05-24 15:27:23.814826633 -0700
@@ -46,9 +46,17 @@
EFAULT The cvp argument points to an invalid address.
+USAGE
+ Most software should use the standard interfaces listed in the
+ threads(7) manual page instead of these low-level system calls.
+
SEE ALSO
- _lwp_mutex_lock(2), _lwp_cond_wait(2)
+ _lwp_mutex_lock(2), _lwp_cond_wait(2), threads(7)
+
+HISTORY
+ The _lwp_cond_signal() and _lwp_cond_broadcast() functions were added
+ in Solaris 2.2.
-Oracle Solaris 11.4 8 Dec 1995 _lwp_cond_signal(2)
+Oracle Solaris 11.4 30 Jan 2023 _lwp_cond_signal(2)
diff -NurbBw 11.4.54/man2/_lwp_cond_timedwait.2 11.4.57/man2/_lwp_cond_timedwait.2
--- 11.4.54/man2/_lwp_cond_timedwait.2 2023-05-24 15:26:44.444810965 -0700
+++ 11.4.57/man2/_lwp_cond_timedwait.2 2023-05-24 15:27:23.857730010 -0700
@@ -83,6 +83,10 @@
ETIME The time specified in abstime or reltime has passed.
+USAGE
+ Most software should use the standard interfaces listed in the
+ threads(7) manual page instead of these low-level system calls.
+
EXAMPLES
Example 1 Using _lwp_cond_wait()
@@ -163,8 +167,16 @@
SEE ALSO
_lwp_cond_broadcast(2), _lwp_cond_signal(2), _lwp_kill(2),
- _lwp_mutex_lock(2), fork(2), kill(2)
+ _lwp_mutex_lock(2), fork(2), kill(2), threads(7)
+
+HISTORY
+ The _lwp_cond_reltimedwait() function was added in Solaris 8 2/02
+ (Update 7).
+
+
+ The _lwp_cond_wait() and _lwp_cond_timedwait() functions were added in
+ Solaris 2.2.
-Oracle Solaris 11.4 25 Sep 2020 _lwp_cond_wait(2)
+Oracle Solaris 11.4 30 Jan 2023 _lwp_cond_wait(2)
diff -NurbBw 11.4.54/man2/_lwp_cond_wait.2 11.4.57/man2/_lwp_cond_wait.2
--- 11.4.54/man2/_lwp_cond_wait.2 2023-05-24 15:26:44.479075178 -0700
+++ 11.4.57/man2/_lwp_cond_wait.2 2023-05-24 15:27:23.884943303 -0700
@@ -83,6 +83,10 @@
ETIME The time specified in abstime or reltime has passed.
+USAGE
+ Most software should use the standard interfaces listed in the
+ threads(7) manual page instead of these low-level system calls.
+
EXAMPLES
Example 1 Using _lwp_cond_wait()
@@ -163,8 +167,16 @@
SEE ALSO
_lwp_cond_broadcast(2), _lwp_cond_signal(2), _lwp_kill(2),
- _lwp_mutex_lock(2), fork(2), kill(2)
+ _lwp_mutex_lock(2), fork(2), kill(2), threads(7)
+
+HISTORY
+ The _lwp_cond_reltimedwait() function was added in Solaris 8 2/02
+ (Update 7).
+
+
+ The _lwp_cond_wait() and _lwp_cond_timedwait() functions were added in
+ Solaris 2.2.
-Oracle Solaris 11.4 25 Sep 2020 _lwp_cond_wait(2)
+Oracle Solaris 11.4 30 Jan 2023 _lwp_cond_wait(2)
diff -NurbBw 11.4.54/man2/_lwp_continue.2 11.4.57/man2/_lwp_continue.2
--- 11.4.54/man2/_lwp_continue.2 2023-05-24 15:26:44.523627093 -0700
+++ 11.4.57/man2/_lwp_continue.2 2023-05-24 15:27:23.933651851 -0700
@@ -17,7 +17,7 @@
The _lwp_suspend() function immediately suspends the execution of the
LWP specified by target_lwp. On successful return from _lwp_suspend(),
target_lwp is no longer executing. Once a thread is suspended, subse-
- quent calls to _lwp_suspend() have no affect.
+ quent calls to _lwp_suspend() have no effect.
The _lwp_continue() function resumes the execution of a suspended LWP.
@@ -40,6 +40,10 @@
process.
+USAGE
+ Most software should use the standard interfaces listed in the
+ threads(7) manual page instead of these low-level system calls.
+
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
@@ -51,8 +55,12 @@
+-----------------------------+-----------------------------+
SEE ALSO
- attributes(7)
+ attributes(7), threads(7)
+
+HISTORY
+ The _lwp_suspend() and _lwp_continue() functions were added in Solaris
+ 2.2.
-Oracle Solaris 11.4 17 Aug 2018 _lwp_suspend(2)
+Oracle Solaris 11.4 30 Jan 2023 _lwp_suspend(2)
diff -NurbBw 11.4.54/man2/_lwp_kill.2 11.4.57/man2/_lwp_kill.2
--- 11.4.54/man2/_lwp_kill.2 2023-05-24 15:26:44.551764169 -0700
+++ 11.4.57/man2/_lwp_kill.2 2023-05-24 15:27:23.978356975 -0700
@@ -37,6 +37,10 @@
process.
+USAGE
+ Most software should use the standard interfaces listed in the
+ threads(7) manual page instead of these low-level system calls.
+
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
@@ -48,8 +52,12 @@
+-----------------------------+-----------------------------+
SEE ALSO
- sigprocmask(2), kill(2), sigaction(2), signal.h(3HEAD), attributes(7)
+ sigprocmask(2), kill(2), sigaction(2), signal.h(3HEAD), attributes(7),
+ threads(7)
+
+HISTORY
+ The _lwp_kill() function was added in Solaris 2.4.
-Oracle Solaris 11.4 8 Aug 2001 _lwp_kill(2)
+Oracle Solaris 11.4 30 Jan 2023 _lwp_kill(2)
diff -NurbBw 11.4.54/man2/_lwp_mutex_lock.2 11.4.57/man2/_lwp_mutex_lock.2
--- 11.4.54/man2/_lwp_mutex_lock.2 2023-05-24 15:26:44.580347309 -0700
+++ 11.4.57/man2/_lwp_mutex_lock.2 2023-05-24 15:27:24.045741249 -0700
@@ -62,9 +62,18 @@
EBUSY The mp argument points to a locked mutex.
+USAGE
+ Most software should use the standard interfaces described in the
+ mutex(7) and threads(7) manual pages instead of these low-level system
+ calls.
+
SEE ALSO
- _lwp_cond_wait(2), Intro(2)
+ _lwp_cond_wait(2), Intro(2), mutex(7), threads(7)
+
+HISTORY
+ The _lwp_mutex_lock(), _lwp_mutex_trylock(), and _lwp_mutex_unlock()
+ functions were added in Solaris 2.2.
-Oracle Solaris 11.4 30 Jul 1992 _lwp_mutex_lock(2)
+Oracle Solaris 11.4 30 Jan 2023 _lwp_mutex_lock(2)
diff -NurbBw 11.4.54/man2/_lwp_mutex_trylock.2 11.4.57/man2/_lwp_mutex_trylock.2
--- 11.4.54/man2/_lwp_mutex_trylock.2 2023-05-24 15:26:44.615385766 -0700
+++ 11.4.57/man2/_lwp_mutex_trylock.2 2023-05-24 15:27:24.101659939 -0700
@@ -62,9 +62,18 @@
EBUSY The mp argument points to a locked mutex.
+USAGE
+ Most software should use the standard interfaces described in the
+ mutex(7) and threads(7) manual pages instead of these low-level system
+ calls.
+
SEE ALSO
- _lwp_cond_wait(2), Intro(2)
+ _lwp_cond_wait(2), Intro(2), mutex(7), threads(7)
+
+HISTORY
+ The _lwp_mutex_lock(), _lwp_mutex_trylock(), and _lwp_mutex_unlock()
+ functions were added in Solaris 2.2.
-Oracle Solaris 11.4 30 Jul 1992 _lwp_mutex_lock(2)
+Oracle Solaris 11.4 30 Jan 2023 _lwp_mutex_lock(2)
diff -NurbBw 11.4.54/man2/_lwp_mutex_unlock.2 11.4.57/man2/_lwp_mutex_unlock.2
--- 11.4.54/man2/_lwp_mutex_unlock.2 2023-05-24 15:26:44.677950781 -0700
+++ 11.4.57/man2/_lwp_mutex_unlock.2 2023-05-24 15:27:24.127485661 -0700
@@ -62,9 +62,18 @@
EBUSY The mp argument points to a locked mutex.
+USAGE
+ Most software should use the standard interfaces described in the
+ mutex(7) and threads(7) manual pages instead of these low-level system
+ calls.
+
SEE ALSO
- _lwp_cond_wait(2), Intro(2)
+ _lwp_cond_wait(2), Intro(2), mutex(7), threads(7)
+
+HISTORY
+ The _lwp_mutex_lock(), _lwp_mutex_trylock(), and _lwp_mutex_unlock()
+ functions were added in Solaris 2.2.
-Oracle Solaris 11.4 30 Jul 1992 _lwp_mutex_lock(2)
+Oracle Solaris 11.4 30 Jan 2023 _lwp_mutex_lock(2)
diff -NurbBw 11.4.54/man2/_lwp_self.2 11.4.57/man2/_lwp_self.2
--- 11.4.54/man2/_lwp_self.2 2023-05-24 15:26:44.756695511 -0700
+++ 11.4.57/man2/_lwp_self.2 2023-05-24 15:27:24.161428522 -0700
@@ -13,6 +13,10 @@
DESCRIPTION
The _lwp_self() function returns the ID of the calling LWP.
+USAGE
+ Most software should use the standard interfaces listed in the
+ threads(7) manual page instead of these low-level system calls.
+
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
@@ -24,8 +28,11 @@
+-----------------------------+-----------------------------+
SEE ALSO
- attributes(7)
+ attributes(7), threads(7)
+
+HISTORY
+ The _lwp_self() function was added in Solaris 2.2.
-Oracle Solaris 11.4 8 Aug 2001 _lwp_self(2)
+Oracle Solaris 11.4 30 Jan 2023 _lwp_self(2)
diff -NurbBw 11.4.54/man2/_lwp_sema_init.2 11.4.57/man2/_lwp_sema_init.2
--- 11.4.54/man2/_lwp_sema_init.2 2023-05-24 15:26:44.799817691 -0700
+++ 11.4.57/man2/_lwp_sema_init.2 2023-05-24 15:27:24.189883219 -0700
@@ -78,9 +78,20 @@
EOVERFLOW The value of the sema argument exceeds SEM_VALUE_MAX.
+USAGE
+ Most software should use the standard interfaces listed in the
+ threads(7) manual page instead of these low-level system calls.
+
SEE ALSO
- fork(2)
+ fork(2), threads(7)
+
+HISTORY
+ The _lwp_sema_trywait() function was added in Solaris 2.6.
+
+
+ The _lwp_sema_init(), _lwp_sema_post(), and _lwp_sema_wait() functions
+ were added in Solaris 2.2.
-Oracle Solaris 11.4 8 May 1998 _lwp_sema_wait(2)
+Oracle Solaris 11.4 30 Jan 2023 _lwp_sema_wait(2)
diff -NurbBw 11.4.54/man2/_lwp_sema_post.2 11.4.57/man2/_lwp_sema_post.2
--- 11.4.54/man2/_lwp_sema_post.2 2023-05-24 15:26:44.827791315 -0700
+++ 11.4.57/man2/_lwp_sema_post.2 2023-05-24 15:27:24.218148886 -0700
@@ -78,9 +78,20 @@
EOVERFLOW The value of the sema argument exceeds SEM_VALUE_MAX.
+USAGE
+ Most software should use the standard interfaces listed in the
+ threads(7) manual page instead of these low-level system calls.
+
SEE ALSO
- fork(2)
+ fork(2), threads(7)
+
+HISTORY
+ The _lwp_sema_trywait() function was added in Solaris 2.6.
+
+
+ The _lwp_sema_init(), _lwp_sema_post(), and _lwp_sema_wait() functions
+ were added in Solaris 2.2.
-Oracle Solaris 11.4 8 May 1998 _lwp_sema_wait(2)
+Oracle Solaris 11.4 30 Jan 2023 _lwp_sema_wait(2)
diff -NurbBw 11.4.54/man2/_lwp_sema_trywait.2 11.4.57/man2/_lwp_sema_trywait.2
--- 11.4.54/man2/_lwp_sema_trywait.2 2023-05-24 15:26:44.855223756 -0700
+++ 11.4.57/man2/_lwp_sema_trywait.2 2023-05-24 15:27:24.244965794 -0700
@@ -78,9 +78,20 @@
EOVERFLOW The value of the sema argument exceeds SEM_VALUE_MAX.
+USAGE
+ Most software should use the standard interfaces listed in the
+ threads(7) manual page instead of these low-level system calls.
+
SEE ALSO
- fork(2)
+ fork(2), threads(7)
+
+HISTORY
+ The _lwp_sema_trywait() function was added in Solaris 2.6.
+
+
+ The _lwp_sema_init(), _lwp_sema_post(), and _lwp_sema_wait() functions
+ were added in Solaris 2.2.
-Oracle Solaris 11.4 8 May 1998 _lwp_sema_wait(2)
+Oracle Solaris 11.4 30 Jan 2023 _lwp_sema_wait(2)
diff -NurbBw 11.4.54/man2/_lwp_sema_wait.2 11.4.57/man2/_lwp_sema_wait.2
--- 11.4.54/man2/_lwp_sema_wait.2 2023-05-24 15:26:44.895583239 -0700
+++ 11.4.57/man2/_lwp_sema_wait.2 2023-05-24 15:27:24.276060885 -0700
@@ -78,9 +78,20 @@
EOVERFLOW The value of the sema argument exceeds SEM_VALUE_MAX.
+USAGE
+ Most software should use the standard interfaces listed in the
+ threads(7) manual page instead of these low-level system calls.
+
SEE ALSO
- fork(2)
+ fork(2), threads(7)
+
+HISTORY
+ The _lwp_sema_trywait() function was added in Solaris 2.6.
+
+
+ The _lwp_sema_init(), _lwp_sema_post(), and _lwp_sema_wait() functions
+ were added in Solaris 2.2.
-Oracle Solaris 11.4 8 May 1998 _lwp_sema_wait(2)
+Oracle Solaris 11.4 30 Jan 2023 _lwp_sema_wait(2)
diff -NurbBw 11.4.54/man2/_lwp_suspend.2 11.4.57/man2/_lwp_suspend.2
--- 11.4.54/man2/_lwp_suspend.2 2023-05-24 15:26:44.922424705 -0700
+++ 11.4.57/man2/_lwp_suspend.2 2023-05-24 15:27:24.317172602 -0700
@@ -17,7 +17,7 @@
The _lwp_suspend() function immediately suspends the execution of the
LWP specified by target_lwp. On successful return from _lwp_suspend(),
target_lwp is no longer executing. Once a thread is suspended, subse-
- quent calls to _lwp_suspend() have no affect.
+ quent calls to _lwp_suspend() have no effect.
The _lwp_continue() function resumes the execution of a suspended LWP.
@@ -40,6 +40,10 @@
process.
+USAGE
+ Most software should use the standard interfaces listed in the
+ threads(7) manual page instead of these low-level system calls.
+
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
@@ -51,8 +55,12 @@
+-----------------------------+-----------------------------+
SEE ALSO
- attributes(7)
+ attributes(7), threads(7)
+
+HISTORY
+ The _lwp_suspend() and _lwp_continue() functions were added in Solaris
+ 2.2.
-Oracle Solaris 11.4 17 Aug 2018 _lwp_suspend(2)
+Oracle Solaris 11.4 30 Jan 2023 _lwp_suspend(2)
diff -NurbBw 11.4.54/man2/access.2 11.4.57/man2/access.2
--- 11.4.54/man2/access.2 2023-05-24 15:26:44.960060143 -0700
+++ 11.4.57/man2/access.2 2023-05-24 15:27:24.347293080 -0700
@@ -26,10 +26,6 @@
had permission to access this file.
- The euidaccess() is equivalent to the access() but uses the effective
- user ID and the effective group ID.
-
-
The value of amode is either the bitwise inclusive OR of the access
permissions to be checked (R_OK, W_OK, X_OK) or the existence test,
F_OK.
@@ -50,7 +46,10 @@
- See Intro(2) for additional information about "File Access Permission".
+ See the "File Access Permissions" section of Intro(2) for additional
+ information. As described there, access may be permitted by the permis-
+ sion bits in the file mode, entries in an Access Control List, or priv-
+ ileges currently asserted for the process.
If any access permissions are to be checked, each will be checked indi-
@@ -79,23 +78,28 @@
group ID as required in a call to access().
+
+ The euidaccess() function is equivalent to the faccessat() function
+ with an fd of AT_FDCWD and a flag of AT_EACCESS, so that it checks for
+ access using the effective user ID and the effective group ID.
+
RETURN VALUES
- If the requested access is permitted, access(), euidaccess() and fac-
+ If the requested access is permitted, access(), euidaccess(), and fac-
cessat()succeed and return 0. Otherwise, -1 is returned and errno is
set to indicate the error.
ERRORS
- The access() and faccessat() functions will fail if:
+ The access(), euidaccess(), and faccessat() functions will fail if:
- EACCES Permission bits of the file mode do not permit the
- requested access, or search permission is denied on a
- component of the path prefix.
+ EACCES Permissions of the file do not permit the requested
+ access, or search permission is denied on a component
+ of the path prefix.
EFAULT The path argument points to an illegal address.
- EINTR A signal was caught during the access() function.
+ EINTR A signal was caught during the function.
ELOOP Too many symbolic links were encountered in resolving
@@ -137,7 +141,7 @@
- The access() and faccessat() functions may fail if:
+ The access(), euidaccess(), and faccessat() functions may fail if:
EINVAL The value of the amode argument is invalid.
@@ -189,12 +193,39 @@
|Standard |See below. |
+-----------------------------+-----------------------------+
+ Standard
+ See standards(7) for descriptions of the following standards:
+
- For access(), see standards(7).
+ +-----------------------+-----------------------------------+
+ | INTERFACES | APPLICABLE STANDARDS |
+ +-----------------------+-----------------------------------+
+ |access() | POSIX.1-1990 through 2008, |
+ | | SUS through SUSv4, |
+ | | XPG1 through XPG7 |
+ | | |
+ +-----------------------+-----------------------------------+
+ |faccessat() | SUSv4, |
+ | | XPG7 |
+ | | |
+ +-----------------------+-----------------------------------+
+ |euidaccess() | None |
+ +-----------------------+-----------------------------------+
SEE ALSO
- chmod(2), Intro(2), stat(2), attributes(7), standards(7)
+ chmod(2), Intro(2), stat(2), acl(7), attributes(7), standards(7)
+
+HISTORY
+ The euidaccess() function was added to Oracle Solaris in Solaris
+ 11.4.0.
+
+
+ The faccessat() function was added to Oracle Solaris in Solaris 11.0.0.
+
+
+ The access() function has been included in all Sun and Oracle releases
+ of Solaris.
-Oracle Solaris 11.4 22 Jan 2018 access(2)
+Oracle Solaris 11.4 30 Jan 2023 access(2)
diff -NurbBw 11.4.54/man2/acct.2 11.4.57/man2/acct.2
--- 11.4.54/man2/acct.2 2023-05-24 15:26:44.990762397 -0700
+++ 11.4.57/man2/acct.2 2023-05-24 15:27:24.389735430 -0700
@@ -15,17 +15,17 @@
routine. If the routine is enabled, an accounting record will be writ-
ten in an accounting file for each process that terminates. The termi-
nation of a process can be caused by either an exit(2) call or a sig-
- nal(3C)). The effective user ID of the process calling acct() must have
- the appropriate privileges.
+ nal(3C)). The process calling acct() must have the {PRIV_SYS_ACCT}
+ privilege.
The path argument points to the pathname of the accounting file, whose
file format is described on the acct.h(3HEAD) manual page.
- The accounting routine is enabled if path is non-zero and no errors
- occur during the function. It is disabled if path is (char *)NULL and
- no errors occur during the function.
+ The accounting routine is enabled if path is non-null and no errors
+ occur during the function. It is disabled if path is NULL and no errors
+ occur during the function.
RETURN VALUES
Upon successful completion, 0 is returned. Otherwise, -1 is returned
@@ -67,9 +67,25 @@
EROFS The named file resides on a read-only file system.
+ATTRIBUTES
+ See attributes(7) for descriptions of the following attributes:
+
+
+ +-----------------------------+-----------------------------+
+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+ +-----------------------------+-----------------------------+
+ |Interface Stability |Committed |
+ +-----------------------------+-----------------------------+
+ |Standard |None |
+ +-----------------------------+-----------------------------+
+
SEE ALSO
- exit(2), signal(3C), acct.h(3HEAD), privileges(7)
+ exit(2), getacct(2), signal(3C), acct.h(3HEAD), privileges(7), acct(8)
+
+HISTORY
+ The acct() function has been included in all Sun and Oracle releases of
+ Solaris.
-Oracle Solaris 11.4 20 Jan 2003 acct(2)
+Oracle Solaris 11.4 30 Jan 2023 acct(2)
diff -NurbBw 11.4.54/man2/acl.2 11.4.57/man2/acl.2
--- 11.4.54/man2/acl.2 2023-05-24 15:26:45.020878127 -0700
+++ 11.4.57/man2/acl.2 2023-05-24 15:27:24.423144542 -0700
@@ -14,11 +14,10 @@
int facl(int fildes, int cmd, int nentries, void *aclbufp);
DESCRIPTION
- The acl() and facl() functions get or set the ACL of a file whose name
- is given by pathp or referenced by the open file descriptor fildes. The
- nentries argument specifies how many ACL entries fit into buffer
- aclbufp. The acl() function is used to manipulate ACL on file system
- objects.
+ The acl() and facl() functions get or set the Access Control List (ACL)
+ of a file whose name is given by pathp or referenced by the open file
+ descriptor fildes. The nentries argument specifies how many ACL entries
+ fit into buffer aclbufp.
The following types are supported for aclbufp:
@@ -30,6 +29,9 @@
+ These types are described in more detail in the acl(7) manual page.
+
+
The following values for cmd are supported:
SETACL nentries aclent_t ACL entries, specified in buffer
@@ -64,13 +66,13 @@
RETURN VALUES
- Upon successful completion, acl() and facl() return 0 if cmd is SETACL
- or ACE_SETACL. If cmd is GETACL, GETACLCNT, ACE_GETACL or ACE_GETA-
- CLCNT, the number of ACL entries is returned. Otherwise, -1 is returned
- and errno is set to indicate the error.
+ If cmd is SETACL or ACE_SETACL, 0 is returned upon successful comple-
+ tion. If cmd is GETACL, GETACLCNT, ACE_GETACL or ACE_GETACLCNT, the
+ number of ACL entries is returned upon successful completion. Other-
+ wise, -1 is returned and errno is set to indicate the error.
ERRORS
- The acl() function will fail if:
+ The acl() and facl() functions will fail if:
EACCES The caller does not have access to a component of the path-
name; the cmd argument is ACE_SETACL or SETACL and the call-
@@ -78,13 +80,16 @@
specified ACE types.
+ EBADF The filedes argument is not a valid open file descriptor.
+
+
EFAULT The pathp or aclbufp argument points to an illegal address.
- EINVAL The cmd argument is not GETACL, SETACL, ACE_GETACL, GETA-
- CLCNT, or ACE_GETACLCNT; the cmd argument is SETACL and nen-
- tries is less than 3; or the cmd argument is SETACL or
- ACE_SETACL and the ACL specified in aclbufp is not valid.
+ EINVAL The cmd argument is not one of the values listed above; the
+ cmd argument is SETACL and nentries is less than 3; or the
+ cmd argument is SETACL or ACE_SETACL and the ACL specified
+ in aclbufp is not valid.
EIO A disk I/O error has occurred while storing or retrieving
@@ -102,8 +107,7 @@
ENOSYS The cmd argument is SETACL or ACE_SETACL and the file speci-
fied by pathp resides on a file system that does not support
- ACLs, or the acl() function is not supported by this imple-
- mentation.
+ ACLs.
ENOTDIR A component of the path specified by pathp is not a direc-
@@ -133,6 +137,11 @@
only.
+USAGE
+ To determine which types of ACL, if any, are supported with a given
+ file, use the pathconf(2) and fpathconf(2) functions with a value of
+ _PC_ACL_ENABLED for their name argument.
+
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
@@ -144,8 +153,17 @@
+-----------------------------+-----------------------------+
SEE ALSO
- aclcheck(3SEC), aclsort(3SEC), acl(7), sysattr(7)
+ fpathconf(2), pathconf(2), aclcheck(3SEC), aclsort(3SEC), acl(7),
+ sysattr(7)
+
+HISTORY
+ The ace_t type, and the corresponding ACE_* values for cmd, were added
+ to Oracle Solaris in Solaris 10 3/05.
+
+
+ The acl() and facl() functions and aclent_t type were added to Solaris
+ in Solaris 2.5.
-Oracle Solaris 11.4 21 Mar 2022 acl(2)
+Oracle Solaris 11.4 30 Jan 2023 acl(2)
diff -NurbBw 11.4.54/man2/adi_blksz.2 11.4.57/man2/adi_blksz.2
--- 11.4.54/man2/adi_blksz.2 2023-05-24 15:26:45.061445108 -0700
+++ 11.4.57/man2/adi_blksz.2 2023-05-24 15:27:24.464005523 -0700
@@ -80,13 +80,11 @@
ERRORS
All adi(2) family functions will fail if:
-
ENOTSUP
o ADI is not supported by the platform.
- o ADI is not supported for 32-bit processes.
-
+ o The function is called from a 32-bit process.
@@ -133,7 +128,8 @@
/*
* Remove the version and normalize an address.
*/
- normal_addr = (caddr_t) (((((long)versioned_addr) << nbits) >> nbits));
+ normal_addr = (caddr_t)
+ (((((long)versioned_addr) << nbits) >> nbits));
}
@@ -153,6 +148,9 @@
SEE ALSO
adi(3C), adi(7), attributes(7), standards(7)
+HISTORY
+ These functions were added in the Oracle Solaris 11.2.8 release.
+
-Oracle Solaris 11.4 2 Feb 2019 adi(2)
+Oracle Solaris 11.4 30 Jan 2023 adi(2)
diff -NurbBw 11.4.54/man2/adi_get_enabled.2 11.4.57/man2/adi_get_enabled.2
--- 11.4.54/man2/adi_get_enabled.2 2023-05-24 15:26:45.089828463 -0700
+++ 11.4.57/man2/adi_get_enabled.2 2023-05-24 15:27:24.500914547 -0700
@@ -80,13 +80,11 @@
ERRORS
All adi(2) family functions will fail if:
-
ENOTSUP
o ADI is not supported by the platform.
- o ADI is not supported for 32-bit processes.
-
+ o The function is called from a 32-bit process.
@@ -133,7 +128,8 @@
/*
* Remove the version and normalize an address.
*/
- normal_addr = (caddr_t) (((((long)versioned_addr) << nbits) >> nbits));
+ normal_addr = (caddr_t)
+ (((((long)versioned_addr) << nbits) >> nbits));
}
@@ -153,6 +148,9 @@
SEE ALSO
adi(3C), adi(7), attributes(7), standards(7)
+HISTORY
+ These functions were added in the Oracle Solaris 11.2.8 release.
+
-Oracle Solaris 11.4 2 Feb 2019 adi(2)
+Oracle Solaris 11.4 30 Jan 2023 adi(2)
diff -NurbBw 11.4.54/man2/adi_set_enabled.2 11.4.57/man2/adi_set_enabled.2
--- 11.4.54/man2/adi_set_enabled.2 2023-05-24 15:26:45.125725369 -0700
+++ 11.4.57/man2/adi_set_enabled.2 2023-05-24 15:27:24.559999791 -0700
@@ -80,13 +80,11 @@
ERRORS
All adi(2) family functions will fail if:
-
ENOTSUP
o ADI is not supported by the platform.
- o ADI is not supported for 32-bit processes.
-
+ o The function is called from a 32-bit process.
@@ -133,7 +128,8 @@
/*
* Remove the version and normalize an address.
*/
- normal_addr = (caddr_t) (((((long)versioned_addr) << nbits) >> nbits));
+ normal_addr = (caddr_t)
+ (((((long)versioned_addr) << nbits) >> nbits));
}
@@ -153,6 +148,9 @@
SEE ALSO
adi(3C), adi(7), attributes(7), standards(7)
+HISTORY
+ These functions were added in the Oracle Solaris 11.2.8 release.
+
-Oracle Solaris 11.4 2 Feb 2019 adi(2)
+Oracle Solaris 11.4 30 Jan 2023 adi(2)
diff -NurbBw 11.4.54/man2/adi_version_max.2 11.4.57/man2/adi_version_max.2
--- 11.4.54/man2/adi_version_max.2 2023-05-24 15:26:45.161371998 -0700
+++ 11.4.57/man2/adi_version_max.2 2023-05-24 15:27:24.607544190 -0700
@@ -80,13 +80,11 @@
ERRORS
All adi(2) family functions will fail if:
-
ENOTSUP
o ADI is not supported by the platform.
- o ADI is not supported for 32-bit processes.
-
+ o The function is called from a 32-bit process.
@@ -133,7 +128,8 @@
/*
* Remove the version and normalize an address.
*/
- normal_addr = (caddr_t) (((((long)versioned_addr) << nbits) >> nbits));
+ normal_addr = (caddr_t)
+ (((((long)versioned_addr) << nbits) >> nbits));
}
@@ -153,6 +148,9 @@
SEE ALSO
adi(3C), adi(7), attributes(7), standards(7)
+HISTORY
+ These functions were added in the Oracle Solaris 11.2.8 release.
+
-Oracle Solaris 11.4 2 Feb 2019 adi(2)
+Oracle Solaris 11.4 30 Jan 2023 adi(2)
diff -NurbBw 11.4.54/man2/adi_version_nbits.2 11.4.57/man2/adi_version_nbits.2
--- 11.4.54/man2/adi_version_nbits.2 2023-05-24 15:26:45.204051439 -0700
+++ 11.4.57/man2/adi_version_nbits.2 2023-05-24 15:27:24.637140294 -0700
@@ -80,13 +80,11 @@
ERRORS
All adi(2) family functions will fail if:
-
ENOTSUP
o ADI is not supported by the platform.
- o ADI is not supported for 32-bit processes.
-
+ o The function is called from a 32-bit process.
@@ -133,7 +128,8 @@
/*
* Remove the version and normalize an address.
*/
- normal_addr = (caddr_t) (((((long)versioned_addr) << nbits) >> nbits));
+ normal_addr = (caddr_t)
+ (((((long)versioned_addr) << nbits) >> nbits));
}
@@ -153,6 +148,9 @@
SEE ALSO
adi(3C), adi(7), attributes(7), standards(7)
+HISTORY
+ These functions were added in the Oracle Solaris 11.2.8 release.
+
-Oracle Solaris 11.4 2 Feb 2019 adi(2)
+Oracle Solaris 11.4 30 Jan 2023 adi(2)
diff -NurbBw 11.4.54/man2/adi.2 11.4.57/man2/adi.2
--- 11.4.54/man2/adi.2 2023-05-24 15:26:45.241906148 -0700
+++ 11.4.57/man2/adi.2 2023-05-24 15:27:24.665239615 -0700
@@ -80,13 +80,11 @@
ERRORS
All adi(2) family functions will fail if:
-
ENOTSUP
o ADI is not supported by the platform.
- o ADI is not supported for 32-bit processes.
-
+ o The function is called from a 32-bit process.
@@ -133,7 +128,8 @@
/*
* Remove the version and normalize an address.
*/
- normal_addr = (caddr_t) (((((long)versioned_addr) << nbits) >> nbits));
+ normal_addr = (caddr_t)
+ (((((long)versioned_addr) << nbits) >> nbits));
}
@@ -153,6 +148,9 @@
SEE ALSO
adi(3C), adi(7), attributes(7), standards(7)
+HISTORY
+ These functions were added in the Oracle Solaris 11.2.8 release.
+
-Oracle Solaris 11.4 2 Feb 2019 adi(2)
+Oracle Solaris 11.4 30 Jan 2023 adi(2)
diff -NurbBw 11.4.54/man2/adjtime.2 11.4.57/man2/adjtime.2
--- 11.4.54/man2/adjtime.2 2023-05-24 15:26:45.275289125 -0700
+++ 11.4.57/man2/adjtime.2 2023-05-24 15:27:24.703015459 -0700
@@ -39,8 +39,8 @@
them to the average network time.
- Only a processes with appropriate privileges can adjust the time of
- day.
+ Only a process with the {PRIV_SYS_TIME} privilege can adjust the time
+ of day.
The adjustment value will be silently rounded to the resolution of the
@@ -73,17 +73,32 @@
- Additionally, the adjtime() function will fail for 32-bit interfaces
- if:
+ Additionally, the adjtime() function will fail for 32-bit processes if:
EOVERFLOW The size of the tv_sec member of the timeval structure
pointed to by olddelta is too small to contain the correct
number of seconds.
+ATTRIBUTES
+ See attributes(7) for descriptions of the following attributes:
+
+
+ +-----------------------------+-----------------------------+
+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+ +-----------------------------+-----------------------------+
+ |Interface Stability |Committed |
+ +-----------------------------+-----------------------------+
+ |Standard |None |
+ +-----------------------------+-----------------------------+
+
SEE ALSO
- date(1), gettimeofday(3C), privileges(7), zonecfg(8)
+ date(1), ntp_adjtime(2), gettimeofday(3C), privileges(7), zonecfg(8)
+
+HISTORY
+ The adjtime() function has been included in all Sun and Oracle releases
+ of Solaris.
-Oracle Solaris 11.4 29 Jul 2015 adjtime(2)
+Oracle Solaris 11.4 30 Jan 2023 adjtime(2)
diff -NurbBw 11.4.54/man2/alarm.2 11.4.57/man2/alarm.2
--- 11.4.54/man2/alarm.2 2023-05-24 15:26:45.302437971 -0700
+++ 11.4.57/man2/alarm.2 2023-05-24 15:27:24.742673022 -0700
@@ -58,8 +58,18 @@
+-----------------------------+-----------------------------+
SEE ALSO
- exec(2), fork(2), signal.h(3HEAD), attributes(7), standards(7)
+ exec(2), fork(2), setitimer(2), timer_create(3C), signal.h(3HEAD),
+ attributes(7), standards(7)
+NOTES
+ The alarm() function is independent of the setitimer(2) and sleep(3C)
+ functions on Oracle Solaris, but this cannot be relied upon for some
+ other operating systems.
+HISTORY
+ The alarm() function has been included in all Sun and Oracle releases
+ of Solaris.
-Oracle Solaris 11.4 6 Jun 2007 alarm(2)
+
+
+Oracle Solaris 11.4 30 Jan 2023 alarm(2)
diff -NurbBw 11.4.54/man2/brk.2 11.4.57/man2/brk.2
--- 11.4.54/man2/brk.2 2023-05-24 15:26:45.361013463 -0700
+++ 11.4.57/man2/brk.2 2023-05-24 15:27:24.794202770 -0700
@@ -15,14 +15,14 @@
void *sbrk(intptr_t incr);
DESCRIPTION
- The brk() and sbrk() functions are used to change dynamically the
- amount of space allocated for the calling process's data segment (see
- exec(2)). The change is made by resetting the process's break value and
- allocating the appropriate amount of space. The break value is the
- address of the first location beyond the end of the data segment. The
- amount of allocated space increases as the break value increases. Newly
- allocated space is set to zero. If, however, the same memory space is
- reallocated to the same process its contents are undefined.
+ The brk() and sbrk() functions are used to change the amount of space
+ allocated for the calling process's data segment (see exec(2)). The
+ change is made by resetting the process's break value and allocating
+ the appropriate amount of space. The break value is the address of the
+ first location beyond the end of the data segment. The amount of allo-
+ cated space increases as the break value increases. Newly allocated
+ space is set to zero. If, however, the same memory space is reallocated
+ to the same process its contents are undefined.
When a program begins execution using execve() the break is set at the
@@ -55,13 +55,12 @@
The brk() and sbrk() functions will fail and no additional memory will
be allocated if:
- ENOMEM The data segment size limit as set by setrlimit() (see getr-
- limit(2)) would be exceeded; the maximum possible size of a
- data segment (compiled into the system) would be exceeded;
- insufficient space exists in the swap area to support the
- expansion; or the new break value would extend into an area
- of the address space defined by some previously established
- mapping (see mmap(2)).
+ ENOMEM The data segment size limit as set by setrlimit(2) would be
+ exceeded; the maximum possible size of a data segment would
+ be exceeded; insufficient space exists in the swap area to
+ support the expansion; or the new break value would extend
+ into an area of the address space defined by some previously
+ established mapping (see mmap(2)).
EAGAIN Total amount of system memory available for private pages is
@@ -83,6 +82,14 @@
It is unspecified whether the pointer returned by sbrk() is aligned
suitably for any purpose.
+
+ Memory allocated by this function may be on pages with the PROT_EXEC
+ access protections disabled to block execution of machine instructions,
+ depending on the current settings for NXHEAP in sxadm(8) and any -z
+ sx=nxheap options that were passed to ld(1) when linking the applica-
+ tion. These settings may be overridden for specific pages by calling
+ mprotect(2).
+
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
@@ -90,12 +97,14 @@
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
+ |Interface Stability |Committed |
+ +-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO
- exec(2), getrlimit(2), mmap(2), shmop(2), ulimit(2), end(3C), free(3C),
- malloc(3C)
+ exec(2), getrlimit(2), mmap(2), mprotect(2), shmop(2), ulimit(2),
+ end(3C), free(3C), malloc(3C)
NOTES
The value of incr may be adjusted by the system before setting the new
@@ -114,6 +123,10 @@
not possible to distinguish this from a failure caused by exceeding the
maximum size of the data segment without consulting getrlimit().
+HISTORY
+ The brk() and sbrk() functions have been included in all Sun and Oracle
+ releases of Solaris.
+
-Oracle Solaris 11.4 14 Jan 1997 brk(2)
+Oracle Solaris 11.4 30 Jan 2023 brk(2)
diff -NurbBw 11.4.54/man2/chdir.2 11.4.57/man2/chdir.2
--- 11.4.54/man2/chdir.2 2023-05-24 15:26:45.411234682 -0700
+++ 11.4.57/man2/chdir.2 2023-05-24 15:27:24.864564339 -0700
@@ -15,10 +15,10 @@
DESCRIPTION
The chdir() and fchdir() functions cause a directory pointed to by path
- or fildes to become the current working directory. The starting point
- for path searches for path names not beginning with / (slash). The path
- argument points to the path name of a directory. The fildes argument is
- an open file descriptor of a directory.
+ or fildes to become the current working directory, which is the start-
+ ing point for path searches for path names not beginning with /
+ (slash). The path argument points to the path name of a directory. The
+ fildes argument is an open file descriptor of a directory.
For a directory to become the current directory, a process must have
@@ -109,6 +109,10 @@
SEE ALSO
chroot(2), attributes(7), standards(7)
+HISTORY
+ The chdir() and fchdir() functions have been included in all Sun and
+ Oracle releases of Solaris.
-Oracle Solaris 11.4 28 Dec 1996 chdir(2)
+
+Oracle Solaris 11.4 30 Jan 2023 chdir(2)
diff -NurbBw 11.4.54/man2/chmod.2 11.4.57/man2/chmod.2
--- 11.4.54/man2/chmod.2 2023-05-24 15:26:45.455480379 -0700
+++ 11.4.57/man2/chmod.2 2023-05-24 15:27:24.899775760 -0700
@@ -53,8 +53,9 @@
of a file.
- If the process is not a privileged process and the file is not a direc-
- tory, mode bit 01000 (S_ISVTX, the sticky bit) is cleared.
+ If the process does not have the {PRIV_SYS_CONFIG} privilege, and the
+ file is not a directory, mode bit 01000 (S_ISVTX, the sticky bit) is
+ cleared.
If neither the process is privileged nor the file's group is a member
@@ -395,4 +396,4 @@
-Oracle Solaris 11.4 21 Mar 2022 chmod(2)
+Oracle Solaris 11.4 30 Jan 2023 chmod(2)
diff -NurbBw 11.4.54/man2/chroot.2 11.4.57/man2/chroot.2
--- 11.4.54/man2/chroot.2 2023-05-24 15:26:45.494464308 -0700
+++ 11.4.57/man2/chroot.2 2023-05-24 15:27:24.928229301 -0700
@@ -101,8 +101,29 @@
tive set of the calling process.
+USAGE
+ These functions do not provide a strong security boundary; programs can
+ easily escape the new root. In addition, configuring a proper root area
+ is complex, and the result requires ongoing manual maintenance, and the
+ system provides little assistance. To provide more secure isolation on
+ Oracle Solaris, with simpler and more powerful configuration, and sup-
+ port, the use of zones(7) is recommended in preference to chroot() or
+ fchroot().
+
+ATTRIBUTES
+ See attributes(7) for descriptions of the following attributes:
+
+
+ +-----------------------------+-----------------------------+
+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+ +-----------------------------+-----------------------------+
+ |Interface Stability |Committed |
+ +-----------------------------+-----------------------------+
+ |Standard |See standards(7). |
+ +-----------------------------+-----------------------------+
+
SEE ALSO
- chdir(2), privileges(7), chroot(8)
+ chdir(2), privileges(7), zones(7), chroot(8)
WARNINGS
The only use of fchroot() that is appropriate is to change back to the
@@ -114,4 +135,4 @@
-Oracle Solaris 11.4 17 Sep 2020 chroot(2)
+Oracle Solaris 11.4 30 Jan 2023 chroot(2)
diff -NurbBw 11.4.54/man2/close.2 11.4.57/man2/close.2
--- 11.4.54/man2/close.2 2023-05-24 15:26:45.524488595 -0700
+++ 11.4.57/man2/close.2 2023-05-24 15:27:24.981763021 -0700
@@ -31,7 +31,7 @@
When all file descriptors associated with an open file description have
- been closed the open file description will be freed.
+ been closed, the open file description will be freed.
If the link count of the file is 0, when all file descriptors associ-
@@ -89,11 +89,11 @@
object will be removed.
- If fildes refers to a socket, close() causes the socket to be
- destroyed. If the socket is connection-mode, and the SO_LINGER option
- is set for the socket with non-zero linger time, and the socket has
- untransmitted data, then close() will block for up to the current
- linger interval until all data is transmitted.
+ When all file descriptors associated with a socket have been closed,
+ the socket shall be destroyed. If the socket is connection-mode, and
+ the SO_LINGER option is set for the socket with non-zero linger time,
+ and the socket has untransmitted data, then close() will block for up
+ to the current linger interval until all data is transmitted.
RETURN VALUES
Upon successful completion, 0 is returned. Otherwise, -1 is returned
@@ -207,8 +207,12 @@
SEE ALSO
dup(2), creat(2), exec(2), fcntl(2), Intro(2), ioctl(2), open(2),
pipe(2), fattach(3C), fclose(3C), fdetach(3C), fopen(3C), signal(3C),
- signal.h(3HEAD), streamio(4I), attributes(7), standards(7)
+ socket(3C), signal.h(3HEAD), streamio(4I), attributes(7), standards(7)
+HISTORY
+ The close() function has been included in all Sun and Oracle releases
+ of Solaris.
-Oracle Solaris 11.4 25 Sep 2020 close(2)
+
+Oracle Solaris 11.4 30 Jan 2023 close(2)
diff -NurbBw 11.4.54/man2/creat.2 11.4.57/man2/creat.2
--- 11.4.54/man2/creat.2 2023-05-24 15:26:45.551257741 -0700
+++ 11.4.57/man2/creat.2 2023-05-24 15:27:25.053384679 -0700
@@ -14,12 +14,11 @@
DESCRIPTION
The function call
-
creat(path, mode)
- is equivalent to:
+ is equivalent to:
open(path, O_WRONLY | O_CREAT | O_TRUNC, mode)
@@ -43,7 +43,7 @@
...
int fd;
mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH;
- char *filename = "/tmp/file";
+ const char *filename = "/tmp/file";
...
fd = creat(filename, mode);
...
@@ -71,6 +70,10 @@
SEE ALSO
open(2), attributes(7), lf64(7), standards(7)
+HISTORY
+ The creat() function has been included in all Sun and Oracle releases
+ of Solaris.
+
-Oracle Solaris 11.4 25 Mar 2002 creat(2)
+Oracle Solaris 11.4 30 Jan 2023 creat(2)
diff -NurbBw 11.4.54/man2/dup.2 11.4.57/man2/dup.2
--- 11.4.54/man2/dup.2 2023-05-24 15:26:45.588127785 -0700
+++ 11.4.57/man2/dup.2 2023-05-24 15:27:25.090158737 -0700
@@ -14,7 +14,7 @@
The dup() function returns a new file descriptor having the following
in common with the original open file descriptor fildes:
- o same open file (or pipe)
+ o same open file object
o same file pointer (that is, both file descriptors share one
@@ -59,6 +59,10 @@
that machine is no longer active.
+USAGE
+ Additional options are available via the alternative functions dup2(3C)
+ and dup3(3C), or by using the F_DUP* command arguments to fcntl(2).
+
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
@@ -75,8 +79,12 @@
SEE ALSO
exec(2), close(2), creat(2), fcntl(2), getrlimit(2), open(2), pipe(2),
- dup2(3C), lockf(3C), attributes(7), standards(7)
+ dup2(3C), dup3(3C), lockf(3C), attributes(7), standards(7)
+
+HISTORY
+ The dup() function has been included in all Sun and Oracle releases of
+ Solaris.
-Oracle Solaris 11.4 17 Aug 2018 dup(2)
+Oracle Solaris 11.4 30 Jan 2023 dup(2)
diff -NurbBw 11.4.54/man2/euidaccess.2 11.4.57/man2/euidaccess.2
--- 11.4.54/man2/euidaccess.2 2023-05-24 15:26:45.627626291 -0700
+++ 11.4.57/man2/euidaccess.2 2023-05-24 15:27:25.133552450 -0700
@@ -26,10 +26,6 @@
had permission to access this file.
- The euidaccess() is equivalent to the access() but uses the effective
- user ID and the effective group ID.
-
-
The value of amode is either the bitwise inclusive OR of the access
permissions to be checked (R_OK, W_OK, X_OK) or the existence test,
F_OK.
@@ -50,7 +46,10 @@
- See Intro(2) for additional information about "File Access Permission".
+ See the "File Access Permissions" section of Intro(2) for additional
+ information. As described there, access may be permitted by the permis-
+ sion bits in the file mode, entries in an Access Control List, or priv-
+ ileges currently asserted for the process.
If any access permissions are to be checked, each will be checked indi-
@@ -79,23 +78,28 @@
group ID as required in a call to access().
+
+ The euidaccess() function is equivalent to the faccessat() function
+ with an fd of AT_FDCWD and a flag of AT_EACCESS, so that it checks for
+ access using the effective user ID and the effective group ID.
+
RETURN VALUES
- If the requested access is permitted, access(), euidaccess() and fac-
+ If the requested access is permitted, access(), euidaccess(), and fac-
cessat()succeed and return 0. Otherwise, -1 is returned and errno is
set to indicate the error.
ERRORS
- The access() and faccessat() functions will fail if:
+ The access(), euidaccess(), and faccessat() functions will fail if:
- EACCES Permission bits of the file mode do not permit the
- requested access, or search permission is denied on a
- component of the path prefix.
+ EACCES Permissions of the file do not permit the requested
+ access, or search permission is denied on a component
+ of the path prefix.
EFAULT The path argument points to an illegal address.
- EINTR A signal was caught during the access() function.
+ EINTR A signal was caught during the function.
ELOOP Too many symbolic links were encountered in resolving
@@ -137,7 +141,7 @@
- The access() and faccessat() functions may fail if:
+ The access(), euidaccess(), and faccessat() functions may fail if:
EINVAL The value of the amode argument is invalid.
@@ -189,12 +193,39 @@
|Standard |See below. |
+-----------------------------+-----------------------------+
+ Standard
+ See standards(7) for descriptions of the following standards:
+
- For access(), see standards(7).
+ +-----------------------+-----------------------------------+
+ | INTERFACES | APPLICABLE STANDARDS |
+ +-----------------------+-----------------------------------+
+ |access() | POSIX.1-1990 through 2008, |
+ | | SUS through SUSv4, |
+ | | XPG1 through XPG7 |
+ | | |
+ +-----------------------+-----------------------------------+
+ |faccessat() | SUSv4, |
+ | | XPG7 |
+ | | |
+ +-----------------------+-----------------------------------+
+ |euidaccess() | None |
+ +-----------------------+-----------------------------------+
SEE ALSO
- chmod(2), Intro(2), stat(2), attributes(7), standards(7)
+ chmod(2), Intro(2), stat(2), acl(7), attributes(7), standards(7)
+
+HISTORY
+ The euidaccess() function was added to Oracle Solaris in Solaris
+ 11.4.0.
+
+
+ The faccessat() function was added to Oracle Solaris in Solaris 11.0.0.
+
+
+ The access() function has been included in all Sun and Oracle releases
+ of Solaris.
-Oracle Solaris 11.4 22 Jan 2018 access(2)
+Oracle Solaris 11.4 30 Jan 2023 access(2)
diff -NurbBw 11.4.54/man2/exec.2 11.4.57/man2/exec.2
--- 11.4.54/man2/exec.2 2023-05-24 15:26:45.673942846 -0700
+++ 11.4.57/man2/exec.2 2023-05-24 15:27:25.185124750 -0700
@@ -40,32 +40,49 @@
DESCRIPTION
Each of the functions in the exec family replaces the current process
image with a new process image. The new image is constructed from a
- regular, executable file called the new process image file. This file
- is either an executable object file or a file of data for an inter-
- preter. There is no return from a successful call to one of these func-
- tions because the calling process image is overlaid by the new process
- image.
+ regular, executable file called the new process image file. There is no
+ return from a successful call to one of these functions because the
+ calling process image is overlaid by the new process image.
- The fexecve() function behaves like execve(), except that the file to
- be executed is specified by the file descriptor fd rather than by a
- pathname. The file offset of fd is ignored.
+ The new process image file can be a binary executable object file, as
+ described in the a.out(5) man page. Alternatively, the process image
+ file can be an interpreted file. Interpreted files are run by loading a
+ binary executable to serve as an interpreter, and passing the inter-
+ preted file to it as input.
- An interpreter file begins with a line of the form
+ Interpreted files, and interpreters, are a general concept, and can be
+ applied to a wide range of programs. A common case is that of input to
+ a command shell program. In such cases, the interpreted file is com-
+ monly referred to as a shell script, and the interpreter as a shell.
+
+
+ An interpreted file begins with a line of the form
#! pathname [arg]
where pathname is the path of the interpreter, and arg is an optional
- argument. When an interpreter file is executed, the system invokes the
- specified interpreter. The pathname specified in the interpreter file
- is passed as arg0 to the interpreter. If arg was specified in the
- interpreter file, it is passed as arg1 to the interpreter. The remain-
- ing arguments to the interpreter are arg0 through argn of the origi-
- nally exec'd file. The interpreter named by pathname must not be an
- interpreter file.
+ argument. If this initial line is missing, the execlp(), execvp(),
+ execvpe(), and posix_spawnp(3C) functions will attempt to use a shell
+ as interpreter, where the standard to which the caller conforms deter-
+ mines which shell is used. See the "Utilities" section of the stan-
+ dards(7) man page.
+
+
+ To execute an interpreted file, the system invokes the specified inter-
+ preter, and provides the interpreted file to it as input to be pro-
+ cessed. The interpreter path is passed as argv[0] to the interpreter.
+ If arg was specified in the interpreted file, it is passed as the next
+ argument, argv[1]. Any arguments passed to the exec() system call are
+ placed following these initial arguments.
+
+
+ The interpreted file concept has a single level. The interpreter speci-
+ fied on the first line of an interpreted file must be an executable
+ object file, and cannot be another interpreted file.
When a C-language program is executed as a result of this call, it is
@@ -100,20 +117,37 @@
passed on to the new process image in the main() arguments.
- The path argument points to a path name that identifies the new process
- image file.
+ The selection of the file to execute depends on which function is
+ called:
+
+
+ execl(), execv(), execle(), execve()
+
+ The path argument points to a pathname that identifies the new
+ process image file.
+
+
+ fexecve()
+
+ The new process image file is specified by the file descriptor fd
+ rather than by a pathname. The file offset of fd is ignored. See
+ the USAGE section below.
- The file argument is used to construct a pathname that identifies the
- new process image file. If the file argument contains a slash charac-
- ter, it is used as the pathname for this file. Otherwise, the path pre-
- fix for this file is obtained by a search of the directories passed in
- the PATH environment variable (see environ(7)). The environment is sup-
- plied typically by the shell. If the process image file is not a valid
- executable object file, execlp(), execvp() and execvpe() use the con-
- tents of that file as standard input to the shell. In this case, the
- shell becomes the new process image. The standard to which the caller
- conforms determines which shell is used. See standards(7).
+ execlp(), execvp(), execvpe()
+
+ The file argument is used to construct a pathname that identifies
+ the new process image file. If the file argument contains a slash
+ character, it is used as the pathname for this file. Otherwise, the
+ path prefix for this file is obtained by a search of the directo-
+ ries passed in the PATH environment variable (see environ(7)). The
+ environment is supplied typically by the shell. If the process
+ image file is not a in a supported file format, execlp(), execvp()
+ and execvpe() use the contents of that file as standard input to
+ the shell. In this case, the shell becomes the new process image.
+ The standard to which the caller conforms determines which shell is
+ used. See standards(7).
+
The arguments represented by arg0... are pointers to null-terminated
@@ -200,7 +234,7 @@
set to the group ID of the new process image file. The real user ID and
real group ID of the new process image remain the same as those of the
calling process image. The effective user ID and effective group ID of
- the new process image are saved (as the saved set-user-ID and the saved
+ the new process image are saved as the saved set-user-ID and the saved
set-group-ID for use by setuid(2).
@@ -245,7 +279,7 @@
If _XOPEN_REALTIME is defined and has a value other than -1, any named
semaphores open in the calling process are closed as if by appropriate
- calls to sem_close(3C)
+ calls to sem_close(3C).
Profiling is disabled for the new process; see profil(2).
@@ -552,16 +586,26 @@
ksh(1), ps(1), sh(1), alarm(2), brk(2), chmod(2), execvex(2), exit(2),
fcntl(2), fork(2), getpflags(2), getrlimit(2), memcntl(2), mmap(2),
nice(2), priocntl(2), profil(2), semop(2), shmop(2), sigpending(2),
- sigprocmask(2), times(2), umask(2), lockf(3C), posix_spawn(3C),
- ptrace(3C), setlocale(3C), signal(3C), system(3C), timer_create(3C),
- a.out(5), contract(5), process(5), attributes(7), environ(7), privi-
- leges(7), standards(7)
+ sigprocmask(2), spawn(2), times(2), umask(2), lockf(3C),
+ posix_spawn(3C), ptrace(3C), setlocale(3C), signal(3C), system(3C),
+ timer_create(3C), a.out(5), contract(5), process(5), attributes(7),
+ environ(7), privileges(7), standards(7)
WARNINGS
If a program is setuid to a user ID other than the superuser, and the
program is executed when the real user ID is super-user, then the pro-
gram has some of the powers of a super-user as well.
+HISTORY
+ The execvpe() function was added to Oracle Solaris in Solaris 11.4.0.
+
+
+ The fexecve() function was added to Oracle Solaris in Solaris 11.0.0.
+
+
+ The execl(), execle(), execlp(), execv(), execve(), and execvp() func-
+ tions have been included in all Sun and Oracle releases of Solaris.
+
-Oracle Solaris 11.4 11 May 2021 exec(2)
+Oracle Solaris 11.4 30 Jan 2023 exec(2)
diff -NurbBw 11.4.54/man2/execl.2 11.4.57/man2/execl.2
--- 11.4.54/man2/execl.2 2023-05-24 15:26:45.720171279 -0700
+++ 11.4.57/man2/execl.2 2023-05-24 15:27:25.222437055 -0700
@@ -40,32 +40,49 @@
DESCRIPTION
Each of the functions in the exec family replaces the current process
image with a new process image. The new image is constructed from a
- regular, executable file called the new process image file. This file
- is either an executable object file or a file of data for an inter-
- preter. There is no return from a successful call to one of these func-
- tions because the calling process image is overlaid by the new process
- image.
+ regular, executable file called the new process image file. There is no
+ return from a successful call to one of these functions because the
+ calling process image is overlaid by the new process image.
- The fexecve() function behaves like execve(), except that the file to
- be executed is specified by the file descriptor fd rather than by a
- pathname. The file offset of fd is ignored.
+ The new process image file can be a binary executable object file, as
+ described in the a.out(5) man page. Alternatively, the process image
+ file can be an interpreted file. Interpreted files are run by loading a
+ binary executable to serve as an interpreter, and passing the inter-
+ preted file to it as input.
- An interpreter file begins with a line of the form
+ Interpreted files, and interpreters, are a general concept, and can be
+ applied to a wide range of programs. A common case is that of input to
+ a command shell program. In such cases, the interpreted file is com-
+ monly referred to as a shell script, and the interpreter as a shell.
+
+
+ An interpreted file begins with a line of the form
#! pathname [arg]
where pathname is the path of the interpreter, and arg is an optional
- argument. When an interpreter file is executed, the system invokes the
- specified interpreter. The pathname specified in the interpreter file
- is passed as arg0 to the interpreter. If arg was specified in the
- interpreter file, it is passed as arg1 to the interpreter. The remain-
- ing arguments to the interpreter are arg0 through argn of the origi-
- nally exec'd file. The interpreter named by pathname must not be an
- interpreter file.
+ argument. If this initial line is missing, the execlp(), execvp(),
+ execvpe(), and posix_spawnp(3C) functions will attempt to use a shell
+ as interpreter, where the standard to which the caller conforms deter-
+ mines which shell is used. See the "Utilities" section of the stan-
+ dards(7) man page.
+
+
+ To execute an interpreted file, the system invokes the specified inter-
+ preter, and provides the interpreted file to it as input to be pro-
+ cessed. The interpreter path is passed as argv[0] to the interpreter.
+ If arg was specified in the interpreted file, it is passed as the next
+ argument, argv[1]. Any arguments passed to the exec() system call are
+ placed following these initial arguments.
+
+
+ The interpreted file concept has a single level. The interpreter speci-
+ fied on the first line of an interpreted file must be an executable
+ object file, and cannot be another interpreted file.
When a C-language program is executed as a result of this call, it is
@@ -100,20 +117,37 @@
passed on to the new process image in the main() arguments.
- The path argument points to a path name that identifies the new process
- image file.
+ The selection of the file to execute depends on which function is
+ called:
+
+
+ execl(), execv(), execle(), execve()
+
+ The path argument points to a pathname that identifies the new
+ process image file.
+
+
+ fexecve()
+
+ The new process image file is specified by the file descriptor fd
+ rather than by a pathname. The file offset of fd is ignored. See
+ the USAGE section below.
- The file argument is used to construct a pathname that identifies the
- new process image file. If the file argument contains a slash charac-
- ter, it is used as the pathname for this file. Otherwise, the path pre-
- fix for this file is obtained by a search of the directories passed in
- the PATH environment variable (see environ(7)). The environment is sup-
- plied typically by the shell. If the process image file is not a valid
- executable object file, execlp(), execvp() and execvpe() use the con-
- tents of that file as standard input to the shell. In this case, the
- shell becomes the new process image. The standard to which the caller
- conforms determines which shell is used. See standards(7).
+ execlp(), execvp(), execvpe()
+
+ The file argument is used to construct a pathname that identifies
+ the new process image file. If the file argument contains a slash
+ character, it is used as the pathname for this file. Otherwise, the
+ path prefix for this file is obtained by a search of the directo-
+ ries passed in the PATH environment variable (see environ(7)). The
+ environment is supplied typically by the shell. If the process
+ image file is not a in a supported file format, execlp(), execvp()
+ and execvpe() use the contents of that file as standard input to
+ the shell. In this case, the shell becomes the new process image.
+ The standard to which the caller conforms determines which shell is
+ used. See standards(7).
+
The arguments represented by arg0... are pointers to null-terminated
@@ -200,7 +234,7 @@
set to the group ID of the new process image file. The real user ID and
real group ID of the new process image remain the same as those of the
calling process image. The effective user ID and effective group ID of
- the new process image are saved (as the saved set-user-ID and the saved
+ the new process image are saved as the saved set-user-ID and the saved
set-group-ID for use by setuid(2).
@@ -245,7 +279,7 @@
If _XOPEN_REALTIME is defined and has a value other than -1, any named
semaphores open in the calling process are closed as if by appropriate
- calls to sem_close(3C)
+ calls to sem_close(3C).
Profiling is disabled for the new process; see profil(2).
@@ -552,16 +586,26 @@
ksh(1), ps(1), sh(1), alarm(2), brk(2), chmod(2), execvex(2), exit(2),
fcntl(2), fork(2), getpflags(2), getrlimit(2), memcntl(2), mmap(2),
nice(2), priocntl(2), profil(2), semop(2), shmop(2), sigpending(2),
- sigprocmask(2), times(2), umask(2), lockf(3C), posix_spawn(3C),
- ptrace(3C), setlocale(3C), signal(3C), system(3C), timer_create(3C),
- a.out(5), contract(5), process(5), attributes(7), environ(7), privi-
- leges(7), standards(7)
+ sigprocmask(2), spawn(2), times(2), umask(2), lockf(3C),
+ posix_spawn(3C), ptrace(3C), setlocale(3C), signal(3C), system(3C),
+ timer_create(3C), a.out(5), contract(5), process(5), attributes(7),
+ environ(7), privileges(7), standards(7)
WARNINGS
If a program is setuid to a user ID other than the superuser, and the
program is executed when the real user ID is super-user, then the pro-
gram has some of the powers of a super-user as well.
+HISTORY
+ The execvpe() function was added to Oracle Solaris in Solaris 11.4.0.
+
+
+ The fexecve() function was added to Oracle Solaris in Solaris 11.0.0.
+
+
+ The execl(), execle(), execlp(), execv(), execve(), and execvp() func-
+ tions have been included in all Sun and Oracle releases of Solaris.
+
-Oracle Solaris 11.4 11 May 2021 exec(2)
+Oracle Solaris 11.4 30 Jan 2023 exec(2)
diff -NurbBw 11.4.54/man2/execle.2 11.4.57/man2/execle.2
--- 11.4.54/man2/execle.2 2023-05-24 15:26:45.782372260 -0700
+++ 11.4.57/man2/execle.2 2023-05-24 15:27:25.258488656 -0700
@@ -40,32 +40,49 @@
DESCRIPTION
Each of the functions in the exec family replaces the current process
image with a new process image. The new image is constructed from a
- regular, executable file called the new process image file. This file
- is either an executable object file or a file of data for an inter-
- preter. There is no return from a successful call to one of these func-
- tions because the calling process image is overlaid by the new process
- image.
+ regular, executable file called the new process image file. There is no
+ return from a successful call to one of these functions because the
+ calling process image is overlaid by the new process image.
- The fexecve() function behaves like execve(), except that the file to
- be executed is specified by the file descriptor fd rather than by a
- pathname. The file offset of fd is ignored.
+ The new process image file can be a binary executable object file, as
+ described in the a.out(5) man page. Alternatively, the process image
+ file can be an interpreted file. Interpreted files are run by loading a
+ binary executable to serve as an interpreter, and passing the inter-
+ preted file to it as input.
- An interpreter file begins with a line of the form
+ Interpreted files, and interpreters, are a general concept, and can be
+ applied to a wide range of programs. A common case is that of input to
+ a command shell program. In such cases, the interpreted file is com-
+ monly referred to as a shell script, and the interpreter as a shell.
+
+
+ An interpreted file begins with a line of the form
#! pathname [arg]
where pathname is the path of the interpreter, and arg is an optional
- argument. When an interpreter file is executed, the system invokes the
- specified interpreter. The pathname specified in the interpreter file
- is passed as arg0 to the interpreter. If arg was specified in the
- interpreter file, it is passed as arg1 to the interpreter. The remain-
- ing arguments to the interpreter are arg0 through argn of the origi-
- nally exec'd file. The interpreter named by pathname must not be an
- interpreter file.
+ argument. If this initial line is missing, the execlp(), execvp(),
+ execvpe(), and posix_spawnp(3C) functions will attempt to use a shell
+ as interpreter, where the standard to which the caller conforms deter-
+ mines which shell is used. See the "Utilities" section of the stan-
+ dards(7) man page.
+
+
+ To execute an interpreted file, the system invokes the specified inter-
+ preter, and provides the interpreted file to it as input to be pro-
+ cessed. The interpreter path is passed as argv[0] to the interpreter.
+ If arg was specified in the interpreted file, it is passed as the next
+ argument, argv[1]. Any arguments passed to the exec() system call are
+ placed following these initial arguments.
+
+
+ The interpreted file concept has a single level. The interpreter speci-
+ fied on the first line of an interpreted file must be an executable
+ object file, and cannot be another interpreted file.
When a C-language program is executed as a result of this call, it is
@@ -100,20 +117,37 @@
passed on to the new process image in the main() arguments.
- The path argument points to a path name that identifies the new process
- image file.
+ The selection of the file to execute depends on which function is
+ called:
+
+
+ execl(), execv(), execle(), execve()
+
+ The path argument points to a pathname that identifies the new
+ process image file.
+
+
+ fexecve()
+
+ The new process image file is specified by the file descriptor fd
+ rather than by a pathname. The file offset of fd is ignored. See
+ the USAGE section below.
- The file argument is used to construct a pathname that identifies the
- new process image file. If the file argument contains a slash charac-
- ter, it is used as the pathname for this file. Otherwise, the path pre-
- fix for this file is obtained by a search of the directories passed in
- the PATH environment variable (see environ(7)). The environment is sup-
- plied typically by the shell. If the process image file is not a valid
- executable object file, execlp(), execvp() and execvpe() use the con-
- tents of that file as standard input to the shell. In this case, the
- shell becomes the new process image. The standard to which the caller
- conforms determines which shell is used. See standards(7).
+ execlp(), execvp(), execvpe()
+
+ The file argument is used to construct a pathname that identifies
+ the new process image file. If the file argument contains a slash
+ character, it is used as the pathname for this file. Otherwise, the
+ path prefix for this file is obtained by a search of the directo-
+ ries passed in the PATH environment variable (see environ(7)). The
+ environment is supplied typically by the shell. If the process
+ image file is not a in a supported file format, execlp(), execvp()
+ and execvpe() use the contents of that file as standard input to
+ the shell. In this case, the shell becomes the new process image.
+ The standard to which the caller conforms determines which shell is
+ used. See standards(7).
+
The arguments represented by arg0... are pointers to null-terminated
@@ -200,7 +234,7 @@
set to the group ID of the new process image file. The real user ID and
real group ID of the new process image remain the same as those of the
calling process image. The effective user ID and effective group ID of
- the new process image are saved (as the saved set-user-ID and the saved
+ the new process image are saved as the saved set-user-ID and the saved
set-group-ID for use by setuid(2).
@@ -245,7 +279,7 @@
If _XOPEN_REALTIME is defined and has a value other than -1, any named
semaphores open in the calling process are closed as if by appropriate
- calls to sem_close(3C)
+ calls to sem_close(3C).
Profiling is disabled for the new process; see profil(2).
@@ -552,16 +586,26 @@
ksh(1), ps(1), sh(1), alarm(2), brk(2), chmod(2), execvex(2), exit(2),
fcntl(2), fork(2), getpflags(2), getrlimit(2), memcntl(2), mmap(2),
nice(2), priocntl(2), profil(2), semop(2), shmop(2), sigpending(2),
- sigprocmask(2), times(2), umask(2), lockf(3C), posix_spawn(3C),
- ptrace(3C), setlocale(3C), signal(3C), system(3C), timer_create(3C),
- a.out(5), contract(5), process(5), attributes(7), environ(7), privi-
- leges(7), standards(7)
+ sigprocmask(2), spawn(2), times(2), umask(2), lockf(3C),
+ posix_spawn(3C), ptrace(3C), setlocale(3C), signal(3C), system(3C),
+ timer_create(3C), a.out(5), contract(5), process(5), attributes(7),
+ environ(7), privileges(7), standards(7)
WARNINGS
If a program is setuid to a user ID other than the superuser, and the
program is executed when the real user ID is super-user, then the pro-
gram has some of the powers of a super-user as well.
+HISTORY
+ The execvpe() function was added to Oracle Solaris in Solaris 11.4.0.
+
+
+ The fexecve() function was added to Oracle Solaris in Solaris 11.0.0.
+
+
+ The execl(), execle(), execlp(), execv(), execve(), and execvp() func-
+ tions have been included in all Sun and Oracle releases of Solaris.
+
-Oracle Solaris 11.4 11 May 2021 exec(2)
+Oracle Solaris 11.4 30 Jan 2023 exec(2)
diff -NurbBw 11.4.54/man2/execlp.2 11.4.57/man2/execlp.2
--- 11.4.54/man2/execlp.2 2023-05-24 15:26:45.820219541 -0700
+++ 11.4.57/man2/execlp.2 2023-05-24 15:27:25.302383288 -0700
@@ -40,32 +40,49 @@
DESCRIPTION
Each of the functions in the exec family replaces the current process
image with a new process image. The new image is constructed from a
- regular, executable file called the new process image file. This file
- is either an executable object file or a file of data for an inter-
- preter. There is no return from a successful call to one of these func-
- tions because the calling process image is overlaid by the new process
- image.
+ regular, executable file called the new process image file. There is no
+ return from a successful call to one of these functions because the
+ calling process image is overlaid by the new process image.
- The fexecve() function behaves like execve(), except that the file to
- be executed is specified by the file descriptor fd rather than by a
- pathname. The file offset of fd is ignored.
+ The new process image file can be a binary executable object file, as
+ described in the a.out(5) man page. Alternatively, the process image
+ file can be an interpreted file. Interpreted files are run by loading a
+ binary executable to serve as an interpreter, and passing the inter-
+ preted file to it as input.
- An interpreter file begins with a line of the form
+ Interpreted files, and interpreters, are a general concept, and can be
+ applied to a wide range of programs. A common case is that of input to
+ a command shell program. In such cases, the interpreted file is com-
+ monly referred to as a shell script, and the interpreter as a shell.
+
+
+ An interpreted file begins with a line of the form
#! pathname [arg]
where pathname is the path of the interpreter, and arg is an optional
- argument. When an interpreter file is executed, the system invokes the
- specified interpreter. The pathname specified in the interpreter file
- is passed as arg0 to the interpreter. If arg was specified in the
- interpreter file, it is passed as arg1 to the interpreter. The remain-
- ing arguments to the interpreter are arg0 through argn of the origi-
- nally exec'd file. The interpreter named by pathname must not be an
- interpreter file.
+ argument. If this initial line is missing, the execlp(), execvp(),
+ execvpe(), and posix_spawnp(3C) functions will attempt to use a shell
+ as interpreter, where the standard to which the caller conforms deter-
+ mines which shell is used. See the "Utilities" section of the stan-
+ dards(7) man page.
+
+
+ To execute an interpreted file, the system invokes the specified inter-
+ preter, and provides the interpreted file to it as input to be pro-
+ cessed. The interpreter path is passed as argv[0] to the interpreter.
+ If arg was specified in the interpreted file, it is passed as the next
+ argument, argv[1]. Any arguments passed to the exec() system call are
+ placed following these initial arguments.
+
+
+ The interpreted file concept has a single level. The interpreter speci-
+ fied on the first line of an interpreted file must be an executable
+ object file, and cannot be another interpreted file.
When a C-language program is executed as a result of this call, it is
@@ -100,20 +117,37 @@
passed on to the new process image in the main() arguments.
- The path argument points to a path name that identifies the new process
- image file.
+ The selection of the file to execute depends on which function is
+ called:
+
+
+ execl(), execv(), execle(), execve()
+
+ The path argument points to a pathname that identifies the new
+ process image file.
+
+
+ fexecve()
+
+ The new process image file is specified by the file descriptor fd
+ rather than by a pathname. The file offset of fd is ignored. See
+ the USAGE section below.
- The file argument is used to construct a pathname that identifies the
- new process image file. If the file argument contains a slash charac-
- ter, it is used as the pathname for this file. Otherwise, the path pre-
- fix for this file is obtained by a search of the directories passed in
- the PATH environment variable (see environ(7)). The environment is sup-
- plied typically by the shell. If the process image file is not a valid
- executable object file, execlp(), execvp() and execvpe() use the con-
- tents of that file as standard input to the shell. In this case, the
- shell becomes the new process image. The standard to which the caller
- conforms determines which shell is used. See standards(7).
+ execlp(), execvp(), execvpe()
+
+ The file argument is used to construct a pathname that identifies
+ the new process image file. If the file argument contains a slash
+ character, it is used as the pathname for this file. Otherwise, the
+ path prefix for this file is obtained by a search of the directo-
+ ries passed in the PATH environment variable (see environ(7)). The
+ environment is supplied typically by the shell. If the process
+ image file is not a in a supported file format, execlp(), execvp()
+ and execvpe() use the contents of that file as standard input to
+ the shell. In this case, the shell becomes the new process image.
+ The standard to which the caller conforms determines which shell is
+ used. See standards(7).
+
The arguments represented by arg0... are pointers to null-terminated
@@ -200,7 +234,7 @@
set to the group ID of the new process image file. The real user ID and
real group ID of the new process image remain the same as those of the
calling process image. The effective user ID and effective group ID of
- the new process image are saved (as the saved set-user-ID and the saved
+ the new process image are saved as the saved set-user-ID and the saved
set-group-ID for use by setuid(2).
@@ -245,7 +279,7 @@
If _XOPEN_REALTIME is defined and has a value other than -1, any named
semaphores open in the calling process are closed as if by appropriate
- calls to sem_close(3C)
+ calls to sem_close(3C).
Profiling is disabled for the new process; see profil(2).
@@ -552,16 +586,26 @@
ksh(1), ps(1), sh(1), alarm(2), brk(2), chmod(2), execvex(2), exit(2),
fcntl(2), fork(2), getpflags(2), getrlimit(2), memcntl(2), mmap(2),
nice(2), priocntl(2), profil(2), semop(2), shmop(2), sigpending(2),
- sigprocmask(2), times(2), umask(2), lockf(3C), posix_spawn(3C),
- ptrace(3C), setlocale(3C), signal(3C), system(3C), timer_create(3C),
- a.out(5), contract(5), process(5), attributes(7), environ(7), privi-
- leges(7), standards(7)
+ sigprocmask(2), spawn(2), times(2), umask(2), lockf(3C),
+ posix_spawn(3C), ptrace(3C), setlocale(3C), signal(3C), system(3C),
+ timer_create(3C), a.out(5), contract(5), process(5), attributes(7),
+ environ(7), privileges(7), standards(7)
WARNINGS
If a program is setuid to a user ID other than the superuser, and the
program is executed when the real user ID is super-user, then the pro-
gram has some of the powers of a super-user as well.
+HISTORY
+ The execvpe() function was added to Oracle Solaris in Solaris 11.4.0.
+
+
+ The fexecve() function was added to Oracle Solaris in Solaris 11.0.0.
+
+
+ The execl(), execle(), execlp(), execv(), execve(), and execvp() func-
+ tions have been included in all Sun and Oracle releases of Solaris.
+
-Oracle Solaris 11.4 11 May 2021 exec(2)
+Oracle Solaris 11.4 30 Jan 2023 exec(2)
diff -NurbBw 11.4.54/man2/execv.2 11.4.57/man2/execv.2
--- 11.4.54/man2/execv.2 2023-05-24 15:26:45.855949291 -0700
+++ 11.4.57/man2/execv.2 2023-05-24 15:27:25.349110607 -0700
@@ -40,32 +40,49 @@
DESCRIPTION
Each of the functions in the exec family replaces the current process
image with a new process image. The new image is constructed from a
- regular, executable file called the new process image file. This file
- is either an executable object file or a file of data for an inter-
- preter. There is no return from a successful call to one of these func-
- tions because the calling process image is overlaid by the new process
- image.
+ regular, executable file called the new process image file. There is no
+ return from a successful call to one of these functions because the
+ calling process image is overlaid by the new process image.
- The fexecve() function behaves like execve(), except that the file to
- be executed is specified by the file descriptor fd rather than by a
- pathname. The file offset of fd is ignored.
+ The new process image file can be a binary executable object file, as
+ described in the a.out(5) man page. Alternatively, the process image
+ file can be an interpreted file. Interpreted files are run by loading a
+ binary executable to serve as an interpreter, and passing the inter-
+ preted file to it as input.
- An interpreter file begins with a line of the form
+ Interpreted files, and interpreters, are a general concept, and can be
+ applied to a wide range of programs. A common case is that of input to
+ a command shell program. In such cases, the interpreted file is com-
+ monly referred to as a shell script, and the interpreter as a shell.
+
+
+ An interpreted file begins with a line of the form
#! pathname [arg]
where pathname is the path of the interpreter, and arg is an optional
- argument. When an interpreter file is executed, the system invokes the
- specified interpreter. The pathname specified in the interpreter file
- is passed as arg0 to the interpreter. If arg was specified in the
- interpreter file, it is passed as arg1 to the interpreter. The remain-
- ing arguments to the interpreter are arg0 through argn of the origi-
- nally exec'd file. The interpreter named by pathname must not be an
- interpreter file.
+ argument. If this initial line is missing, the execlp(), execvp(),
+ execvpe(), and posix_spawnp(3C) functions will attempt to use a shell
+ as interpreter, where the standard to which the caller conforms deter-
+ mines which shell is used. See the "Utilities" section of the stan-
+ dards(7) man page.
+
+
+ To execute an interpreted file, the system invokes the specified inter-
+ preter, and provides the interpreted file to it as input to be pro-
+ cessed. The interpreter path is passed as argv[0] to the interpreter.
+ If arg was specified in the interpreted file, it is passed as the next
+ argument, argv[1]. Any arguments passed to the exec() system call are
+ placed following these initial arguments.
+
+
+ The interpreted file concept has a single level. The interpreter speci-
+ fied on the first line of an interpreted file must be an executable
+ object file, and cannot be another interpreted file.
When a C-language program is executed as a result of this call, it is
@@ -100,20 +117,37 @@
passed on to the new process image in the main() arguments.
- The path argument points to a path name that identifies the new process
- image file.
+ The selection of the file to execute depends on which function is
+ called:
+
+
+ execl(), execv(), execle(), execve()
+
+ The path argument points to a pathname that identifies the new
+ process image file.
+
+
+ fexecve()
+
+ The new process image file is specified by the file descriptor fd
+ rather than by a pathname. The file offset of fd is ignored. See
+ the USAGE section below.
- The file argument is used to construct a pathname that identifies the
- new process image file. If the file argument contains a slash charac-
- ter, it is used as the pathname for this file. Otherwise, the path pre-
- fix for this file is obtained by a search of the directories passed in
- the PATH environment variable (see environ(7)). The environment is sup-
- plied typically by the shell. If the process image file is not a valid
- executable object file, execlp(), execvp() and execvpe() use the con-
- tents of that file as standard input to the shell. In this case, the
- shell becomes the new process image. The standard to which the caller
- conforms determines which shell is used. See standards(7).
+ execlp(), execvp(), execvpe()
+
+ The file argument is used to construct a pathname that identifies
+ the new process image file. If the file argument contains a slash
+ character, it is used as the pathname for this file. Otherwise, the
+ path prefix for this file is obtained by a search of the directo-
+ ries passed in the PATH environment variable (see environ(7)). The
+ environment is supplied typically by the shell. If the process
+ image file is not a in a supported file format, execlp(), execvp()
+ and execvpe() use the contents of that file as standard input to
+ the shell. In this case, the shell becomes the new process image.
+ The standard to which the caller conforms determines which shell is
+ used. See standards(7).
+
The arguments represented by arg0... are pointers to null-terminated
@@ -200,7 +234,7 @@
set to the group ID of the new process image file. The real user ID and
real group ID of the new process image remain the same as those of the
calling process image. The effective user ID and effective group ID of
- the new process image are saved (as the saved set-user-ID and the saved
+ the new process image are saved as the saved set-user-ID and the saved
set-group-ID for use by setuid(2).
@@ -245,7 +279,7 @@
If _XOPEN_REALTIME is defined and has a value other than -1, any named
semaphores open in the calling process are closed as if by appropriate
- calls to sem_close(3C)
+ calls to sem_close(3C).
Profiling is disabled for the new process; see profil(2).
@@ -552,16 +586,26 @@
ksh(1), ps(1), sh(1), alarm(2), brk(2), chmod(2), execvex(2), exit(2),
fcntl(2), fork(2), getpflags(2), getrlimit(2), memcntl(2), mmap(2),
nice(2), priocntl(2), profil(2), semop(2), shmop(2), sigpending(2),
- sigprocmask(2), times(2), umask(2), lockf(3C), posix_spawn(3C),
- ptrace(3C), setlocale(3C), signal(3C), system(3C), timer_create(3C),
- a.out(5), contract(5), process(5), attributes(7), environ(7), privi-
- leges(7), standards(7)
+ sigprocmask(2), spawn(2), times(2), umask(2), lockf(3C),
+ posix_spawn(3C), ptrace(3C), setlocale(3C), signal(3C), system(3C),
+ timer_create(3C), a.out(5), contract(5), process(5), attributes(7),
+ environ(7), privileges(7), standards(7)
WARNINGS
If a program is setuid to a user ID other than the superuser, and the
program is executed when the real user ID is super-user, then the pro-
gram has some of the powers of a super-user as well.
+HISTORY
+ The execvpe() function was added to Oracle Solaris in Solaris 11.4.0.
+
+
+ The fexecve() function was added to Oracle Solaris in Solaris 11.0.0.
+
+
+ The execl(), execle(), execlp(), execv(), execve(), and execvp() func-
+ tions have been included in all Sun and Oracle releases of Solaris.
+
-Oracle Solaris 11.4 11 May 2021 exec(2)
+Oracle Solaris 11.4 30 Jan 2023 exec(2)
diff -NurbBw 11.4.54/man2/execve.2 11.4.57/man2/execve.2
--- 11.4.54/man2/execve.2 2023-05-24 15:26:45.909342691 -0700
+++ 11.4.57/man2/execve.2 2023-05-24 15:27:25.395280594 -0700
@@ -40,32 +40,49 @@
DESCRIPTION
Each of the functions in the exec family replaces the current process
image with a new process image. The new image is constructed from a
- regular, executable file called the new process image file. This file
- is either an executable object file or a file of data for an inter-
- preter. There is no return from a successful call to one of these func-
- tions because the calling process image is overlaid by the new process
- image.
+ regular, executable file called the new process image file. There is no
+ return from a successful call to one of these functions because the
+ calling process image is overlaid by the new process image.
- The fexecve() function behaves like execve(), except that the file to
- be executed is specified by the file descriptor fd rather than by a
- pathname. The file offset of fd is ignored.
+ The new process image file can be a binary executable object file, as
+ described in the a.out(5) man page. Alternatively, the process image
+ file can be an interpreted file. Interpreted files are run by loading a
+ binary executable to serve as an interpreter, and passing the inter-
+ preted file to it as input.
- An interpreter file begins with a line of the form
+ Interpreted files, and interpreters, are a general concept, and can be
+ applied to a wide range of programs. A common case is that of input to
+ a command shell program. In such cases, the interpreted file is com-
+ monly referred to as a shell script, and the interpreter as a shell.
+
+
+ An interpreted file begins with a line of the form
#! pathname [arg]
where pathname is the path of the interpreter, and arg is an optional
- argument. When an interpreter file is executed, the system invokes the
- specified interpreter. The pathname specified in the interpreter file
- is passed as arg0 to the interpreter. If arg was specified in the
- interpreter file, it is passed as arg1 to the interpreter. The remain-
- ing arguments to the interpreter are arg0 through argn of the origi-
- nally exec'd file. The interpreter named by pathname must not be an
- interpreter file.
+ argument. If this initial line is missing, the execlp(), execvp(),
+ execvpe(), and posix_spawnp(3C) functions will attempt to use a shell
+ as interpreter, where the standard to which the caller conforms deter-
+ mines which shell is used. See the "Utilities" section of the stan-
+ dards(7) man page.
+
+
+ To execute an interpreted file, the system invokes the specified inter-
+ preter, and provides the interpreted file to it as input to be pro-
+ cessed. The interpreter path is passed as argv[0] to the interpreter.
+ If arg was specified in the interpreted file, it is passed as the next
+ argument, argv[1]. Any arguments passed to the exec() system call are
+ placed following these initial arguments.
+
+
+ The interpreted file concept has a single level. The interpreter speci-
+ fied on the first line of an interpreted file must be an executable
+ object file, and cannot be another interpreted file.
When a C-language program is executed as a result of this call, it is
@@ -100,20 +117,37 @@
passed on to the new process image in the main() arguments.
- The path argument points to a path name that identifies the new process
- image file.
+ The selection of the file to execute depends on which function is
+ called:
+
+
+ execl(), execv(), execle(), execve()
+
+ The path argument points to a pathname that identifies the new
+ process image file.
+
+
+ fexecve()
+
+ The new process image file is specified by the file descriptor fd
+ rather than by a pathname. The file offset of fd is ignored. See
+ the USAGE section below.
- The file argument is used to construct a pathname that identifies the
- new process image file. If the file argument contains a slash charac-
- ter, it is used as the pathname for this file. Otherwise, the path pre-
- fix for this file is obtained by a search of the directories passed in
- the PATH environment variable (see environ(7)). The environment is sup-
- plied typically by the shell. If the process image file is not a valid
- executable object file, execlp(), execvp() and execvpe() use the con-
- tents of that file as standard input to the shell. In this case, the
- shell becomes the new process image. The standard to which the caller
- conforms determines which shell is used. See standards(7).
+ execlp(), execvp(), execvpe()
+
+ The file argument is used to construct a pathname that identifies
+ the new process image file. If the file argument contains a slash
+ character, it is used as the pathname for this file. Otherwise, the
+ path prefix for this file is obtained by a search of the directo-
+ ries passed in the PATH environment variable (see environ(7)). The
+ environment is supplied typically by the shell. If the process
+ image file is not a in a supported file format, execlp(), execvp()
+ and execvpe() use the contents of that file as standard input to
+ the shell. In this case, the shell becomes the new process image.
+ The standard to which the caller conforms determines which shell is
+ used. See standards(7).
+
The arguments represented by arg0... are pointers to null-terminated
@@ -200,7 +234,7 @@
set to the group ID of the new process image file. The real user ID and
real group ID of the new process image remain the same as those of the
calling process image. The effective user ID and effective group ID of
- the new process image are saved (as the saved set-user-ID and the saved
+ the new process image are saved as the saved set-user-ID and the saved
set-group-ID for use by setuid(2).
@@ -245,7 +279,7 @@
If _XOPEN_REALTIME is defined and has a value other than -1, any named
semaphores open in the calling process are closed as if by appropriate
- calls to sem_close(3C)
+ calls to sem_close(3C).
Profiling is disabled for the new process; see profil(2).
@@ -552,16 +586,26 @@
ksh(1), ps(1), sh(1), alarm(2), brk(2), chmod(2), execvex(2), exit(2),
fcntl(2), fork(2), getpflags(2), getrlimit(2), memcntl(2), mmap(2),
nice(2), priocntl(2), profil(2), semop(2), shmop(2), sigpending(2),
- sigprocmask(2), times(2), umask(2), lockf(3C), posix_spawn(3C),
- ptrace(3C), setlocale(3C), signal(3C), system(3C), timer_create(3C),
- a.out(5), contract(5), process(5), attributes(7), environ(7), privi-
- leges(7), standards(7)
+ sigprocmask(2), spawn(2), times(2), umask(2), lockf(3C),
+ posix_spawn(3C), ptrace(3C), setlocale(3C), signal(3C), system(3C),
+ timer_create(3C), a.out(5), contract(5), process(5), attributes(7),
+ environ(7), privileges(7), standards(7)
WARNINGS
If a program is setuid to a user ID other than the superuser, and the
program is executed when the real user ID is super-user, then the pro-
gram has some of the powers of a super-user as well.
+HISTORY
+ The execvpe() function was added to Oracle Solaris in Solaris 11.4.0.
+
+
+ The fexecve() function was added to Oracle Solaris in Solaris 11.0.0.
+
+
+ The execl(), execle(), execlp(), execv(), execve(), and execvp() func-
+ tions have been included in all Sun and Oracle releases of Solaris.
+
-Oracle Solaris 11.4 11 May 2021 exec(2)
+Oracle Solaris 11.4 30 Jan 2023 exec(2)
diff -NurbBw 11.4.54/man2/execvex.2 11.4.57/man2/execvex.2
--- 11.4.54/man2/execvex.2 2023-05-24 15:26:45.947491446 -0700
+++ 11.4.57/man2/execvex.2 2023-05-24 15:27:25.425551318 -0700
@@ -12,7 +12,7 @@
int flags);
DESCRIPTION
- All of the interfaces described in exec() are implemented using calls
+ All of the interfaces described in exec(2) are implemented using calls
to the fundamental execvex() system call described here. See exec(2)
for details of process execution and return values from the system
call.
@@ -107,6 +107,10 @@
SEE ALSO
pgrep(1), ps(1), exec(2), open(2), proc(5), attributes(7)
+HISTORY
+ The execvex() system call was added to Oracle Solaris in Solaris
+ 11.0.0.
-Oracle Solaris 11.4 9 Nov 2010 execvex(2)
+
+Oracle Solaris 11.4 30 Jan 2023 execvex(2)
diff -NurbBw 11.4.54/man2/execvp.2 11.4.57/man2/execvp.2
--- 11.4.54/man2/execvp.2 2023-05-24 15:26:45.991985922 -0700
+++ 11.4.57/man2/execvp.2 2023-05-24 15:27:25.464742380 -0700
@@ -40,32 +40,49 @@
DESCRIPTION
Each of the functions in the exec family replaces the current process
image with a new process image. The new image is constructed from a
- regular, executable file called the new process image file. This file
- is either an executable object file or a file of data for an inter-
- preter. There is no return from a successful call to one of these func-
- tions because the calling process image is overlaid by the new process
- image.
+ regular, executable file called the new process image file. There is no
+ return from a successful call to one of these functions because the
+ calling process image is overlaid by the new process image.
- The fexecve() function behaves like execve(), except that the file to
- be executed is specified by the file descriptor fd rather than by a
- pathname. The file offset of fd is ignored.
+ The new process image file can be a binary executable object file, as
+ described in the a.out(5) man page. Alternatively, the process image
+ file can be an interpreted file. Interpreted files are run by loading a
+ binary executable to serve as an interpreter, and passing the inter-
+ preted file to it as input.
- An interpreter file begins with a line of the form
+ Interpreted files, and interpreters, are a general concept, and can be
+ applied to a wide range of programs. A common case is that of input to
+ a command shell program. In such cases, the interpreted file is com-
+ monly referred to as a shell script, and the interpreter as a shell.
+
+
+ An interpreted file begins with a line of the form
#! pathname [arg]
where pathname is the path of the interpreter, and arg is an optional
- argument. When an interpreter file is executed, the system invokes the
- specified interpreter. The pathname specified in the interpreter file
- is passed as arg0 to the interpreter. If arg was specified in the
- interpreter file, it is passed as arg1 to the interpreter. The remain-
- ing arguments to the interpreter are arg0 through argn of the origi-
- nally exec'd file. The interpreter named by pathname must not be an
- interpreter file.
+ argument. If this initial line is missing, the execlp(), execvp(),
+ execvpe(), and posix_spawnp(3C) functions will attempt to use a shell
+ as interpreter, where the standard to which the caller conforms deter-
+ mines which shell is used. See the "Utilities" section of the stan-
+ dards(7) man page.
+
+
+ To execute an interpreted file, the system invokes the specified inter-
+ preter, and provides the interpreted file to it as input to be pro-
+ cessed. The interpreter path is passed as argv[0] to the interpreter.
+ If arg was specified in the interpreted file, it is passed as the next
+ argument, argv[1]. Any arguments passed to the exec() system call are
+ placed following these initial arguments.
+
+
+ The interpreted file concept has a single level. The interpreter speci-
+ fied on the first line of an interpreted file must be an executable
+ object file, and cannot be another interpreted file.
When a C-language program is executed as a result of this call, it is
@@ -100,20 +117,37 @@
passed on to the new process image in the main() arguments.
- The path argument points to a path name that identifies the new process
- image file.
+ The selection of the file to execute depends on which function is
+ called:
+
+
+ execl(), execv(), execle(), execve()
+
+ The path argument points to a pathname that identifies the new
+ process image file.
+
+
+ fexecve()
+
+ The new process image file is specified by the file descriptor fd
+ rather than by a pathname. The file offset of fd is ignored. See
+ the USAGE section below.
- The file argument is used to construct a pathname that identifies the
- new process image file. If the file argument contains a slash charac-
- ter, it is used as the pathname for this file. Otherwise, the path pre-
- fix for this file is obtained by a search of the directories passed in
- the PATH environment variable (see environ(7)). The environment is sup-
- plied typically by the shell. If the process image file is not a valid
- executable object file, execlp(), execvp() and execvpe() use the con-
- tents of that file as standard input to the shell. In this case, the
- shell becomes the new process image. The standard to which the caller
- conforms determines which shell is used. See standards(7).
+ execlp(), execvp(), execvpe()
+
+ The file argument is used to construct a pathname that identifies
+ the new process image file. If the file argument contains a slash
+ character, it is used as the pathname for this file. Otherwise, the
+ path prefix for this file is obtained by a search of the directo-
+ ries passed in the PATH environment variable (see environ(7)). The
+ environment is supplied typically by the shell. If the process
+ image file is not a in a supported file format, execlp(), execvp()
+ and execvpe() use the contents of that file as standard input to
+ the shell. In this case, the shell becomes the new process image.
+ The standard to which the caller conforms determines which shell is
+ used. See standards(7).
+
The arguments represented by arg0... are pointers to null-terminated
@@ -200,7 +234,7 @@
set to the group ID of the new process image file. The real user ID and
real group ID of the new process image remain the same as those of the
calling process image. The effective user ID and effective group ID of
- the new process image are saved (as the saved set-user-ID and the saved
+ the new process image are saved as the saved set-user-ID and the saved
set-group-ID for use by setuid(2).
@@ -245,7 +279,7 @@
If _XOPEN_REALTIME is defined and has a value other than -1, any named
semaphores open in the calling process are closed as if by appropriate
- calls to sem_close(3C)
+ calls to sem_close(3C).
Profiling is disabled for the new process; see profil(2).
@@ -552,16 +586,26 @@
ksh(1), ps(1), sh(1), alarm(2), brk(2), chmod(2), execvex(2), exit(2),
fcntl(2), fork(2), getpflags(2), getrlimit(2), memcntl(2), mmap(2),
nice(2), priocntl(2), profil(2), semop(2), shmop(2), sigpending(2),
- sigprocmask(2), times(2), umask(2), lockf(3C), posix_spawn(3C),
- ptrace(3C), setlocale(3C), signal(3C), system(3C), timer_create(3C),
- a.out(5), contract(5), process(5), attributes(7), environ(7), privi-
- leges(7), standards(7)
+ sigprocmask(2), spawn(2), times(2), umask(2), lockf(3C),
+ posix_spawn(3C), ptrace(3C), setlocale(3C), signal(3C), system(3C),
+ timer_create(3C), a.out(5), contract(5), process(5), attributes(7),
+ environ(7), privileges(7), standards(7)
WARNINGS
If a program is setuid to a user ID other than the superuser, and the
program is executed when the real user ID is super-user, then the pro-
gram has some of the powers of a super-user as well.
+HISTORY
+ The execvpe() function was added to Oracle Solaris in Solaris 11.4.0.
+
+
+ The fexecve() function was added to Oracle Solaris in Solaris 11.0.0.
+
+
+ The execl(), execle(), execlp(), execv(), execve(), and execvp() func-
+ tions have been included in all Sun and Oracle releases of Solaris.
+
-Oracle Solaris 11.4 11 May 2021 exec(2)
+Oracle Solaris 11.4 30 Jan 2023 exec(2)
diff -NurbBw 11.4.54/man2/execvpe.2 11.4.57/man2/execvpe.2
--- 11.4.54/man2/execvpe.2 2023-05-24 15:26:46.055104233 -0700
+++ 11.4.57/man2/execvpe.2 2023-05-24 15:27:25.520137039 -0700
@@ -40,32 +40,49 @@
DESCRIPTION
Each of the functions in the exec family replaces the current process
image with a new process image. The new image is constructed from a
- regular, executable file called the new process image file. This file
- is either an executable object file or a file of data for an inter-
- preter. There is no return from a successful call to one of these func-
- tions because the calling process image is overlaid by the new process
- image.
+ regular, executable file called the new process image file. There is no
+ return from a successful call to one of these functions because the
+ calling process image is overlaid by the new process image.
- The fexecve() function behaves like execve(), except that the file to
- be executed is specified by the file descriptor fd rather than by a
- pathname. The file offset of fd is ignored.
+ The new process image file can be a binary executable object file, as
+ described in the a.out(5) man page. Alternatively, the process image
+ file can be an interpreted file. Interpreted files are run by loading a
+ binary executable to serve as an interpreter, and passing the inter-
+ preted file to it as input.
- An interpreter file begins with a line of the form
+ Interpreted files, and interpreters, are a general concept, and can be
+ applied to a wide range of programs. A common case is that of input to
+ a command shell program. In such cases, the interpreted file is com-
+ monly referred to as a shell script, and the interpreter as a shell.
+
+
+ An interpreted file begins with a line of the form
#! pathname [arg]
where pathname is the path of the interpreter, and arg is an optional
- argument. When an interpreter file is executed, the system invokes the
- specified interpreter. The pathname specified in the interpreter file
- is passed as arg0 to the interpreter. If arg was specified in the
- interpreter file, it is passed as arg1 to the interpreter. The remain-
- ing arguments to the interpreter are arg0 through argn of the origi-
- nally exec'd file. The interpreter named by pathname must not be an
- interpreter file.
+ argument. If this initial line is missing, the execlp(), execvp(),
+ execvpe(), and posix_spawnp(3C) functions will attempt to use a shell
+ as interpreter, where the standard to which the caller conforms deter-
+ mines which shell is used. See the "Utilities" section of the stan-
+ dards(7) man page.
+
+
+ To execute an interpreted file, the system invokes the specified inter-
+ preter, and provides the interpreted file to it as input to be pro-
+ cessed. The interpreter path is passed as argv[0] to the interpreter.
+ If arg was specified in the interpreted file, it is passed as the next
+ argument, argv[1]. Any arguments passed to the exec() system call are
+ placed following these initial arguments.
+
+
+ The interpreted file concept has a single level. The interpreter speci-
+ fied on the first line of an interpreted file must be an executable
+ object file, and cannot be another interpreted file.
When a C-language program is executed as a result of this call, it is
@@ -100,20 +117,37 @@
passed on to the new process image in the main() arguments.
- The path argument points to a path name that identifies the new process
- image file.
+ The selection of the file to execute depends on which function is
+ called:
+
+
+ execl(), execv(), execle(), execve()
+
+ The path argument points to a pathname that identifies the new
+ process image file.
+
+
+ fexecve()
+
+ The new process image file is specified by the file descriptor fd
+ rather than by a pathname. The file offset of fd is ignored. See
+ the USAGE section below.
- The file argument is used to construct a pathname that identifies the
- new process image file. If the file argument contains a slash charac-
- ter, it is used as the pathname for this file. Otherwise, the path pre-
- fix for this file is obtained by a search of the directories passed in
- the PATH environment variable (see environ(7)). The environment is sup-
- plied typically by the shell. If the process image file is not a valid
- executable object file, execlp(), execvp() and execvpe() use the con-
- tents of that file as standard input to the shell. In this case, the
- shell becomes the new process image. The standard to which the caller
- conforms determines which shell is used. See standards(7).
+ execlp(), execvp(), execvpe()
+
+ The file argument is used to construct a pathname that identifies
+ the new process image file. If the file argument contains a slash
+ character, it is used as the pathname for this file. Otherwise, the
+ path prefix for this file is obtained by a search of the directo-
+ ries passed in the PATH environment variable (see environ(7)). The
+ environment is supplied typically by the shell. If the process
+ image file is not a in a supported file format, execlp(), execvp()
+ and execvpe() use the contents of that file as standard input to
+ the shell. In this case, the shell becomes the new process image.
+ The standard to which the caller conforms determines which shell is
+ used. See standards(7).
+
The arguments represented by arg0... are pointers to null-terminated
@@ -200,7 +234,7 @@
set to the group ID of the new process image file. The real user ID and
real group ID of the new process image remain the same as those of the
calling process image. The effective user ID and effective group ID of
- the new process image are saved (as the saved set-user-ID and the saved
+ the new process image are saved as the saved set-user-ID and the saved
set-group-ID for use by setuid(2).
@@ -245,7 +279,7 @@
If _XOPEN_REALTIME is defined and has a value other than -1, any named
semaphores open in the calling process are closed as if by appropriate
- calls to sem_close(3C)
+ calls to sem_close(3C).
Profiling is disabled for the new process; see profil(2).
@@ -552,16 +586,26 @@
ksh(1), ps(1), sh(1), alarm(2), brk(2), chmod(2), execvex(2), exit(2),
fcntl(2), fork(2), getpflags(2), getrlimit(2), memcntl(2), mmap(2),
nice(2), priocntl(2), profil(2), semop(2), shmop(2), sigpending(2),
- sigprocmask(2), times(2), umask(2), lockf(3C), posix_spawn(3C),
- ptrace(3C), setlocale(3C), signal(3C), system(3C), timer_create(3C),
- a.out(5), contract(5), process(5), attributes(7), environ(7), privi-
- leges(7), standards(7)
+ sigprocmask(2), spawn(2), times(2), umask(2), lockf(3C),
+ posix_spawn(3C), ptrace(3C), setlocale(3C), signal(3C), system(3C),
+ timer_create(3C), a.out(5), contract(5), process(5), attributes(7),
+ environ(7), privileges(7), standards(7)
WARNINGS
If a program is setuid to a user ID other than the superuser, and the
program is executed when the real user ID is super-user, then the pro-
gram has some of the powers of a super-user as well.
+HISTORY
+ The execvpe() function was added to Oracle Solaris in Solaris 11.4.0.
+
+
+ The fexecve() function was added to Oracle Solaris in Solaris 11.0.0.
+
+
+ The execl(), execle(), execlp(), execv(), execve(), and execvp() func-
+ tions have been included in all Sun and Oracle releases of Solaris.
+
-Oracle Solaris 11.4 11 May 2021 exec(2)
+Oracle Solaris 11.4 30 Jan 2023 exec(2)
diff -NurbBw 11.4.54/man2/exit.2 11.4.57/man2/exit.2
--- 11.4.54/man2/exit.2 2023-05-24 15:26:46.098452224 -0700
+++ 11.4.57/man2/exit.2 2023-05-24 15:27:25.559603528 -0700
@@ -202,6 +202,18 @@
fclose(3C), mq_close(3C), plock(3C), tmpfile(3C), wait(3C), wait3(3C),
waitpid(3C), signal.h(3HEAD), attributes(7), standards(7), acctadm(8)
+HISTORY
+ The quick_exit() function was added to Oracle Solaris in the Solaris
+ 11.4.0 release.
-Oracle Solaris 11.4 13 Jun 2018 exit(2)
+ The _Exit() function was added to Solaris in the Solaris 10 3/05
+ release.
+
+
+ The exit() and _exit() functions have been included in all Sun and Ora-
+ cle releases of Solaris.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 exit(2)
diff -NurbBw 11.4.54/man2/faccessat.2 11.4.57/man2/faccessat.2
--- 11.4.54/man2/faccessat.2 2023-05-24 15:26:46.144322175 -0700
+++ 11.4.57/man2/faccessat.2 2023-05-24 15:27:25.598574920 -0700
@@ -26,10 +26,6 @@
had permission to access this file.
- The euidaccess() is equivalent to the access() but uses the effective
- user ID and the effective group ID.
-
-
The value of amode is either the bitwise inclusive OR of the access
permissions to be checked (R_OK, W_OK, X_OK) or the existence test,
F_OK.
@@ -50,7 +46,10 @@
- See Intro(2) for additional information about "File Access Permission".
+ See the "File Access Permissions" section of Intro(2) for additional
+ information. As described there, access may be permitted by the permis-
+ sion bits in the file mode, entries in an Access Control List, or priv-
+ ileges currently asserted for the process.
If any access permissions are to be checked, each will be checked indi-
@@ -79,23 +78,28 @@
group ID as required in a call to access().
+
+ The euidaccess() function is equivalent to the faccessat() function
+ with an fd of AT_FDCWD and a flag of AT_EACCESS, so that it checks for
+ access using the effective user ID and the effective group ID.
+
RETURN VALUES
- If the requested access is permitted, access(), euidaccess() and fac-
+ If the requested access is permitted, access(), euidaccess(), and fac-
cessat()succeed and return 0. Otherwise, -1 is returned and errno is
set to indicate the error.
ERRORS
- The access() and faccessat() functions will fail if:
+ The access(), euidaccess(), and faccessat() functions will fail if:
- EACCES Permission bits of the file mode do not permit the
- requested access, or search permission is denied on a
- component of the path prefix.
+ EACCES Permissions of the file do not permit the requested
+ access, or search permission is denied on a component
+ of the path prefix.
EFAULT The path argument points to an illegal address.
- EINTR A signal was caught during the access() function.
+ EINTR A signal was caught during the function.
ELOOP Too many symbolic links were encountered in resolving
@@ -137,7 +141,7 @@
- The access() and faccessat() functions may fail if:
+ The access(), euidaccess(), and faccessat() functions may fail if:
EINVAL The value of the amode argument is invalid.
@@ -189,12 +193,39 @@
|Standard |See below. |
+-----------------------------+-----------------------------+
+ Standard
+ See standards(7) for descriptions of the following standards:
+
- For access(), see standards(7).
+ +-----------------------+-----------------------------------+
+ | INTERFACES | APPLICABLE STANDARDS |
+ +-----------------------+-----------------------------------+
+ |access() | POSIX.1-1990 through 2008, |
+ | | SUS through SUSv4, |
+ | | XPG1 through XPG7 |
+ | | |
+ +-----------------------+-----------------------------------+
+ |faccessat() | SUSv4, |
+ | | XPG7 |
+ | | |
+ +-----------------------+-----------------------------------+
+ |euidaccess() | None |
+ +-----------------------+-----------------------------------+
SEE ALSO
- chmod(2), Intro(2), stat(2), attributes(7), standards(7)
+ chmod(2), Intro(2), stat(2), acl(7), attributes(7), standards(7)
+
+HISTORY
+ The euidaccess() function was added to Oracle Solaris in Solaris
+ 11.4.0.
+
+
+ The faccessat() function was added to Oracle Solaris in Solaris 11.0.0.
+
+
+ The access() function has been included in all Sun and Oracle releases
+ of Solaris.
-Oracle Solaris 11.4 22 Jan 2018 access(2)
+Oracle Solaris 11.4 30 Jan 2023 access(2)
diff -NurbBw 11.4.54/man2/facl.2 11.4.57/man2/facl.2
--- 11.4.54/man2/facl.2 2023-05-24 15:26:46.179372748 -0700
+++ 11.4.57/man2/facl.2 2023-05-24 15:27:25.626385846 -0700
@@ -14,11 +14,10 @@
int facl(int fildes, int cmd, int nentries, void *aclbufp);
DESCRIPTION
- The acl() and facl() functions get or set the ACL of a file whose name
- is given by pathp or referenced by the open file descriptor fildes. The
- nentries argument specifies how many ACL entries fit into buffer
- aclbufp. The acl() function is used to manipulate ACL on file system
- objects.
+ The acl() and facl() functions get or set the Access Control List (ACL)
+ of a file whose name is given by pathp or referenced by the open file
+ descriptor fildes. The nentries argument specifies how many ACL entries
+ fit into buffer aclbufp.
The following types are supported for aclbufp:
@@ -30,6 +29,9 @@
+ These types are described in more detail in the acl(7) manual page.
+
+
The following values for cmd are supported:
SETACL nentries aclent_t ACL entries, specified in buffer
@@ -64,13 +66,13 @@
RETURN VALUES
- Upon successful completion, acl() and facl() return 0 if cmd is SETACL
- or ACE_SETACL. If cmd is GETACL, GETACLCNT, ACE_GETACL or ACE_GETA-
- CLCNT, the number of ACL entries is returned. Otherwise, -1 is returned
- and errno is set to indicate the error.
+ If cmd is SETACL or ACE_SETACL, 0 is returned upon successful comple-
+ tion. If cmd is GETACL, GETACLCNT, ACE_GETACL or ACE_GETACLCNT, the
+ number of ACL entries is returned upon successful completion. Other-
+ wise, -1 is returned and errno is set to indicate the error.
ERRORS
- The acl() function will fail if:
+ The acl() and facl() functions will fail if:
EACCES The caller does not have access to a component of the path-
name; the cmd argument is ACE_SETACL or SETACL and the call-
@@ -78,13 +80,16 @@
specified ACE types.
+ EBADF The filedes argument is not a valid open file descriptor.
+
+
EFAULT The pathp or aclbufp argument points to an illegal address.
- EINVAL The cmd argument is not GETACL, SETACL, ACE_GETACL, GETA-
- CLCNT, or ACE_GETACLCNT; the cmd argument is SETACL and nen-
- tries is less than 3; or the cmd argument is SETACL or
- ACE_SETACL and the ACL specified in aclbufp is not valid.
+ EINVAL The cmd argument is not one of the values listed above; the
+ cmd argument is SETACL and nentries is less than 3; or the
+ cmd argument is SETACL or ACE_SETACL and the ACL specified
+ in aclbufp is not valid.
EIO A disk I/O error has occurred while storing or retrieving
@@ -102,8 +107,7 @@
ENOSYS The cmd argument is SETACL or ACE_SETACL and the file speci-
fied by pathp resides on a file system that does not support
- ACLs, or the acl() function is not supported by this imple-
- mentation.
+ ACLs.
ENOTDIR A component of the path specified by pathp is not a direc-
@@ -133,6 +137,11 @@
only.
+USAGE
+ To determine which types of ACL, if any, are supported with a given
+ file, use the pathconf(2) and fpathconf(2) functions with a value of
+ _PC_ACL_ENABLED for their name argument.
+
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
@@ -144,8 +153,17 @@
+-----------------------------+-----------------------------+
SEE ALSO
- aclcheck(3SEC), aclsort(3SEC), acl(7), sysattr(7)
+ fpathconf(2), pathconf(2), aclcheck(3SEC), aclsort(3SEC), acl(7),
+ sysattr(7)
+
+HISTORY
+ The ace_t type, and the corresponding ACE_* values for cmd, were added
+ to Oracle Solaris in Solaris 10 3/05.
+
+
+ The acl() and facl() functions and aclent_t type were added to Solaris
+ in Solaris 2.5.
-Oracle Solaris 11.4 21 Mar 2022 acl(2)
+Oracle Solaris 11.4 30 Jan 2023 acl(2)
diff -NurbBw 11.4.54/man2/fchdir.2 11.4.57/man2/fchdir.2
--- 11.4.54/man2/fchdir.2 2023-05-24 15:26:46.207651304 -0700
+++ 11.4.57/man2/fchdir.2 2023-05-24 15:27:25.653659124 -0700
@@ -15,10 +15,10 @@
DESCRIPTION
The chdir() and fchdir() functions cause a directory pointed to by path
- or fildes to become the current working directory. The starting point
- for path searches for path names not beginning with / (slash). The path
- argument points to the path name of a directory. The fildes argument is
- an open file descriptor of a directory.
+ or fildes to become the current working directory, which is the start-
+ ing point for path searches for path names not beginning with /
+ (slash). The path argument points to the path name of a directory. The
+ fildes argument is an open file descriptor of a directory.
For a directory to become the current directory, a process must have
@@ -109,6 +109,10 @@
SEE ALSO
chroot(2), attributes(7), standards(7)
+HISTORY
+ The chdir() and fchdir() functions have been included in all Sun and
+ Oracle releases of Solaris.
-Oracle Solaris 11.4 28 Dec 1996 chdir(2)
+
+Oracle Solaris 11.4 30 Jan 2023 chdir(2)
diff -NurbBw 11.4.54/man2/fchmod.2 11.4.57/man2/fchmod.2
--- 11.4.54/man2/fchmod.2 2023-05-24 15:26:46.247301828 -0700
+++ 11.4.57/man2/fchmod.2 2023-05-24 15:27:25.685849023 -0700
@@ -53,8 +53,9 @@
of a file.
- If the process is not a privileged process and the file is not a direc-
- tory, mode bit 01000 (S_ISVTX, the sticky bit) is cleared.
+ If the process does not have the {PRIV_SYS_CONFIG} privilege, and the
+ file is not a directory, mode bit 01000 (S_ISVTX, the sticky bit) is
+ cleared.
If neither the process is privileged nor the file's group is a member
@@ -395,4 +396,4 @@
-Oracle Solaris 11.4 21 Mar 2022 chmod(2)
+Oracle Solaris 11.4 30 Jan 2023 chmod(2)
diff -NurbBw 11.4.54/man2/fchmodat.2 11.4.57/man2/fchmodat.2
--- 11.4.54/man2/fchmodat.2 2023-05-24 15:26:46.298305274 -0700
+++ 11.4.57/man2/fchmodat.2 2023-05-24 15:27:25.722243208 -0700
@@ -53,8 +53,9 @@
of a file.
- If the process is not a privileged process and the file is not a direc-
- tory, mode bit 01000 (S_ISVTX, the sticky bit) is cleared.
+ If the process does not have the {PRIV_SYS_CONFIG} privilege, and the
+ file is not a directory, mode bit 01000 (S_ISVTX, the sticky bit) is
+ cleared.
If neither the process is privileged nor the file's group is a member
@@ -395,4 +396,4 @@
-Oracle Solaris 11.4 21 Mar 2022 chmod(2)
+Oracle Solaris 11.4 30 Jan 2023 chmod(2)
diff -NurbBw 11.4.54/man2/fchroot.2 11.4.57/man2/fchroot.2
--- 11.4.54/man2/fchroot.2 2023-05-24 15:26:46.326916757 -0700
+++ 11.4.57/man2/fchroot.2 2023-05-24 15:27:25.755244155 -0700
@@ -101,8 +101,29 @@
tive set of the calling process.
+USAGE
+ These functions do not provide a strong security boundary; programs can
+ easily escape the new root. In addition, configuring a proper root area
+ is complex, and the result requires ongoing manual maintenance, and the
+ system provides little assistance. To provide more secure isolation on
+ Oracle Solaris, with simpler and more powerful configuration, and sup-
+ port, the use of zones(7) is recommended in preference to chroot() or
+ fchroot().
+
+ATTRIBUTES
+ See attributes(7) for descriptions of the following attributes:
+
+
+ +-----------------------------+-----------------------------+
+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+ +-----------------------------+-----------------------------+
+ |Interface Stability |Committed |
+ +-----------------------------+-----------------------------+
+ |Standard |See standards(7). |
+ +-----------------------------+-----------------------------+
+
SEE ALSO
- chdir(2), privileges(7), chroot(8)
+ chdir(2), privileges(7), zones(7), chroot(8)
WARNINGS
The only use of fchroot() that is appropriate is to change back to the
@@ -114,4 +135,4 @@
-Oracle Solaris 11.4 17 Sep 2020 chroot(2)
+Oracle Solaris 11.4 30 Jan 2023 chroot(2)
diff -NurbBw 11.4.54/man2/fcntl.2 11.4.57/man2/fcntl.2
--- 11.4.54/man2/fcntl.2 2023-05-24 15:26:46.362033335 -0700
+++ 11.4.57/man2/fcntl.2 2023-05-24 15:27:25.836451686 -0700
@@ -14,17 +14,32 @@
DESCRIPTION
The fcntl() function provides for control over open files. The fildes
- argument is an open file descriptor. The file descriptors are process
- wide and may change by any thread in a multi threaded process. Each
- will not have unique file descriptors.
+ argument is an open file descriptor. File descriptors are process wide
+ resources, and are not unique to individual threads. A given file
+ descriptor can therefore be changed by any thread in a multi-threaded
+ process.
- The fcntl() function can take a third argument, arg, whose data type,
- value, and use depend upon the value of cmd. The cmd argument specifies
- the operation to be performed by fcntl().
+ The cmd argument specifies the operation to be performed by fcntl().
+ The fcntl() function can take additional arguments, whose data type,
+ value, and use depend upon the value of cmd. In the following descrip-
+ tions, arg refers to a third argument.
- The values for cmd are defined in <fcntl.h> and include:
+ The values for cmd are defined in fcntl.h(3HEAD) and include:
+
+ F_ALLOCSP
+
+ Allocate space for a section of the ordinary file fildes. The sec-
+ tion is specified by a variable of data type struct flock pointed
+ to by arg. The data type struct flock is described below.
+
+
+ F_ALLOCSP64
+
+ Equivalent to F_ALLOCSP, but takes a struct flock64 argument rather
+ than a struct flock argument.
+
F_DUPFD
@@ -51,20 +66,13 @@
F_DUP2FD
- Similar to F_DUPFD, except that it always returns arg. F_DUP2FD
- closes arg if it is open and not equal to fildes. If fildes is not
- equal to arg, the FD_CLOEXEC and FD_CLOFORK flags associated with
- the new file descriptor are cleared. If fildes is equal to arg, the
- FD_CLOEXEC and FD_CLOFORK flags associated with the new file
- descriptor are not changed. F_DUP2FD is equivalent to dup2(fildes,
- arg).
-
-
- F_DUP3FD
-
- Similar to F_DUP2FD, except that it accepts a fourth argument which
- allows the caller to set FD_CLOEXEC and FD_CLOFORK for the newly
- created file descriptor.
+ Similar to F_DUPFD, except that it always returns arg as the new
+ file descriptor. F_DUP2FD closes arg if it is open and not equal to
+ fildes. If fildes is not equal to arg, the FD_CLOEXEC and FD_CLO-
+ FORK flags associated with the new file descriptor are cleared. If
+ fildes is equal to arg, the FD_CLOEXEC and FD_CLOFORK flags associ-
+ ated with the new file descriptor are not changed. F_DUP2FD is
+ equivalent to dup2(fildes, arg).
F_DUP2FD_CLOEXEC
@@ -81,15 +89,25 @@
in which case the flags are unchanged.
+ F_DUP3FD
+
+ Similar to F_DUP2FD, with the addition of a fourth argument which
+ allows the caller the option of specifying the FD_CLOEXEC and
+ FD_CLOFORK options for the newly created file descriptor. An error
+ is returned if fildes is equal to arg. F_DUP3FD is equivalent to
+ dup3(fildes, arg, flags), noting that the O_CLOEXEC and O_CLOFORK
+ options accepted by dup3() correspond to FD_CLOEXEC and FD_CLOFORK
+ options with F_DUP3FD.
+
+
F_FREESP
Free storage space associated with a section of the ordinary file
fildes. The section is specified by a variable of data type struct
- flock pointed to by arg. The data type struct flock is defined in
- the <fcntl.h> header (see fcntl.h(3HEAD)) and is described below.
- Note that all file systems might not support all possible varia-
- tions of F_FREESP arguments. In particular, many file systems allow
- space to be freed only at the end of a file.
+ flock pointed to by arg. The data type struct flock is described
+ below. Note that all file systems might not support all possible
+ variations of F_FREESP arguments. In particular, many file systems
+ allow space to be freed only at the end of a file.
F_FREESP64
@@ -98,36 +116,23 @@
than a struct flock argument.
- F_ALLOCSP
-
- Allocate space for a section of the ordinary file fildes. The sec-
- tion is specified by a variable of data type struct flock pointed
- to by arg. The data type struct flock is defined in the <fcntl.h>
- header (see fcntl.h(3HEAD) and is described below.
-
-
- F_ALLOCSP64
-
- Equivalent to F_ALLOCSP, but takes a struct flock64 argument rather
- than a struct flock argument.
-
-
F_GETFD
- Get the file descriptor flags defined in <fcntl.h> that are associ-
- ated with the file descriptor fildes. File descriptor flags are
- associated with a single file descriptor and do not affect other
- file descriptors that refer to the same file.
+ Get the file descriptor flags that are associated with the file
+ descriptor fildes. File descriptor flags are associated with a sin-
+ gle file descriptor and do not affect other file descriptors that
+ refer to the same file. See the description of F_SETFD below for
+ details of the defined file descriptor flags.
F_GETFL
- Get the file status flags and file access modes, defined in
- <fcntl.h>, for the file descriptor specified by fildes. The file
- access modes can be extracted from the return value using the mask
- O_ACCMODE, which is defined in <fcntl.h>. File status flags and
- file access modes do not affect other file descriptors that refer
- to the same file with different open file descriptions.
+ Get the file status flags and file access modes for the file
+ descriptor specified by fildes. The file access modes can be
+ extracted from the return value using the mask O_ACCMODE, which is
+ defined in <fcntl.h>. File status flags and file access modes do
+ not affect other file descriptors that refer to the same file with
+ different open file descriptions.
F_GETOWN
@@ -148,36 +153,39 @@
F_GETXFL
Get the file status flags, file access modes, and file creation and
- assignment flags, defined in <fcntl.h>, for the file descriptor
- specified by fildes. The file access modes can be extracted from
- the return value using the mask O_ACCMODE, which is defined in
- <fcntl.h>. File status flags, file access modes, and file creation
- and assignment flags do not affect other file descriptors that
- refer to the same file with different open file descriptions.
+ assignment flags, for the file descriptor specified by fildes. The
+ file access modes can be extracted from the return value using the
+ mask O_ACCMODE, which is defined in <fcntl.h>. File status flags,
+ file access modes, and file creation and assignment flags do not
+ affect other file descriptors that refer to the same file with dif-
+ ferent open file descriptions.
F_SETFD
- Set the file descriptor flags defined in <fcntl.h>, that are asso-
- ciated with fildes, to the third argument, arg, taken as type int.
- If the FD_CLOEXEC flag in the third argument is 0, the file will
- remain open across the exec() functions; otherwise the file will be
- closed upon successful execution of one of the exec() functions.
-
- If the FD_CLOFORK flag in the third argument is 0, the file will
- remain open across the fork() functions; otherwise the file will be
- unavailable after successful execution of one of the fork() func-
- tions.
+ Set the file descriptor flags that are associated with fildes, to
+ the third argument, arg, taken as type int. Any flags not set in
+ the third argument are cleared on the file descriptor.
+
+ If the FD_CLOEXEC flag is not set on the file descriptor, the file
+ will remain open across the exec() functions; otherwise the file
+ will be closed upon successful execution of one of the exec() func-
+ tions or the spawn(2) system call.
+
+ If the FD_CLOFORK flag is not set on the file descriptor, the file
+ will remain open across the fork() functions; otherwise the file
+ will be unavailable after successful execution of one of the fork()
+ functions or the spawn(2) system call.
F_SETFL
- Set the file status flags, defined in <fcntl.h>, for the file
- descriptor specified by fildes from the corresponding bits in the
- arg argument, taken as type int. Bits corresponding to the file
- access mode and file creation and assignment flags that are set in
- arg are ignored. If any bits in arg other than those mentioned here
- are changed by the application, the result is unspecified.
+ Set the file status flags for the file descriptor specified by
+ fildes from the corresponding bits in the arg argument, taken as
+ type int. Bits corresponding to the file access mode and file cre-
+ ation and assignment flags that are set in arg are ignored. If any
+ bits in arg other than those mentioned here are changed by the
+ application, the result is unspecified.
F_SETOWN
@@ -190,6 +198,15 @@
socket, the results are unspecified.
+ F_SETTPD
+
+ Sets whether the file is owned by a process in the Trusted Path
+ Domain (TPD). If the int argument is zero the file is marked as
+ not-owned. If the int argument is not-zero, the file is marked as
+ owned by a TPD process. Only processes in the TPD can change the
+ ownership. For more information, see the tpd(7) man page.
+
+
The following commands are available for advisory record locking.
Record locking is supported for regular files, and may be supported for
@@ -199,11 +216,11 @@
Get the first lock which blocks the lock description pointed to by
the third argument, arg, taken as a pointer to type struct flock,
- defined in <fcntl.h>. The information retrieved overwrites the
- information passed to fcntl() in the structure flock. If no lock is
- found that would prevent this lock from being created, then the
- structure will be left unchanged except for the lock type which
- will be set to F_UNLCK.
+ described below. The information retrieved overwrites the informa-
+ tion passed to fcntl() in the structure flock. If no lock is found
+ that would prevent this lock from being created, then the structure
+ will be left unchanged except for the lock type which will be set
+ to F_UNLCK.
F_GETLK64
@@ -216,12 +233,11 @@
Set or clear a file segment lock according to the lock description
pointed to by the third argument, arg, taken as a pointer to type
- struct flock, defined in <fcntl.h>. F_SETLK is used to establish
- shared (or read) locks (F_RDLCK) or exclusive (or write) locks
- (F_WRLCK), as well as to remove either type of lock (F_UNLCK).
- F_RDLCK, F_WRLCK and F_UNLCK are defined in <fcntl.h>. If a shared
- or exclusive lock cannot be set, fcntl() will return immediately
- with a return value of -1.
+ struct flock, described below. F_SETLK is used to establish shared
+ (or read) locks (F_RDLCK) or exclusive (or write) locks (F_WRLCK),
+ as well as to remove either type of lock (F_UNLCK). If a shared or
+ exclusive lock cannot be set, fcntl() will return immediately with
+ a return value of -1.
F_SETLK64
@@ -247,15 +263,6 @@
than a struct flock argument.
- F_SETTPD
-
- Sets whether the file is owned by the TPD process. If the int argu-
- ment is zero the file is marked as not-owned. If the int argument
- is not-zero, the file is marked as owned by the TPD process. Only
- processes on the TPD process can change the ownership. For more
- information, see the tpd(7) man page.
-
-
When a shared lock is set on a segment of a file, other processes will
be able to set shared locks on that segment or a portion of it. A
@@ -270,7 +277,8 @@
opened with write access.
- The flock structure contains at least the following elements:
+ The flock structure is defined in the <fcntl.h> header and contains at
+ least the following elements:
short l_type; /* lock operation type */
short l_whence; /* lock base indicator */
@@ -422,6 +430,12 @@
Upon successful completion, the value returned depends on cmd as fol-
lows:
+ F_ALLOCSP Value of 0.
+
+
+ F_ALLOCSP64 Value of 0.
+
+
F_DUPFD A new file descriptor.
@@ -440,15 +454,26 @@
F_DUP2FD_CLOFORK A new file descriptor.
+ F_DUP3FD A new file descriptor.
+
+
F_FREESP Value of 0.
- F_GETFD Value of flags defined in <fcntl.h>. The return
- value will not be negative.
+ F_FREESP64 Value of 0.
- F_GETFL Value of file status flags and access modes. The
- return value will not be negative.
+ F_GETFD Value with bits set corresponding to the FD_* flags
+ associated with the file descriptor fildes. See the
+ entry for F_SETFD in the Description section above
+ for details of the defined file descriptor flags.
+ The return value will not be negative.
+
+
+ F_GETFL Value with bits set corresponding to the file sta-
+ tus flags and access modes associated with the file
+ descriptor fildes. The return value will not be
+ negative.
F_GETLK Value other than -1.
@@ -461,6 +486,10 @@
this will not be -1.
+ F_GETTPD 0 if the file is not owned by the TPD or 1 if the
+ file is owned by the TPD.
+
+
F_GETXFL Value of file status flags, access modes, and cre-
ation and assignment flags. The return value will
not be negative.
@@ -487,6 +516,9 @@
F_SETOWN Value other than -1.
+ F_SETTPD Value other than -1.
+
+
F_SHARE Value other than -1.
@@ -508,11 +540,13 @@
segment of a file to be locked is already shared-locked or exclu-
sive-locked by another process.
- The cmd argument is F_FREESP, the file exists, mandatory
- file/record locking is set, and there are outstanding record locks
- on the file; or the cmd argument is F_SETLK, F_SETLK64, F_SETLKW,
- or F_SETLKW64, mandatory file/record locking is set, and the file
- is currently being mapped to virtual memory using mmap(2).
+ The cmd argument is F_FREESP or F_FREESP64, the file exists, manda-
+ tory file/record locking is set, and there are outstanding record
+ locks on the file,
+
+ The cmd argument is F_SETLK, F_SETLK64, F_SETLKW, or F_SETLKW64,
+ mandatory file/record locking is set, and the file is currently
+ being mapped to virtual memory using mmap(2).
The cmd argument is F_SHARE and f_access conflicts with an existing
f_deny share reservation.
@@ -520,19 +554,20 @@
EBADF
- The fildes argument is not a valid open file descriptor; or the cmd
- argument is F_SETLK, F_SETLK64, F_SETLKW, or F_SETLKW64, the type
- of lock, l_type, is a shared lock (F_RDLCK), and fildes is not a
- valid file descriptor open for reading; or the type of lock l_type
- is an exclusive lock (F_WRLCK) and fildes is not a valid file
- descriptor open for writing.
-
- The cmd argument is F_FREESP and fildes is not a valid file
- descriptor open for writing.
-
- The cmd argument is F_DUP2FD_CLOEXEC and F_DUP2FD_CLOFORK and arg
- is negative or is not less than the current resource limit for
- RLIMIT_NOFILE.
+ The fildes argument is not a valid open file descriptor.
+
+ The cmd argument is F_SETLK, F_SETLK64, F_SETLKW, or F_SETLKW64,
+ the type of lock, l_type, is a shared lock (F_RDLCK), and fildes is
+ not a valid file descriptor open for reading; or the type of lock
+ l_type is an exclusive lock (F_WRLCK) and fildes is not a valid
+ file descriptor open for writing.
+
+ The cmd argument is F_FREESP or F_FREESP64, and fildes is not a
+ valid file descriptor open for writing.
+
+ The cmd argument is F_DUP2FD, F_DUP2FD_CLOEXEC, F_DUP2FD_CLOFORK,
+ or F_DUP3FD, and arg is negative or is not less than the current
+ resource limit for RLIMIT_NOFILE.
The cmd argument is F_SHARE, the f_access share reservation is for
write access, and fildes is not a valid file descriptor open for
@@ -546,11 +581,8 @@
EFAULT
The cmd argument is F_GETLK, F_GETLK64, F_SETLK, F_SETLK64,
- F_SETLKW, F_SETLKW64, or F_FREESP and the arg argument points to an
- illegal address.
-
- The cmd argument is F_SHARE or F_UNSHARE and arg points to an ille-
- gal address.
+ F_SETLKW, F_SETLKW64, F_FREESP, F_FREESP64, F_SHARE, or F_UNSHARE
+ and the arg argument points to an illegal address.
EINTR
@@ -561,17 +593,20 @@
EINVAL
- The cmd argument is invalid or not supported by the file system; or
- the cmd argument is F_DUPFD_CLOEXEC and F_DUP2FD_CLOFORK and arg is
- negative or greater than or equal to OPEN_MAX; or the cmd argument
- is F_GETLK, F_GETLK64, F_SETLK, F_SETLK64, F_SETLKW, or F_SETLKW64
- and the data pointed to by arg is not valid; or fildes refers to a
- file that does not support locking.
+ The cmd argument is invalid or not supported by the file system.
+
+ The cmd argument is F_DUPFD, F_DUPFD_CLOEXEC, or F_DUPFD_CLOFORK,
+ and arg is negative or is not less than the current resource limit
+ for RLIMIT_NOFILE.
+
+ The cmd argument is F_GETLK, F_GETLK64, F_SETLK, F_SETLK64,
+ F_SETLKW, or F_SETLKW64 and the data pointed to by arg is not
+ valid; or fildes refers to a file that does not support locking.
The cmd argument is F_UNSHARE and a reservation with this f_id for
this process does not exist.
- The cmd argument is F_DUP3FD and the third argument are the same as
+ The cmd argument is F_DUP3FD, and the third argument is the same as
the first argument or the fourth argument has invalid flags.
@@ -583,10 +618,10 @@
EMFILE
- The cmd argument is F_DUPFD_CLOEXEC and F_DUP2FD_CLOFORK and either
- OPEN_MAX file descriptors are currently open in the calling
- process, or no file descriptors greater than or equal to arg are
- available.
+ The cmd argument is F_DUPFD, F_DUPFD_CLOEXEC, or F_DUPFD_CLOFORK,
+ and either OPEN_MAX file descriptors are currently open in the
+ calling process, or no file descriptors greater than or equal to
+ arg are available.
ENOLCK
@@ -598,10 +633,8 @@
ENOLINK
- Either the fildes argument is on a remote machine and the link to
- that machine is no longer active; or the cmd argument is F_FREESP,
- the file is on a remote machine, and the link to that machine is no
- longer active.
+ The fildes argument is on a remote machine and the link to that
+ machine is no longer active.
EOVERFLOW
@@ -642,9 +675,9 @@
some lock from another process and putting the calling process to
sleep, waiting for that lock to become free would cause a deadlock.
- The cmd argument is F_FREESP, mandatory record locking is enabled,
- O_NDELAY and O_NONBLOCK are clear and a deadlock condition was
- detected.
+ The cmd argument is F_FREESP or F_FREESP64, mandatory record lock-
+ ing is enabled, O_NDELAY and O_NONBLOCK are clear, and a deadlock
+ condition was detected.
ATTRIBUTES
@@ -656,7 +689,7 @@
+-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
- |MT-Level |Async-Signal Safe |
+ |MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
|Standard |See standards(7). |
+-----------------------------+-----------------------------+
@@ -698,6 +731,38 @@
that server. If a lock cannot be reclaimed, the process that held the
lock is issued a SIGLOST signal.
+HISTORY
+ The fcntl() function has been included in all Sun and Oracle releases
+ of Solaris.
+
+
+ Support for the following cmd values is available in Solaris starting
+ with the listed release:
+
+
+ +-------------------------------------------------+---------+
+ | COMMAND |RELEASE |
+ +-------------------------------------------------+---------+
+ |F_DUP3FD |11.4.0 |
+ +-------------------------------------------------+---------+
+ |F_GETTPD, F_SETTPD |11.3.18 |
+ +-------------------------------------------------+---------+
+ |F_DUPFD_CLOFORK, F_DUP2FD_CLOFORK |11.3.0 |
+ +-------------------------------------------------+---------+
+ |F_ALLOCSP, F_ALLOCSP64, F_DUPFD_CLOEXEC, |11.0.0 |
+ |F_DUP2FD_CLOEXEC | |
+ +-------------------------------------------------+---------+
+ |F_GETXFL |9 |
+ +-------------------------------------------------+---------+
+ |F_DUP2FD, F_FREESP64, F_GETLK64, F_SETLK64, |2.6 |
+ |F_SETLKW64, F_SHARE, F_UNSHARE | |
+ +-------------------------------------------------+---------+
+ |F_FREESP |2.0 |
+ +-------------------------------------------------+---------+
+ |F_DUPFD, F_GETFD, F_SETFD, F_GETFL, F_SETFL, |1.0 |
+ |F_GETOWN, F_SETOWN, F_GETLK, F_SETLK, F_SETLKW | |
+ +-------------------------------------------------+---------+
+
-Oracle Solaris 11.4 21 Mar 2022 fcntl(2)
+Oracle Solaris 11.4 30 Jan 2023 fcntl(2)
diff -NurbBw 11.4.54/man2/fexecve.2 11.4.57/man2/fexecve.2
--- 11.4.54/man2/fexecve.2 2023-05-24 15:26:46.413120675 -0700
+++ 11.4.57/man2/fexecve.2 2023-05-24 15:27:25.897231389 -0700
@@ -40,32 +40,49 @@
DESCRIPTION
Each of the functions in the exec family replaces the current process
image with a new process image. The new image is constructed from a
- regular, executable file called the new process image file. This file
- is either an executable object file or a file of data for an inter-
- preter. There is no return from a successful call to one of these func-
- tions because the calling process image is overlaid by the new process
- image.
+ regular, executable file called the new process image file. There is no
+ return from a successful call to one of these functions because the
+ calling process image is overlaid by the new process image.
- The fexecve() function behaves like execve(), except that the file to
- be executed is specified by the file descriptor fd rather than by a
- pathname. The file offset of fd is ignored.
+ The new process image file can be a binary executable object file, as
+ described in the a.out(5) man page. Alternatively, the process image
+ file can be an interpreted file. Interpreted files are run by loading a
+ binary executable to serve as an interpreter, and passing the inter-
+ preted file to it as input.
- An interpreter file begins with a line of the form
+ Interpreted files, and interpreters, are a general concept, and can be
+ applied to a wide range of programs. A common case is that of input to
+ a command shell program. In such cases, the interpreted file is com-
+ monly referred to as a shell script, and the interpreter as a shell.
+
+
+ An interpreted file begins with a line of the form
#! pathname [arg]
where pathname is the path of the interpreter, and arg is an optional
- argument. When an interpreter file is executed, the system invokes the
- specified interpreter. The pathname specified in the interpreter file
- is passed as arg0 to the interpreter. If arg was specified in the
- interpreter file, it is passed as arg1 to the interpreter. The remain-
- ing arguments to the interpreter are arg0 through argn of the origi-
- nally exec'd file. The interpreter named by pathname must not be an
- interpreter file.
+ argument. If this initial line is missing, the execlp(), execvp(),
+ execvpe(), and posix_spawnp(3C) functions will attempt to use a shell
+ as interpreter, where the standard to which the caller conforms deter-
+ mines which shell is used. See the "Utilities" section of the stan-
+ dards(7) man page.
+
+
+ To execute an interpreted file, the system invokes the specified inter-
+ preter, and provides the interpreted file to it as input to be pro-
+ cessed. The interpreter path is passed as argv[0] to the interpreter.
+ If arg was specified in the interpreted file, it is passed as the next
+ argument, argv[1]. Any arguments passed to the exec() system call are
+ placed following these initial arguments.
+
+
+ The interpreted file concept has a single level. The interpreter speci-
+ fied on the first line of an interpreted file must be an executable
+ object file, and cannot be another interpreted file.
When a C-language program is executed as a result of this call, it is
@@ -100,20 +117,37 @@
passed on to the new process image in the main() arguments.
- The path argument points to a path name that identifies the new process
- image file.
+ The selection of the file to execute depends on which function is
+ called:
+
+
+ execl(), execv(), execle(), execve()
+
+ The path argument points to a pathname that identifies the new
+ process image file.
+
+
+ fexecve()
+
+ The new process image file is specified by the file descriptor fd
+ rather than by a pathname. The file offset of fd is ignored. See
+ the USAGE section below.
- The file argument is used to construct a pathname that identifies the
- new process image file. If the file argument contains a slash charac-
- ter, it is used as the pathname for this file. Otherwise, the path pre-
- fix for this file is obtained by a search of the directories passed in
- the PATH environment variable (see environ(7)). The environment is sup-
- plied typically by the shell. If the process image file is not a valid
- executable object file, execlp(), execvp() and execvpe() use the con-
- tents of that file as standard input to the shell. In this case, the
- shell becomes the new process image. The standard to which the caller
- conforms determines which shell is used. See standards(7).
+ execlp(), execvp(), execvpe()
+
+ The file argument is used to construct a pathname that identifies
+ the new process image file. If the file argument contains a slash
+ character, it is used as the pathname for this file. Otherwise, the
+ path prefix for this file is obtained by a search of the directo-
+ ries passed in the PATH environment variable (see environ(7)). The
+ environment is supplied typically by the shell. If the process
+ image file is not a in a supported file format, execlp(), execvp()
+ and execvpe() use the contents of that file as standard input to
+ the shell. In this case, the shell becomes the new process image.
+ The standard to which the caller conforms determines which shell is
+ used. See standards(7).
+
The arguments represented by arg0... are pointers to null-terminated
@@ -200,7 +234,7 @@
set to the group ID of the new process image file. The real user ID and
real group ID of the new process image remain the same as those of the
calling process image. The effective user ID and effective group ID of
- the new process image are saved (as the saved set-user-ID and the saved
+ the new process image are saved as the saved set-user-ID and the saved
set-group-ID for use by setuid(2).
@@ -245,7 +279,7 @@
If _XOPEN_REALTIME is defined and has a value other than -1, any named
semaphores open in the calling process are closed as if by appropriate
- calls to sem_close(3C)
+ calls to sem_close(3C).
Profiling is disabled for the new process; see profil(2).
@@ -552,16 +586,26 @@
ksh(1), ps(1), sh(1), alarm(2), brk(2), chmod(2), execvex(2), exit(2),
fcntl(2), fork(2), getpflags(2), getrlimit(2), memcntl(2), mmap(2),
nice(2), priocntl(2), profil(2), semop(2), shmop(2), sigpending(2),
- sigprocmask(2), times(2), umask(2), lockf(3C), posix_spawn(3C),
- ptrace(3C), setlocale(3C), signal(3C), system(3C), timer_create(3C),
- a.out(5), contract(5), process(5), attributes(7), environ(7), privi-
- leges(7), standards(7)
+ sigprocmask(2), spawn(2), times(2), umask(2), lockf(3C),
+ posix_spawn(3C), ptrace(3C), setlocale(3C), signal(3C), system(3C),
+ timer_create(3C), a.out(5), contract(5), process(5), attributes(7),
+ environ(7), privileges(7), standards(7)
WARNINGS
If a program is setuid to a user ID other than the superuser, and the
program is executed when the real user ID is super-user, then the pro-
gram has some of the powers of a super-user as well.
+HISTORY
+ The execvpe() function was added to Oracle Solaris in Solaris 11.4.0.
+
+
+ The fexecve() function was added to Oracle Solaris in Solaris 11.0.0.
+
+
+ The execl(), execle(), execlp(), execv(), execve(), and execvp() func-
+ tions have been included in all Sun and Oracle releases of Solaris.
+
-Oracle Solaris 11.4 11 May 2021 exec(2)
+Oracle Solaris 11.4 30 Jan 2023 exec(2)
diff -NurbBw 11.4.54/man2/fgetlabel.2 11.4.57/man2/fgetlabel.2
--- 11.4.54/man2/fgetlabel.2 2023-05-24 15:26:46.453545252 -0700
+++ 11.4.57/man2/fgetlabel.2 2023-05-24 15:27:25.934728636 -0700
@@ -18,7 +18,7 @@
DESCRIPTION
The getlabel() function obtains the sensitivity label of the file that
- is named by path. Discretionary read, write or execute permission to
+ is named by path. Discretionary read, write, or execute permission to
the final component of path is not required, but all directories in the
path prefix of path must be searchable.
@@ -88,14 +88,21 @@
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
- |Availability |system/library |
- +-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
+ |MT-Level |MT-Safe |
+ +-----------------------------+-----------------------------+
+ |Standard |None |
+ +-----------------------------+-----------------------------+
SEE ALSO
open(2), pathconf(2), m_label_alloc(3TSOL), attributes(7), labels(7)
+HISTORY
+ The getlabel() and fgetlabel() functions were added to Solaris in
+ Solaris 10 4/08 (Update 5). Prior to that they were included in the
+ Trusted Extensions add-on for Solaris.
+
-Oracle Solaris 11.4 19 Aug 2014 getlabel(2)
+Oracle Solaris 11.4 30 Jan 2023 getlabel(2)
diff -NurbBw 11.4.54/man2/fork.2 11.4.57/man2/fork.2
--- 11.4.54/man2/fork.2 2023-05-24 15:26:46.512219364 -0700
+++ 11.4.57/man2/fork.2 2023-05-24 15:27:25.970872245 -0700
@@ -36,69 +36,76 @@
group ID
- o environment
+ o supplementary group IDs
- o open file descriptors
+ o saved user ID and group ID
- o close-on-exec flags (see exec(2))
+ o set-user-ID mode bit
- o signal handling settings (that is, SIG_DFL, SIG_IGN,
- SIG_HOLD, function address)
+ o set-group-ID mode bit
- o supplementary group IDs
+ o task ID and project ID
- o set-user-ID mode bit
+ o process group ID
- o set-group-ID mode bit
+ o session ID (see exit(2))
- o profiling on/off status
+ o environment
- o nice value (see nice(2))
+ o root directory (see chroot(2))
- o scheduler class (see priocntl(2))
+ o current working directory
- o all attached shared memory segments (see shmop(2))
+ o file mode creation mask (see umask(2))
- o process group ID -- memory mappings (see mmap(2))
+ o controlling terminal
- o session ID (see exit(2))
+ o open file descriptors, except those with close-on-fork flags
+ (see fcntl(2))
- o current working directory
+ o close-on-exec flags (see fcntl(2))
- o extended policy and related flags (see privileges(7) and
- setpflags(2))
+ o signal handling settings (that is, SIG_DFL, SIG_IGN,
+ SIG_HOLD, function address)
- o root directory
+ o profiling on/off status
- o file mode creation mask (see umask(2))
+ o nice value (see nice(2))
- o resource limits (see getrlimit(2))
+ o scheduler class (see priocntl(2))
- o controlling terminal
+ o all attached shared memory segments (see shmop(2))
- o saved user ID and group ID
+ o memory mappings (see mmap(2))
- o task ID and project ID
+ o extended policy and related flags (see privileges(7) and
+ setpflags(2))
+
+
+ o resource limits (see getrlimit(2))
+
+
+ o active contract templates (see contract(5))
o processor bindings (see processor_bind(2))
@@ -114,9 +121,6 @@
o process flags (see getpflags(2))
- o active contract templates (see contract(5))
-
-
o security extension configuration (see sxadm(8))
@@ -327,7 +331,7 @@
+-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
- |MT-Level |Async-Signal-Safe. |
+ |MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
|Standard |See below. |
+-----------------------------+-----------------------------+
@@ -364,6 +368,22 @@
the use of posix_spawn(3C) is recommended, in preference to the fork
functions documented here.
+HISTORY
+ The forkx() and forkallx() functions and the FORK_NOSIGCHLD and
+ FORK_WAITPID flags were added in the Oracle Solaris 11.0.0 release.
+
+
+ The forkall() function was added in the Solaris 10 3/05 release.
+
+
+ The fork1() function was added to Solaris in the Solaris 2.2 release.
+
+
+ The fork() function has been included in all Sun and Oracle releases of
+ Solaris. See the Threads section above for information about changes in
+ the handling of multiple threads by the fork() function in the Solaris
+ 10 release.
+
-Oracle Solaris 11.4 27 Mar 2020 fork(2)
+Oracle Solaris 11.4 30 Jan 2023 fork(2)
diff -NurbBw 11.4.54/man2/fork1.2 11.4.57/man2/fork1.2
--- 11.4.54/man2/fork1.2 2023-05-24 15:26:46.572792465 -0700
+++ 11.4.57/man2/fork1.2 2023-05-24 15:27:26.029113076 -0700
@@ -36,69 +36,76 @@
group ID
- o environment
+ o supplementary group IDs
- o open file descriptors
+ o saved user ID and group ID
- o close-on-exec flags (see exec(2))
+ o set-user-ID mode bit
- o signal handling settings (that is, SIG_DFL, SIG_IGN,
- SIG_HOLD, function address)
+ o set-group-ID mode bit
- o supplementary group IDs
+ o task ID and project ID
- o set-user-ID mode bit
+ o process group ID
- o set-group-ID mode bit
+ o session ID (see exit(2))
- o profiling on/off status
+ o environment
- o nice value (see nice(2))
+ o root directory (see chroot(2))
- o scheduler class (see priocntl(2))
+ o current working directory
- o all attached shared memory segments (see shmop(2))
+ o file mode creation mask (see umask(2))
- o process group ID -- memory mappings (see mmap(2))
+ o controlling terminal
- o session ID (see exit(2))
+ o open file descriptors, except those with close-on-fork flags
+ (see fcntl(2))
- o current working directory
+ o close-on-exec flags (see fcntl(2))
- o extended policy and related flags (see privileges(7) and
- setpflags(2))
+ o signal handling settings (that is, SIG_DFL, SIG_IGN,
+ SIG_HOLD, function address)
- o root directory
+ o profiling on/off status
- o file mode creation mask (see umask(2))
+ o nice value (see nice(2))
- o resource limits (see getrlimit(2))
+ o scheduler class (see priocntl(2))
- o controlling terminal
+ o all attached shared memory segments (see shmop(2))
- o saved user ID and group ID
+ o memory mappings (see mmap(2))
- o task ID and project ID
+ o extended policy and related flags (see privileges(7) and
+ setpflags(2))
+
+
+ o resource limits (see getrlimit(2))
+
+
+ o active contract templates (see contract(5))
o processor bindings (see processor_bind(2))
@@ -114,9 +121,6 @@
o process flags (see getpflags(2))
- o active contract templates (see contract(5))
-
-
o security extension configuration (see sxadm(8))
@@ -327,7 +331,7 @@
+-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
- |MT-Level |Async-Signal-Safe. |
+ |MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
|Standard |See below. |
+-----------------------------+-----------------------------+
@@ -364,6 +368,22 @@
the use of posix_spawn(3C) is recommended, in preference to the fork
functions documented here.
+HISTORY
+ The forkx() and forkallx() functions and the FORK_NOSIGCHLD and
+ FORK_WAITPID flags were added in the Oracle Solaris 11.0.0 release.
+
+
+ The forkall() function was added in the Solaris 10 3/05 release.
+
+
+ The fork1() function was added to Solaris in the Solaris 2.2 release.
+
+
+ The fork() function has been included in all Sun and Oracle releases of
+ Solaris. See the Threads section above for information about changes in
+ the handling of multiple threads by the fork() function in the Solaris
+ 10 release.
+
-Oracle Solaris 11.4 27 Mar 2020 fork(2)
+Oracle Solaris 11.4 30 Jan 2023 fork(2)
diff -NurbBw 11.4.54/man2/forkall.2 11.4.57/man2/forkall.2
--- 11.4.54/man2/forkall.2 2023-05-24 15:26:46.605644869 -0700
+++ 11.4.57/man2/forkall.2 2023-05-24 15:27:26.098264978 -0700
@@ -36,69 +36,76 @@
group ID
- o environment
+ o supplementary group IDs
- o open file descriptors
+ o saved user ID and group ID
- o close-on-exec flags (see exec(2))
+ o set-user-ID mode bit
- o signal handling settings (that is, SIG_DFL, SIG_IGN,
- SIG_HOLD, function address)
+ o set-group-ID mode bit
- o supplementary group IDs
+ o task ID and project ID
- o set-user-ID mode bit
+ o process group ID
- o set-group-ID mode bit
+ o session ID (see exit(2))
- o profiling on/off status
+ o environment
- o nice value (see nice(2))
+ o root directory (see chroot(2))
- o scheduler class (see priocntl(2))
+ o current working directory
- o all attached shared memory segments (see shmop(2))
+ o file mode creation mask (see umask(2))
- o process group ID -- memory mappings (see mmap(2))
+ o controlling terminal
- o session ID (see exit(2))
+ o open file descriptors, except those with close-on-fork flags
+ (see fcntl(2))
- o current working directory
+ o close-on-exec flags (see fcntl(2))
- o extended policy and related flags (see privileges(7) and
- setpflags(2))
+ o signal handling settings (that is, SIG_DFL, SIG_IGN,
+ SIG_HOLD, function address)
- o root directory
+ o profiling on/off status
- o file mode creation mask (see umask(2))
+ o nice value (see nice(2))
- o resource limits (see getrlimit(2))
+ o scheduler class (see priocntl(2))
- o controlling terminal
+ o all attached shared memory segments (see shmop(2))
- o saved user ID and group ID
+ o memory mappings (see mmap(2))
- o task ID and project ID
+ o extended policy and related flags (see privileges(7) and
+ setpflags(2))
+
+
+ o resource limits (see getrlimit(2))
+
+
+ o active contract templates (see contract(5))
o processor bindings (see processor_bind(2))
@@ -114,9 +121,6 @@
o process flags (see getpflags(2))
- o active contract templates (see contract(5))
-
-
o security extension configuration (see sxadm(8))
@@ -327,7 +331,7 @@
+-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
- |MT-Level |Async-Signal-Safe. |
+ |MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
|Standard |See below. |
+-----------------------------+-----------------------------+
@@ -364,6 +368,22 @@
the use of posix_spawn(3C) is recommended, in preference to the fork
functions documented here.
+HISTORY
+ The forkx() and forkallx() functions and the FORK_NOSIGCHLD and
+ FORK_WAITPID flags were added in the Oracle Solaris 11.0.0 release.
+
+
+ The forkall() function was added in the Solaris 10 3/05 release.
+
+
+ The fork1() function was added to Solaris in the Solaris 2.2 release.
+
+
+ The fork() function has been included in all Sun and Oracle releases of
+ Solaris. See the Threads section above for information about changes in
+ the handling of multiple threads by the fork() function in the Solaris
+ 10 release.
+
-Oracle Solaris 11.4 27 Mar 2020 fork(2)
+Oracle Solaris 11.4 30 Jan 2023 fork(2)
diff -NurbBw 11.4.54/man2/forkallx.2 11.4.57/man2/forkallx.2
--- 11.4.54/man2/forkallx.2 2023-05-24 15:26:46.668183598 -0700
+++ 11.4.57/man2/forkallx.2 2023-05-24 15:27:26.137299790 -0700
@@ -36,69 +36,76 @@
group ID
- o environment
+ o supplementary group IDs
- o open file descriptors
+ o saved user ID and group ID
- o close-on-exec flags (see exec(2))
+ o set-user-ID mode bit
- o signal handling settings (that is, SIG_DFL, SIG_IGN,
- SIG_HOLD, function address)
+ o set-group-ID mode bit
- o supplementary group IDs
+ o task ID and project ID
- o set-user-ID mode bit
+ o process group ID
- o set-group-ID mode bit
+ o session ID (see exit(2))
- o profiling on/off status
+ o environment
- o nice value (see nice(2))
+ o root directory (see chroot(2))
- o scheduler class (see priocntl(2))
+ o current working directory
- o all attached shared memory segments (see shmop(2))
+ o file mode creation mask (see umask(2))
- o process group ID -- memory mappings (see mmap(2))
+ o controlling terminal
- o session ID (see exit(2))
+ o open file descriptors, except those with close-on-fork flags
+ (see fcntl(2))
- o current working directory
+ o close-on-exec flags (see fcntl(2))
- o extended policy and related flags (see privileges(7) and
- setpflags(2))
+ o signal handling settings (that is, SIG_DFL, SIG_IGN,
+ SIG_HOLD, function address)
- o root directory
+ o profiling on/off status
- o file mode creation mask (see umask(2))
+ o nice value (see nice(2))
- o resource limits (see getrlimit(2))
+ o scheduler class (see priocntl(2))
- o controlling terminal
+ o all attached shared memory segments (see shmop(2))
- o saved user ID and group ID
+ o memory mappings (see mmap(2))
- o task ID and project ID
+ o extended policy and related flags (see privileges(7) and
+ setpflags(2))
+
+
+ o resource limits (see getrlimit(2))
+
+
+ o active contract templates (see contract(5))
o processor bindings (see processor_bind(2))
@@ -114,9 +121,6 @@
o process flags (see getpflags(2))
- o active contract templates (see contract(5))
-
-
o security extension configuration (see sxadm(8))
@@ -327,7 +331,7 @@
+-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
- |MT-Level |Async-Signal-Safe. |
+ |MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
|Standard |See below. |
+-----------------------------+-----------------------------+
@@ -364,6 +368,22 @@
the use of posix_spawn(3C) is recommended, in preference to the fork
functions documented here.
+HISTORY
+ The forkx() and forkallx() functions and the FORK_NOSIGCHLD and
+ FORK_WAITPID flags were added in the Oracle Solaris 11.0.0 release.
+
+
+ The forkall() function was added in the Solaris 10 3/05 release.
+
+
+ The fork1() function was added to Solaris in the Solaris 2.2 release.
+
+
+ The fork() function has been included in all Sun and Oracle releases of
+ Solaris. See the Threads section above for information about changes in
+ the handling of multiple threads by the fork() function in the Solaris
+ 10 release.
+
-Oracle Solaris 11.4 27 Mar 2020 fork(2)
+Oracle Solaris 11.4 30 Jan 2023 fork(2)
diff -NurbBw 11.4.54/man2/forkx.2 11.4.57/man2/forkx.2
--- 11.4.54/man2/forkx.2 2023-05-24 15:26:46.714247841 -0700
+++ 11.4.57/man2/forkx.2 2023-05-24 15:27:26.169375399 -0700
@@ -36,69 +36,76 @@
group ID
- o environment
+ o supplementary group IDs
- o open file descriptors
+ o saved user ID and group ID
- o close-on-exec flags (see exec(2))
+ o set-user-ID mode bit
- o signal handling settings (that is, SIG_DFL, SIG_IGN,
- SIG_HOLD, function address)
+ o set-group-ID mode bit
- o supplementary group IDs
+ o task ID and project ID
- o set-user-ID mode bit
+ o process group ID
- o set-group-ID mode bit
+ o session ID (see exit(2))
- o profiling on/off status
+ o environment
- o nice value (see nice(2))
+ o root directory (see chroot(2))
- o scheduler class (see priocntl(2))
+ o current working directory
- o all attached shared memory segments (see shmop(2))
+ o file mode creation mask (see umask(2))
- o process group ID -- memory mappings (see mmap(2))
+ o controlling terminal
- o session ID (see exit(2))
+ o open file descriptors, except those with close-on-fork flags
+ (see fcntl(2))
- o current working directory
+ o close-on-exec flags (see fcntl(2))
- o extended policy and related flags (see privileges(7) and
- setpflags(2))
+ o signal handling settings (that is, SIG_DFL, SIG_IGN,
+ SIG_HOLD, function address)
- o root directory
+ o profiling on/off status
- o file mode creation mask (see umask(2))
+ o nice value (see nice(2))
- o resource limits (see getrlimit(2))
+ o scheduler class (see priocntl(2))
- o controlling terminal
+ o all attached shared memory segments (see shmop(2))
- o saved user ID and group ID
+ o memory mappings (see mmap(2))
- o task ID and project ID
+ o extended policy and related flags (see privileges(7) and
+ setpflags(2))
+
+
+ o resource limits (see getrlimit(2))
+
+
+ o active contract templates (see contract(5))
o processor bindings (see processor_bind(2))
@@ -114,9 +121,6 @@
o process flags (see getpflags(2))
- o active contract templates (see contract(5))
-
-
o security extension configuration (see sxadm(8))
@@ -327,7 +331,7 @@
+-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
- |MT-Level |Async-Signal-Safe. |
+ |MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
|Standard |See below. |
+-----------------------------+-----------------------------+
@@ -364,6 +368,22 @@
the use of posix_spawn(3C) is recommended, in preference to the fork
functions documented here.
+HISTORY
+ The forkx() and forkallx() functions and the FORK_NOSIGCHLD and
+ FORK_WAITPID flags were added in the Oracle Solaris 11.0.0 release.
+
+
+ The forkall() function was added in the Solaris 10 3/05 release.
+
+
+ The fork1() function was added to Solaris in the Solaris 2.2 release.
+
+
+ The fork() function has been included in all Sun and Oracle releases of
+ Solaris. See the Threads section above for information about changes in
+ the handling of multiple threads by the fork() function in the Solaris
+ 10 release.
+
-Oracle Solaris 11.4 27 Mar 2020 fork(2)
+Oracle Solaris 11.4 30 Jan 2023 fork(2)
diff -NurbBw 11.4.54/man2/fpathconf.2 11.4.57/man2/fpathconf.2
--- 11.4.54/man2/fpathconf.2 2023-05-24 15:26:46.745909447 -0700
+++ 11.4.57/man2/fpathconf.2 2023-05-24 15:27:26.206288216 -0700
@@ -53,6 +53,8 @@
+----------------------------+--------------------------+--------------+
|{PIPE_BUF} | _PC_PIPE_BUF | 6 |
+----------------------------+--------------------------+--------------+
+ |{POSIX2_SYMLINKS} | _PC_2_SYMLINKS | 4 |
+ +----------------------------+--------------------------+--------------+
|{POSIX_ALLOC_SIZE_MIN} | _PC_ALLOC_SIZE_MIN | |
+----------------------------+--------------------------+--------------+
|{POSIX_REC_INCR_XFER_SIZE} | _PC_REC_INCR_XFER_SIZE | |
@@ -266,9 +268,47 @@
+-----------------------------+-----------------------------+
SEE ALSO
- lseek(2), confstr(3C), sysconf(3C), limits.h(3HEAD), attributes(7),
- standards(7)
+ getconf(1), lseek(2), confstr(3C), sysconf(3C), limits.h(3HEAD),
+ attributes(7), standards(7)
+
+HISTORY
+ The fpathconf() and pathconf() functions have been included in all Sun
+ and Oracle releases of Solaris.
+
+
+ Support for the following values for name is available in Oracle
+ Solaris starting with the listed release:
+
+
+ +-------------------------------------------------+-------------------+
+ | NAME | RELEASE |
+ +-------------------------------------------------+-------------------+
+ |_PC_REFLINK_ENABLED |11.4.0 |
+ +-------------------------------------------------+-------------------+
+ |_PC_SATTR_ENABLED, _PC_SATTR_EXISTS |11.0.0 |
+ +-------------------------------------------------+-------------------+
+ |_PC_CASE_BEHAVIOR, _PC_ACCESS_FILTERING, |10 9/10 (Update 9) |
+ |_PC_TIMESTAMP_RESOLUTION | |
+ +-------------------------------------------------+-------------------+
+ |_PC_MIN_HOLE_SIZE |10 6/06 (Update 2) |
+ +-------------------------------------------------+-------------------+
+ |_PC_ACL_ENABLED, _PC_ALLOC_SIZE_MIN, |10 3/05 |
+ |_PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE, | |
+ |_PC_REC_MIN_XFER_SIZE, _PC_REC_XFER_ALIGN, | |
+ |_PC_SYMLINK_MAX, _PC_2_SYMLINKS | |
+ +-------------------------------------------------+-------------------+
+ |_PC_XATTR_ENABLED, _PC_XATTR_EXISTS |9 |
+ +-------------------------------------------------+-------------------+
+ |_PC_FILESIZEBITS |2.6 |
+ +-------------------------------------------------+-------------------+
+ |_PC_ASYNC_IO, _PC_PRIO_IO, _PC_SYNC_IO |2.3 |
+ +-------------------------------------------------+-------------------+
+ |_PC_CHOWN_RESTRICTED, _PC_LINK_MAX, |1.0 |
+ |_PC_MAX_CANON, _PC_MAX_INPUT, _PC_NAME_MAX, | |
+ |_PC_NO_TRUNC, _PC_PATH_MAX, _PC_PIPE_BUF, | |
+ |_PC_VDISABLE | |
+ +-------------------------------------------------+-------------------+
-Oracle Solaris 11.4 1 June 2016 fpathconf(2)
+Oracle Solaris 11.4 30 Jan 2023 fpathconf(2)
diff -NurbBw 11.4.54/man2/fstatvfs.2 11.4.57/man2/fstatvfs.2
--- 11.4.54/man2/fstatvfs.2 2023-05-24 15:26:46.773873742 -0700
+++ 11.4.57/man2/fstatvfs.2 2023-05-24 15:27:26.251293911 -0700
@@ -15,10 +15,9 @@
int fstatvfs(int fildes, struct statvfs *buf);
DESCRIPTION
- The statvfs() function returns a "generic superblock" describing a file
- system; it can be used to acquire information about mounted file sys-
- tems. The buf argument is a pointer to a structure (described below)
- that is filled by the function.
+ The statvfs() function returns information about a mounted file system.
+ The buf argument is a pointer to a structure (described below) that is
+ filled by the function.
The path argument should name a file that resides on that file system.
@@ -66,16 +65,15 @@
The fstatvfs() function is similar to statvfs(), except that the file
named by path in statvfs() is instead identified by an open file
- descriptor fildes obtained from a successful open(2), creat(2), dup(2),
- fcntl(2), or pipe(2) function call.
+ descriptor fildes.
- The statvfs() function returns correct results for the total number of
- blocks in the entire pool (total) and the number of available blocks
- within a given file system (free). The equation "used = total - free"
- will not work for ZFS file systems, due to the fact that in pooled
- storage many file systems share the total available from the entire
- storage pool.
+ For ZFS file systems, the statvfs() function returns correct results
+ for the total number of blocks in the entire pool (total) and the num-
+ ber of available blocks within a given file system (free). The equation
+ "used = total - free" will not work for ZFS file systems, due to the
+ fact that in pooled storage many file systems share the total available
+ from the entire storage pool.
RETURN VALUES
Upon successful completion, 0 is returned. Otherwise, -1 is returned
@@ -98,8 +96,8 @@
EFAULT The path or buf argument points to an illegal address.
- EINTR A signal was caught during the execution of the
- statvfs() function.
+ EINTR A signal was caught during the execution of the func-
+ tion.
EIO An I/O error occurred while reading the file system.
@@ -110,8 +108,8 @@
ENAMETOOLONG The length of a path component exceeds NAME_MAX charac-
- ters, or the length of path The exceeds PATH_MAX char-
- acters.
+ ters, or the length of path exceeds PATH_MAX charac-
+ ters.
ENOENT Either a component of the path prefix or the file
@@ -129,7 +127,7 @@
The fstatvfs() function will fail if:
- EBADF The fildes argument is not an open file descriptor.
+ EBADF The fildes argument is not a valid open file descriptor.
EFAULT The buf argument points to an illegal address.
@@ -167,6 +165,11 @@
The values returned for f_files, f_ffree, and f_favail may not be valid
for NFS mounted file systems.
+HISTORY
+ The statvfs() and fstatvfs() functions were added to Solaris in Solaris
+ 2.0. In releases of Solaris prior to Solaris 2.0, similar functions
+ were provided under the names statfs() and fstatfs().
-Oracle Solaris 11.4 5 Oct 2012 statvfs(2)
+
+Oracle Solaris 11.4 30 Jan 2023 statvfs(2)
diff -NurbBw 11.4.54/man2/futimesat.2 11.4.57/man2/futimesat.2
--- 11.4.54/man2/futimesat.2 2023-05-24 15:26:46.802471385 -0700
+++ 11.4.57/man2/futimesat.2 2023-05-24 15:27:26.308166428 -0700
@@ -65,8 +65,8 @@
descriptor.
- EINTR A signal was caught during the execution of the
- utimes() function.
+ EINTR A signal was caught during the execution of the func-
+ tion.
EINVAL The number of microseconds specified in one or both of
@@ -145,6 +145,13 @@
futimens(2), stat(2), utime(2), attributes(7), fsattr(7), standards(7),
sysattr(7)
+HISTORY
+ The futimesat() function was added in the Solaris 9 release.
-Oracle Solaris 11.4 2 Jun 2022 utimes(2)
+ The utimes() function has been included in all Sun and Oracle releases
+ of Solaris.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 utimes(2)
diff -NurbBw 11.4.54/man2/getacct.2 11.4.57/man2/getacct.2
--- 11.4.54/man2/getacct.2 2023-05-24 15:26:46.841685137 -0700
+++ 11.4.57/man2/getacct.2 2023-05-24 15:27:26.360154728 -0700
@@ -11,7 +11,8 @@
size_t getacct(idtype_t idtype, id_t id, void *buf, size_t bufsize);
- int putacct(idtype_t idtype, id_t id, void *buf, size_t bufsize, int flags);
+ int putacct(idtype_t idtype, id_t id, void *buf, size_t bufsize,
+ int flags);
int wracct(idtype_t idtype, id_t id, int flags);
@@ -90,7 +91,7 @@
effective set of the calling process.
- ERSCH The id argument does not refer to a presently active sys-
+ ESRCH The id argument does not refer to a presently active sys-
tem task ID or process ID.
@@ -107,12 +108,20 @@
+-----------------------------+-----------------------------+
|ATTRIBUTE TYPE |ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
+ |Interface Stability |Committed |
+ +-----------------------------+-----------------------------+
|MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
+ |Standard |None |
+ +-----------------------------+-----------------------------+
SEE ALSO
libexacct(3LIB), ea_pack_object(3EXACCT), attributes(7), standards(7)
+HISTORY
+ The Extended Accounting facility, including the getacct(), putacct(),
+ and wracct() functions, was added in the Solaris 8 release.
+
-Oracle Solaris 11.4 3 Nov 2021 getacct(2)
+Oracle Solaris 11.4 30 Jan 2023 getacct(2)
diff -NurbBw 11.4.54/man2/getcontext.2 11.4.57/man2/getcontext.2
--- 11.4.54/man2/getcontext.2 2023-05-24 15:26:46.869183058 -0700
+++ 11.4.57/man2/getcontext.2 2023-05-24 15:27:26.390485895 -0700
@@ -66,8 +66,13 @@
SEE ALSO
sigaction(2), sigaltstack(2), sigprocmask(2), bsd_signal(3C), makecon-
- text(3C), ucontext.h(3HEAD), attributes(7), standards(7)
+ text(3C), swapcontext(3C), ucontext.h(3HEAD), attributes(7), stan-
+ dards(7)
+HISTORY
+ The getcontext() and setcontext() functions have been included in
+ Solaris since the Solaris 2.0 release.
-Oracle Solaris 11.4 5 Feb 2001 getcontext(2)
+
+Oracle Solaris 11.4 30 Jan 2023 getcontext(2)
diff -NurbBw 11.4.54/man2/getdents.2 11.4.57/man2/getdents.2
--- 11.4.54/man2/getdents.2 2023-05-24 15:26:46.902975487 -0700
+++ 11.4.57/man2/getdents.2 2023-05-24 15:27:26.424341281 -0700
@@ -75,6 +75,10 @@
SEE ALSO
readdir(3C), dirent.h(3HEAD), lf64(7)
+HISTORY
+ The getdents() function has been included in all Sun and Oracle
+ releases of Solaris.
-Oracle Solaris 11.4 17 Jul 2001 getdents(2)
+
+Oracle Solaris 11.4 30 Jan 2023 getdents(2)
diff -NurbBw 11.4.54/man2/getegid.2 11.4.57/man2/getegid.2
--- 11.4.54/man2/getegid.2 2023-05-24 15:26:46.929311827 -0700
+++ 11.4.57/man2/getegid.2 2023-05-24 15:27:26.473110385 -0700
@@ -23,7 +23,7 @@
DESCRIPTION
The getuid() function returns the real user ID of the calling process.
- The real user ID identifies the person who is logged in.
+ The real user ID identifies the account which is logged in.
The geteuid() function returns the effective user ID of the calling
@@ -53,8 +53,13 @@
+-----------------------------+-----------------------------+
SEE ALSO
- Intro(2), setuid(2), attributes(7), standards(7)
+ Intro(2), getgroups(2), issetugid(2), setuid(2), attributes(7), privi-
+ leges(7), standards(7)
+HISTORY
+ These functions have been included in all Sun and Oracle releases of
+ Solaris.
-Oracle Solaris 11.4 28 Dec 1996 getuid(2)
+
+Oracle Solaris 11.4 30 Jan 2023 getuid(2)
diff -NurbBw 11.4.54/man2/getentropy.2 11.4.57/man2/getentropy.2
--- 11.4.54/man2/getentropy.2 2023-05-24 15:26:46.957420956 -0700
+++ 11.4.57/man2/getentropy.2 2023-05-24 15:27:26.566123934 -0700
@@ -10,12 +10,14 @@
ssize_t getrandom(void *buf, size_t buflen, unsigned int flags);
+
#include <unistd.h>
+
int getentropy(void *buf, size_t buflen);
DESCRIPTION
The getrandom() function can be used to request buflen bytes of data
- from the kernel random pool, which is to be placed into the buffer,
+ from the kernel random pool, which is to be placed into the buffer
pointed to by buf. It is recommended to use the getrandom() function
instead of open(2) and read(2) functions on the /dev/random or
/dev/urandom device.
@@ -32,8 +34,8 @@
If no entropy is available in the pool, the getrandom() function will
block unless the GRND_NONBLOCK flag is set. In this case, the function
returns -1 and errno is set to EAGAIN. Note that the number of bytes
- returned can be less than requested or 0. Callers need to check the
- return value to determine if random bytes were returned. This means
+ returned can be less than requested, including 0. Callers need to check
+ the return value to determine if random bytes were returned. This means
this is not an acceptable calling sequence:
(void) getrandom(&buf, sizeof (buf), 0);
@@ -54,8 +56,7 @@
wise, it returns -1 and sets errno to indicate the error.
ERRORS
- The getrandom() and getentropy() functions fail if:
-
+ The getrandom() and getentropy() functions will fail if:
EINVAL Invalid flags or flag combinations
@@ -145,6 +139,19 @@
SEE ALSO
random(4D)
+HISTORY
+ The getrandom() and getentropy() functions were added to Oracle Solaris
+ in the Solaris 11.3.0 release.
+
+
+ The function prototype for getentropy() was added to the <unistd.h>
+ header in Oracle Solaris 11.4.16. Prior to that, applications needed to
+ include <sys/random.h> as well.
+
+
+ The getentropy() function first appeared in OpenBSD 5.6. The getran-
+ dom() function first appeared in GNU libc 2.25.
+
-Oracle Solaris 11.4 05 Sep 2019 getrandom(2)
+Oracle Solaris 11.4 30 Jan 2023 getrandom(2)
diff -NurbBw 11.4.54/man2/geteuid.2 11.4.57/man2/geteuid.2
--- 11.4.54/man2/geteuid.2 2023-05-24 15:26:46.984297529 -0700
+++ 11.4.57/man2/geteuid.2 2023-05-24 15:27:26.600969295 -0700
@@ -23,7 +23,7 @@
DESCRIPTION
The getuid() function returns the real user ID of the calling process.
- The real user ID identifies the person who is logged in.
+ The real user ID identifies the account which is logged in.
The geteuid() function returns the effective user ID of the calling
@@ -53,8 +53,13 @@
+-----------------------------+-----------------------------+
SEE ALSO
- Intro(2), setuid(2), attributes(7), standards(7)
+ Intro(2), getgroups(2), issetugid(2), setuid(2), attributes(7), privi-
+ leges(7), standards(7)
+HISTORY
+ These functions have been included in all Sun and Oracle releases of
+ Solaris.
-Oracle Solaris 11.4 28 Dec 1996 getuid(2)
+
+Oracle Solaris 11.4 30 Jan 2023 getuid(2)
diff -NurbBw 11.4.54/man2/getgid.2 11.4.57/man2/getgid.2
--- 11.4.54/man2/getgid.2 2023-05-24 15:26:47.011064750 -0700
+++ 11.4.57/man2/getgid.2 2023-05-24 15:27:26.641150137 -0700
@@ -23,7 +23,7 @@
DESCRIPTION
The getuid() function returns the real user ID of the calling process.
- The real user ID identifies the person who is logged in.
+ The real user ID identifies the account which is logged in.
The geteuid() function returns the effective user ID of the calling
@@ -53,8 +53,13 @@
+-----------------------------+-----------------------------+
SEE ALSO
- Intro(2), setuid(2), attributes(7), standards(7)
+ Intro(2), getgroups(2), issetugid(2), setuid(2), attributes(7), privi-
+ leges(7), standards(7)
+HISTORY
+ These functions have been included in all Sun and Oracle releases of
+ Solaris.
-Oracle Solaris 11.4 28 Dec 1996 getuid(2)
+
+Oracle Solaris 11.4 30 Jan 2023 getuid(2)
diff -NurbBw 11.4.54/man2/getgroups.2 11.4.57/man2/getgroups.2
--- 11.4.54/man2/getgroups.2 2023-05-24 15:26:47.043831269 -0700
+++ 11.4.57/man2/getgroups.2 2023-05-24 15:27:26.674590063 -0700
@@ -76,9 +76,33 @@
+-----------------------------+-----------------------------------+
SEE ALSO
- groups(1), chown(2), getuid(2), setuid(2), getgrnam(3C), init-
- groups(3C), attributes(7), privileges(7), standards(7)
+ groups(1), chown(2), getuid(2), setuid(2), getgrnam(3C), getgrou-
+ plist(3C), initgroups(3C), limits.h(3HEAD) attributes(7), privi-
+ leges(7), standards(7)
+ ngroups_max Parameter in Oracle Solaris 11.4 Tunable Parameters Refer-
+ ence Manual
-Oracle Solaris 11.4 12 Nov 2009 getgroups(2)
+HISTORY
+ The getgroups() and setgroups() functions have been included in all Sun
+ and Oracle releases of Solaris.
+
+
+ The value defined in <limits.h> for NGROUPS_MAX was raised to 1024 in
+ the Oracle Solaris 11.4.0 release. In prior releases it was defined to
+ be 16.
+
+
+ The default value of the ngroups_max system tunable was raised to 1024
+ in the Oracle Solaris 11.4.0 release. In prior releases it was defined
+ to be 16.
+
+
+ The maximum limit of the ngroups_max system tunable was raised to 1024
+ in the Solaris 10 8/11 release and Solaris 10 kernel patches. In prior
+ releases it was defined to be 32.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 getgroups(2)
diff -NurbBw 11.4.54/man2/getisax.2 11.4.57/man2/getisax.2
--- 11.4.54/man2/getisax.2 2023-05-24 15:26:47.080012488 -0700
+++ 11.4.57/man2/getisax.2 2023-05-24 15:27:26.709678666 -0700
@@ -23,11 +23,16 @@
Values for AV_xxx_yyy for i386 and AMD64, and their associated descrip-
tions, can be found in <sys/auxv_386.h>.
+
+ If n is zero and array is NULL, the number of array elements needed to
+ hold all the non-zero values will be returned and array will not be
+ accessed. The number returned can differ between systems and releases,
+ reflecting the number of extensions supported by each.
+
RETURN VALUES
The getisax() function returns the maximum number of array elements
- that contain non-zero values. This may be more than 'n'. The value n
- may be zero and array may be NULL, in which case the number of array
- elements will be returned and array will not be accessed.
+ that contain non-zero values. This may differ from the caller supplied
+ value of the n argument.
EXAMPLES
Example 1 Use getisax() to determine if the SSE2 instruction set is
@@ -71,6 +76,9 @@
by hardware capabilities. For a complete description of hardware capa-
bilities, refer to the Oracle Solaris 11.4 Linkers and Libraries Guide.
+HISTORY
+ The getisax() function was added in the Solaris 10 3/05 release.
+
-Oracle Solaris 11.4 4 May 2020 getisax(2)
+Oracle Solaris 11.4 30 Jan 2023 getisax(2)
diff -NurbBw 11.4.54/man2/getitimer.2 11.4.57/man2/getitimer.2
--- 11.4.54/man2/getitimer.2 2023-05-24 15:26:47.109153183 -0700
+++ 11.4.57/man2/getitimer.2 2023-05-24 15:27:26.737432567 -0700
@@ -134,13 +128,20 @@
|Standard |See standards(7). |
+-----------------------------+-----------------------------+
+
+ The POSIX.1-2008, SUSv4, and XPG7 standards have declared the
+ getitimer() and setitimer() functions to be obsolescent and recommend
+ use of the timer_gettime(3C) and timer_settime(3C) functions to replace
+ them.
+
SEE ALSO
- alarm(2), exec(2), gettimeofday(3C), sleep(3C), sysconf(3C),
- attributes(7), standards(7)
+ alarm(2), exec(2), gettimeofday(3C), sleep(3C), sysconf(3C), timer_get-
+ time(3C), timer_settime(3C), attributes(7), standards(7)
NOTES
The setitimer() function is independent of the alarm(2) and sleep(3C)
- functions.
+ functions on Oracle Solaris, but this cannot be relied upon for some
+ other operating systems.
The ITIMER_PROF and ITIMER_REALPROF timers deliver the same signal and
@@ -149,6 +150,15 @@
The granularity of the resolution of alarm time is platform-dependent.
+HISTORY
+ The ITIMER_REALPROF timer was added to Solaris in the Solaris 2.0
+ release.
+
+
+ The getitimer() and setitimer() functions, and the ITIMER_REAL,
+ ITIMER_VIRTUAL, and ITIMER_PROF timers have been included in all Sun
+ and Oracle releases of Solaris.
+
-Oracle Solaris 11.4 15 Aug 2012 getitimer(2)
+Oracle Solaris 11.4 30 Jan 2023 getitimer(2)
diff -NurbBw 11.4.54/man2/getlabel.2 11.4.57/man2/getlabel.2
--- 11.4.54/man2/getlabel.2 2023-05-24 15:26:47.141655117 -0700
+++ 11.4.57/man2/getlabel.2 2023-05-24 15:27:26.763834685 -0700
@@ -18,7 +18,7 @@
DESCRIPTION
The getlabel() function obtains the sensitivity label of the file that
- is named by path. Discretionary read, write or execute permission to
+ is named by path. Discretionary read, write, or execute permission to
the final component of path is not required, but all directories in the
path prefix of path must be searchable.
@@ -88,14 +88,21 @@
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
- |Availability |system/library |
- +-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
+ |MT-Level |MT-Safe |
+ +-----------------------------+-----------------------------+
+ |Standard |None |
+ +-----------------------------+-----------------------------+
SEE ALSO
open(2), pathconf(2), m_label_alloc(3TSOL), attributes(7), labels(7)
+HISTORY
+ The getlabel() and fgetlabel() functions were added to Solaris in
+ Solaris 10 4/08 (Update 5). Prior to that they were included in the
+ Trusted Extensions add-on for Solaris.
+
-Oracle Solaris 11.4 19 Aug 2014 getlabel(2)
+Oracle Solaris 11.4 30 Jan 2023 getlabel(2)
diff -NurbBw 11.4.54/man2/getmsg.2 11.4.57/man2/getmsg.2
--- 11.4.54/man2/getmsg.2 2023-05-24 15:26:47.176324455 -0700
+++ 11.4.57/man2/getmsg.2 2023-05-24 15:27:26.798240967 -0700
@@ -179,7 +176,9 @@
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
- |Interface Stability |Standard |
+ |Interface Stability |Committed |
+ +-----------------------------+-----------------------------+
+ |Standard |See standards(7). |
+-----------------------------+-----------------------------+
SEE ALSO
@@ -189,6 +188,14 @@
STREAMS Programming Guide
+HISTORY
+ The getmsg() function has been included in all Sun and Oracle releases
+ of Solaris.
+
+
+ The getpmsg() function has been included in Solaris since the Solaris
+ 2.0 release.
+
-Oracle Solaris 11.4 9 Oct 2015 getmsg(2)
+Oracle Solaris 11.4 30 Jan 2023 getmsg(2)
diff -NurbBw 11.4.54/man2/getpflags.2 11.4.57/man2/getpflags.2
--- 11.4.54/man2/getpflags.2 2023-05-24 15:26:47.214093856 -0700
+++ 11.4.57/man2/getpflags.2 2023-05-24 15:27:26.831015742 -0700
@@ -16,18 +16,17 @@
DESCRIPTION
The getpflags() and setpflags() functions obtain and modify the current
- per-process flags.
+ per-process flags. Each flag takes the value of 0 (unset) or 1 (set).
The following values for flag are supported:
PRIV_AWARE
- This one bit flag takes the value of 0 (unset) or 1 (set). Only if
- this flag is set is the current process privilege-aware. A process
- can attempt to unset this flag but might fail silently if the
- observed set invariance condition cannot be met. Setting this flag
- is always successful.
+ This flag is set if the current process is privilege-aware. A
+ process can attempt to unset this flag but might fail silently if
+ the observed set invariance condition cannot be met. Setting this
+ flag is always successful.
When the PRIV_AWARE flag is set or unset, the observed effective
and permitted set do not change. When setting PRIV_AWARE, this is
@@ -37,13 +36,13 @@
PRIV_AWARE_RESET
- This one bit flag takes the value of 0 (unset) or 1 (set). This
- causes a process to pretend it is non-privilege aware. The effec-
- tive and permitted privilege set change on the change of the effec-
- tive uid. When all the uid sets become the same through setuid(uid)
- or through setreuid(uid, uid), the effective and permitted set are
- set to the intersection between the limit set and the inheritable
- set. At that point, both PRIV_AWARE and PRIV_AWARE_RESET are unset.
+ This flag causes a process to pretend it is non-privilege aware.
+ The effective and permitted privilege set change on the change of
+ the effective uid. When all the uid sets become the same through
+ setuid(uid) or through setreuid(uid, uid), the effective and per-
+ mitted set are set to the intersection between the limit set and
+ the inheritable set. At that point, both PRIV_AWARE and
+ PRIV_AWARE_RESET are unset.
This flag gets automatically reset when a file becomes privilege
aware, either through calling setppriv(2) or by setting PRIV_AWARE
@@ -52,83 +51,88 @@
PRIV_DEBUG
- This one bit flag takes the value of 0 (unset) or 1 (set). Only if
- this flag is set does the current process have privilege debugging
- enabled. Processes can set and unset this flag at will.
+ This flag enables privilege debugging for the current process. Pro-
+ cesses can set and unset this flag at will.
PRIV_PFEXEC
- This one-bit flag takes the value of 0 (unset) or 1 (set). Only if
- this flag is set is the current process a profile shell. Every time
- exec(2) is called, the exec_attr(5) database for the current user's
- profiles database is queried and the appropriate attributes are
- applied to the new program. PRIV_PFEXEC is inherited except when
- the real UID is changed as a result of the applied attributes.
+ This flag is set if the current process is a profile shell. Every
+ time exec(2) is called, the exec_attr(5) database for the current
+ user's profiles database is queried and the appropriate attributes
+ are applied to the new program. PRIV_PFEXEC is inherited except
+ when the real UID is changed as a result of the applied attributes.
PRIV_PFEXEC_AUTH
- This one-bit flag takes the value of 0 (unset) or 1 (set). The flag
- is set when the user successfully reauthenticates prior to execut-
- ing a command which matches an entry in the user's authenticated
- profiles set, and the PRIV_PFEXEC flag is already set in the parent
- process. When these two flags are set, the process can execute com-
- mands which match the exec_attr(5) database for the user's authen-
- ticated profiles set, without subsequent reauthentication.
- PRIV_PFEXEC_AUTH is inherited except when the real UID is changed
- as a result of the applied attributes. The privilege
+ This flag is set when the user successfully reauthenticates prior
+ to executing a command which matches an entry in the user's authen-
+ ticated profiles set, and the PRIV_PFEXEC flag is already set in
+ the parent process. When these two flags are set, the process can
+ execute commands which match the exec_attr(5) database for the
+ user's authenticated profiles set, without subsequent reauthentica-
+ tion. PRIV_PFEXEC_AUTH is inherited except when the real UID is
+ changed as a result of the applied attributes. The privilege
PRIV_PROC_SETID is required to set this flag.
+ PRIV_PROC_SENSITIVE
+
+ If this flag is set, it is assumed that the process contains sensi-
+ tive data and non-privileged users cannot observe it through proc
+ tools, cannot truss it, and cannot dump its core. Processes can set
+ and unset this flag at will. For more information, see the proc(1)
+ and ppriv(1) man pages.
+
+ This flag can be set automatically for the process, typically when
+ a privileged process performs setuid or setgid. Unsetting the flag
+ can expose potentially sensitive data to a wider range of users.
+ Historically this flag was known as SNOCD (no coredump).
+
+
PRIV_PROC_TPD
- This one-bit flag takes the value of 0 (unset) or 1 (set). This bit
- has no meaning outside of an immutable zone. In an immutable zone,
- this process is allowed to modify files which are MWAC protected,
- such as updating the system or changing over to a new boot environ-
- ment. This process will be prevented from opening files which can
- be modified by processes with this flag set unless PRIV_TPD_UNSAFE
- is set.
+ This flag has no meaning outside of an immutable zone. In an
+ immutable zone, if this flag is set, this process is allowed to
+ modify files which are MWAC protected, such as updating the system
+ or changing over to a new boot environment. This process will be
+ prevented from opening files which can be modified by processes
+ with this flag set unless PRIV_TPD_UNSAFE is set.
PRIV_PROC_TPD_RESET
- This one-bit flag takes the value of 0 (unset) or 1 (set). When a
- process is set, the PRIV_PROC_TPD will be reset on exec(). For more
- information, see the exec(2) man page.
+ If this flag is set, the PRIV_PROC_TPD flag will be reset on
+ exec(). For more information, see the exec(2) man page.
PRIV_TPD_KILLABLE
- This one-bit flag takes the value of 0 (unset) or 1 (set). Nor-
- mally, a process in the Trusted Path cannot receive any signals
- outside of the Trusted Path. When this bit is set, the system will
+ Normally, a process in the Trusted Path cannot receive any signals
+ outside of the Trusted Path. When this flag is set, the system will
forward signals from a non-TPD process.
PRIV_TPD_UNSAFE
- This one-bit flag takes the value of 0 (unset) or 1 (set). This bit
- has no meaning outside of an immutable zone. If this flag is set in
- a TPD process it will read files which can be modified by all priv-
- ileged process in the zone or can open STREAM devices, doors, and
- pipes when the peer is not a TPD process.
+ This flag has no meaning outside of an immutable zone. If this flag
+ is set in a TPD process it will read files which can be modified by
+ all privileged process in the zone or can open STREAM devices,
+ doors, and pipes when the peer is not a TPD process.
PRIV_XPOLICY
- This one-bit flag takes the value of 0 (unset) or 1 (set). Only if
- this flag is set does the current process honor its Extended Policy
- (see privileges(7)).
+ The current process honors its Extended Policy (see privileges(7))
+ if, and only if, this flag is set.
NET_MAC_AWARE
NET_MAC_AWARE_INHERIT
These flags are available only if the system is configured with
- Trusted Extensions. These one bit flags each take the value of 0
- (unset) or 1 (set). If the NET_MAC_AWARE flag is set then the cur-
+ Trusted Extensions. If the NET_MAC_AWARE flag is set then the cur-
rent process is allowed to communicate with peers at labels that
are different than its own, subject to MAC policy.
@@ -141,21 +145,6 @@
- PRIV_PROC_SENSITIVE
-
- This one bit flag takes the value of 0 (unset) or 1 (set). If this
- flag is set, it is assumed that the process contains sensitive data
- and non-privileged users cannot observe it through proc tools, can-
- not truss it, and cannot dump its core. Processes can set and unset
- this flag at will. For more information, see the proc(1) and
- ppriv(1) man pages.
-
- This flag can be set automatically for the process, typically when
- a privileged process performs setuid or setgid. Unsetting the flag
- can expose potentially sensitive data to a wider range of users.
- Historically this flag was known as SNOCD (no coredump).
-
-
RETURN VALUES
The getpflags() returns the value associated with a given per-process
flag. If the flag argument is invalid, (uint_t)-1 is returned and errno
@@ -196,11 +185,41 @@
+-----------------------------+-----------------------------+
|MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
+ |Standard |None |
+ +-----------------------------+-----------------------------+
SEE ALSO
ppriv(1), exec(2), kill(2), setppriv(2), attributes(7), privileges(7),
tpd(7)
+HISTORY
+ The getpflags() and setpflags() functions were added to Solaris in
+ Solaris 10 3/05.
+
+
+ Support for the following values for flag is available in Oracle
+ Solaris starting with the listed release:
+
+
+ +-------------------------------------------------+-------------------+
+ | FLAG | RELEASE |
+ +-------------------------------------------------+-------------------+
+ |PRIV_PROC_TPD_RESET, PRIV_TPD_KILLABLE |11.4.0 |
+ +-------------------------------------------------+-------------------+
+ |PRIV_PROC_SENSITIVE |11.3.20 |
+ +-------------------------------------------------+-------------------+
+ |PRIV_PFEXEC_AUTH, PRIV_PROC_TPD, |11.2.0 |
+ |PRIV_TPD_UNSAFE | |
+ +-------------------------------------------------+-------------------+
+ |PRIV_XPOLICY |11.1.0 |
+ +-------------------------------------------------+-------------------+
+ |PRIV_AWARE_RESET, PRIV_PFEXEC |11.0.0 |
+ +-------------------------------------------------+-------------------+
+ |NET_MAC_AWARE, NET_MAC_AWARE_INHERIT |10 4/08 (Update 5) |
+ +-------------------------------------------------+-------------------+
+ |PRIV_AWARE, PRIV_DEBUG |10 3/05 |
+ +-------------------------------------------------+-------------------+
+
-Oracle Solaris 11.4 3 Nov 2021 getpflags(2)
+Oracle Solaris 11.4 30 Jan 2023 getpflags(2)
diff -NurbBw 11.4.54/man2/getpgid.2 11.4.57/man2/getpgid.2
--- 11.4.54/man2/getpgid.2 2023-05-24 15:26:47.243065094 -0700
+++ 11.4.57/man2/getpgid.2 2023-05-24 15:27:26.857013735 -0700
@@ -81,6 +81,14 @@
exec(2), fork(2), getsid(2), Intro(2), setpgid(2), setpgrp(2), set-
sid(2), signal(3C), attributes(7), standards(7)
+HISTORY
+ The getpid(), getpgrp(), and getppid() functions have been included in
+ all Sun and Oracle releases of Solaris.
-Oracle Solaris 11.4 27 Jan 2009 getpid(2)
+ The getpgid() function has been included in Solaris since the Solaris
+ 2.0 release.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 getpid(2)
diff -NurbBw 11.4.54/man2/getpgrp.2 11.4.57/man2/getpgrp.2
--- 11.4.54/man2/getpgrp.2 2023-05-24 15:26:47.283736448 -0700
+++ 11.4.57/man2/getpgrp.2 2023-05-24 15:27:26.891566695 -0700
@@ -81,6 +81,14 @@
exec(2), fork(2), getsid(2), Intro(2), setpgid(2), setpgrp(2), set-
sid(2), signal(3C), attributes(7), standards(7)
+HISTORY
+ The getpid(), getpgrp(), and getppid() functions have been included in
+ all Sun and Oracle releases of Solaris.
-Oracle Solaris 11.4 27 Jan 2009 getpid(2)
+ The getpgid() function has been included in Solaris since the Solaris
+ 2.0 release.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 getpid(2)
diff -NurbBw 11.4.54/man2/getpid.2 11.4.57/man2/getpid.2
--- 11.4.54/man2/getpid.2 2023-05-24 15:26:47.318553039 -0700
+++ 11.4.57/man2/getpid.2 2023-05-24 15:27:26.920949737 -0700
@@ -81,6 +81,14 @@
exec(2), fork(2), getsid(2), Intro(2), setpgid(2), setpgrp(2), set-
sid(2), signal(3C), attributes(7), standards(7)
+HISTORY
+ The getpid(), getpgrp(), and getppid() functions have been included in
+ all Sun and Oracle releases of Solaris.
-Oracle Solaris 11.4 27 Jan 2009 getpid(2)
+ The getpgid() function has been included in Solaris since the Solaris
+ 2.0 release.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 getpid(2)
diff -NurbBw 11.4.54/man2/getpmsg.2 11.4.57/man2/getpmsg.2
--- 11.4.54/man2/getpmsg.2 2023-05-24 15:26:47.347329905 -0700
+++ 11.4.57/man2/getpmsg.2 2023-05-24 15:27:26.956292965 -0700
@@ -179,7 +176,9 @@
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
- |Interface Stability |Standard |
+ |Interface Stability |Committed |
+ +-----------------------------+-----------------------------+
+ |Standard |See standards(7). |
+-----------------------------+-----------------------------+
SEE ALSO
@@ -189,6 +188,14 @@
STREAMS Programming Guide
+HISTORY
+ The getmsg() function has been included in all Sun and Oracle releases
+ of Solaris.
+
+
+ The getpmsg() function has been included in Solaris since the Solaris
+ 2.0 release.
+
-Oracle Solaris 11.4 9 Oct 2015 getmsg(2)
+Oracle Solaris 11.4 30 Jan 2023 getmsg(2)
diff -NurbBw 11.4.54/man2/getppid.2 11.4.57/man2/getppid.2
--- 11.4.54/man2/getppid.2 2023-05-24 15:26:47.374737843 -0700
+++ 11.4.57/man2/getppid.2 2023-05-24 15:27:26.989227608 -0700
@@ -81,6 +81,14 @@
exec(2), fork(2), getsid(2), Intro(2), setpgid(2), setpgrp(2), set-
sid(2), signal(3C), attributes(7), standards(7)
+HISTORY
+ The getpid(), getpgrp(), and getppid() functions have been included in
+ all Sun and Oracle releases of Solaris.
-Oracle Solaris 11.4 27 Jan 2009 getpid(2)
+ The getpgid() function has been included in Solaris since the Solaris
+ 2.0 release.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 getpid(2)
diff -NurbBw 11.4.54/man2/getppriv.2 11.4.57/man2/getppriv.2
--- 11.4.54/man2/getppriv.2 2023-05-24 15:26:47.426977201 -0700
+++ 11.4.57/man2/getppriv.2 2023-05-24 15:27:27.017775853 -0700
@@ -20,6 +20,11 @@
Both functions are documented on the priv_addset(3C) manual page.
+ The value of which must be one of PRIV_EFFECTIVE, PRIV_INHERITABLE,
+ PRIV_PERMITTED, or PRIV_LIMIT, corresponding to the privilege sets
+ defined in the privileges(7) manual page.
+
+
The setppriv() function sets or changes the process privilege set. The
op argument specifies the operation and can be one of PRIV_OFF, PRIV_ON
or PRIV_SET. The which argument specifies the name of the privilege
@@ -35,8 +40,8 @@
o If privileges are removed from PRIV_LIMIT, they are not
- removed from the other sets until one of exec(2) functions
- has successfully completed.
+ removed from the other sets until one of the exec(2) or
+ spawn(2) functions has successfully completed.
@@ -97,6 +102,10 @@
SEE ALSO
priv_addset(3C), attributes(7), privileges(7)
+HISTORY
+ The getppriv() and setppriv() functions were added to Solaris in
+ Solaris 10 3/05.
+
-Oracle Solaris 11.4 27 May 2011 getppriv(2)
+Oracle Solaris 11.4 30 Jan 2023 getppriv(2)
diff -NurbBw 11.4.54/man2/getrandom.2 11.4.57/man2/getrandom.2
--- 11.4.54/man2/getrandom.2 2023-05-24 15:26:47.473048110 -0700
+++ 11.4.57/man2/getrandom.2 2023-05-24 15:27:27.052876382 -0700
@@ -10,12 +10,14 @@
ssize_t getrandom(void *buf, size_t buflen, unsigned int flags);
+
#include <unistd.h>
+
int getentropy(void *buf, size_t buflen);
DESCRIPTION
The getrandom() function can be used to request buflen bytes of data
- from the kernel random pool, which is to be placed into the buffer,
+ from the kernel random pool, which is to be placed into the buffer
pointed to by buf. It is recommended to use the getrandom() function
instead of open(2) and read(2) functions on the /dev/random or
/dev/urandom device.
@@ -32,8 +34,8 @@
If no entropy is available in the pool, the getrandom() function will
block unless the GRND_NONBLOCK flag is set. In this case, the function
returns -1 and errno is set to EAGAIN. Note that the number of bytes
- returned can be less than requested or 0. Callers need to check the
- return value to determine if random bytes were returned. This means
+ returned can be less than requested, including 0. Callers need to check
+ the return value to determine if random bytes were returned. This means
this is not an acceptable calling sequence:
(void) getrandom(&buf, sizeof (buf), 0);
@@ -54,8 +56,7 @@
wise, it returns -1 and sets errno to indicate the error.
ERRORS
- The getrandom() and getentropy() functions fail if:
-
+ The getrandom() and getentropy() functions will fail if:
EINVAL Invalid flags or flag combinations
@@ -145,6 +139,19 @@
SEE ALSO
random(4D)
+HISTORY
+ The getrandom() and getentropy() functions were added to Oracle Solaris
+ in the Solaris 11.3.0 release.
+
+
+ The function prototype for getentropy() was added to the <unistd.h>
+ header in Oracle Solaris 11.4.16. Prior to that, applications needed to
+ include <sys/random.h> as well.
+
+
+ The getentropy() function first appeared in OpenBSD 5.6. The getran-
+ dom() function first appeared in GNU libc 2.25.
+
-Oracle Solaris 11.4 05 Sep 2019 getrandom(2)
+Oracle Solaris 11.4 30 Jan 2023 getrandom(2)
diff -NurbBw 11.4.54/man2/getrlimit.2 11.4.57/man2/getrlimit.2
--- 11.4.54/man2/getrlimit.2 2023-05-24 15:26:47.543244969 -0700
+++ 11.4.57/man2/getrlimit.2 2023-05-24 15:27:27.101728601 -0700
@@ -30,7 +30,7 @@
limit. Both hard and soft limits can be changed in a single call to
setrlimit() subject to the constraints described above. Limits may have
an "infinite" value of RLIM_INFINITY. The rlp argument is a pointer to
- struct rlimit that includes the following members:
+ a struct rlimit that includes the following members:
rlim_t rlim_cur; /* current (soft) limit */
rlim_t rlim_max; /* hard limit */
@@ -46,6 +44,14 @@
The possible resources, their descriptions, and the actions taken when
the current limit is exceeded are summarized as follows:
+ RLIMIT_AS The maximum size, in bytes, of the address space
+ mapped by a process. If this limit is exceeded, the
+ brk(2), malloc(3C), mmap(2) and sbrk(2) functions will
+ fail with errno set to ENOMEM. In addition, the auto-
+ matic stack growth will fail with the effects outlined
+ above.
+
+
RLIMIT_CORE The maximum size of a core file in bytes that may be
created by a process. A limit of 0 will prevent the
creation of a core file. The writing of a core file
@@ -75,12 +81,14 @@
RLIMIT_NOFILE One more than the maximum value that the system may
assign to a newly created descriptor. This limit con-
strains the number of file descriptors that a process
- may create.
+ may create. If a process already has the maximum num-
+ ber of file descriptors open, attempts to open more
+ will fail with errno set to EMFILE.
- RLIMIT_STACK The maximum size of a process's stack in bytes. The
- system will not automatically grow the stack beyond
- this limit.
+ RLIMIT_STACK The maximum size of a process's main thread stack in
+ bytes. The system will not automatically grow the
+ stack beyond this limit.
Within a process, setrlimit() will increase the limit
on the size of your stack, but will not move current
@@ -103,19 +111,9 @@
SIGSEGV will be set to SIG_DFL before it is sent.
- RLIMIT_VMEM The maximum size of a process's mapped address space
- in bytes. If this limit is exceeded, the brk(2) and
- mmap(2) functions will fail with errno set to ENOMEM.
- In addition, the automatic stack growth will fail with
- the effects outlined above.
-
-
- RLIMIT_AS This is the maximum size of a process's total avail-
- able memory, in bytes. If this limit is exceeded, the
- brk(2), malloc(3C), mmap(2) and sbrk(2) functions will
- fail with errno set to ENOMEM. In addition, the auto-
- matic stack growth will fail with the effects outlined
- above.
+ RLIMIT_VMEM This is an alternate name for RLIMIT_AS. Portable
+ software should prefer the standard RLIMIT_AS over
+ this non-standardized name.
@@ -209,38 +207,24 @@
+-----------------------------+-----------------------------+
| rlimit | rctl |
+-----------------------------+-----------------------------+
- |RLIMIT_CPU |process.max-cpu-time |
+ |RLIMIT_AS |process.max-address-space |
+-----------------------------+-----------------------------+
- |RLIMIT_FSIZE |process.max-file-size |
+ |RLIMIT_CORE |process.max-core-size |
+-----------------------------+-----------------------------+
- |RLIMIT_DATA |process.max-data-size |
+ |RLIMIT_CPU |process.max-cpu-time |
+-----------------------------+-----------------------------+
- |RLIMIT_STACK |process.max-stack-size |
+ |RLIMIT_DATA |process.max-data-size |
+-----------------------------+-----------------------------+
- |RLIMIT_CORE |process.max-core-size |
+ |RLIMIT_FSIZE |process.max-file-size |
+-----------------------------+-----------------------------+
|RLIMIT_NOFILE |process.max-file-descriptor |
+-----------------------------+-----------------------------+
- |RLIMIT_VMEM |process.max-address-space |
+ |RLIMIT_STACK |process.max-stack-size |
+-----------------------------+-----------------------------+
- The following additional limits are available via getrctl/setrctl:
-
-
- process.max-sem-nsems
- process.max-sem-ops
- process.max-msg-qbytes
- process.max-msg-messages
- process.max-port-events
- process.max-itimers
- process.max-sigqueue-size
- process.max-deferred-posts
-
-
-
- For more information about the additional limits, see resource-con-
- trols(7).
+ A variety of additional limits are available via the getrctl() and
+ setrctl() functions. For more information, see resource-controls(7).
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
@@ -249,15 +233,38 @@
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
- |Interface Stability |Standard |
+ |Interface Stability |Committed |
+ +-----------------------------+-----------------------------+
+ |Standard |See standards(7). |
+-----------------------------+-----------------------------+
SEE ALSO
- ulimit(2), brk(2), exec(2), fork(2), open(2), setrctl(2), sigalt-
+ ulimit(1), brk(2), exec(2), fork(2), open(2), setrctl(2), sigalt-
stack(2), getdtablesize(3C), malloc(3C), signal(3C), sysconf(3C), sig-
nal.h(3HEAD), attributes(7), lf64(7), privileges(7), resource-con-
trols(7), standards(7), rctladm(8)
+ Oracle Solaris 11.4 Tunable Parameters Reference Manual
+
+HISTORY
+ The getrlimit() and setrlimit() functions have been included in all Sun
+ and Oracle releases of Solaris.
+
+
+ Support for the following resource values is available in Oracle
+ Solaris starting with the listed release:
+
+
+ +-------------------------------------------------+---------+
+ | RESOURCE |RELEASE |
+ +-------------------------------------------------+---------+
+ |RLIMIT_AS, RLIMIT_VMEM |2.0 |
+ +-------------------------------------------------+---------+
+ |RLIMIT_CORE, RLIMIT_CPU, RLIMIT_DATA, |1.0 |
+ |RLIMIT_FSIZE, RLIMIT_NOFILE, RLIMIT_STACK | |
+ +-------------------------------------------------+---------+
+
+
-Oracle Solaris 11.4 17 Mar 2015 getrlimit(2)
+Oracle Solaris 11.4 30 Jan 2023 getrlimit(2)
diff -NurbBw 11.4.54/man2/getsid.2 11.4.57/man2/getsid.2
--- 11.4.54/man2/getsid.2 2023-05-24 15:26:47.585491533 -0700
+++ 11.4.57/man2/getsid.2 2023-05-24 15:27:27.128936440 -0700
@@ -39,13 +39,19 @@
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
- |Interface Stability |Standard |
+ |Interface Stability |Committed |
+ +-----------------------------+-----------------------------+
+ |Standard |See standards(7). |
+-----------------------------+-----------------------------+
SEE ALSO
exec(2), fork(2), getpgid(2), getpid(2), setpgid(2), setsid(2),
attributes(7), standards(7)
+HISTORY
+ The getsid() function has been included in Oracle Solaris since the
+ Solaris 2.0 release.
+
-Oracle Solaris 11.4 22 Jan 1996 getsid(2)
+Oracle Solaris 11.4 30 Jan 2023 getsid(2)
diff -NurbBw 11.4.54/man2/getuid.2 11.4.57/man2/getuid.2
--- 11.4.54/man2/getuid.2 2023-05-24 15:26:47.630893973 -0700
+++ 11.4.57/man2/getuid.2 2023-05-24 15:27:27.157743311 -0700
@@ -23,7 +23,7 @@
DESCRIPTION
The getuid() function returns the real user ID of the calling process.
- The real user ID identifies the person who is logged in.
+ The real user ID identifies the account which is logged in.
The geteuid() function returns the effective user ID of the calling
@@ -53,8 +53,13 @@
+-----------------------------+-----------------------------+
SEE ALSO
- Intro(2), setuid(2), attributes(7), standards(7)
+ Intro(2), getgroups(2), issetugid(2), setuid(2), attributes(7), privi-
+ leges(7), standards(7)
+HISTORY
+ These functions have been included in all Sun and Oracle releases of
+ Solaris.
-Oracle Solaris 11.4 28 Dec 1996 getuid(2)
+
+Oracle Solaris 11.4 30 Jan 2023 getuid(2)
diff -NurbBw 11.4.54/man2/intro.2 11.4.57/man2/intro.2
--- 11.4.54/man2/intro.2 2023-05-24 15:26:47.707530818 -0700
+++ 11.4.57/man2/intro.2 2023-05-24 15:27:27.234910989 -0700
@@ -19,8 +19,8 @@
tion is indicated by an otherwise impossible return value. This is
almost always -1 or the null pointer; the individual descriptions spec-
ify the details. An error number is made available in the external
- variable errno, which is not cleared on successful calls. So it is
- tested only after an error has been indicated.
+ variable errno, which is not cleared on successful calls, so it should
+ be tested only after an error has been indicated.
Every thread has a unique errno value specific to that thread. The
@@ -29,35 +29,39 @@
assignment as though it were a variable. Prior to the Oracle Solaris
11.4 release, it was necessary to specify the -mt option on the command
line at compilation time to enable the per-thread implementation of
- errno. The -mt option is no longer required.
+ errno. The -mt option is no longer required when compiling on Solaris
+ 11.4.0 or later.
An error value listed as "will fail" describes a condition whose detec-
- tion and reporting is mandatory for an implementation that conforms to
- the Single UNIX Specification (SUS). An application can rely on this
- condition being detected and reported. An error value listed as "may
- fail" describes a condition whose detection and reporting is optional
- for an implementation that conforms to the SUS. An application should
- not rely on this condition being detected and reported. An application
- that relies on such behavior cannot be assured to be portable across
- conforming implementations. If more than one error occurs in processing
- a function call, any one of the possible errors may be returned, as the
- order of detection is undefined. For more information regarding the
+ tion and reporting is mandatory. An application can rely on this condi-
+ tion being detected and reported. An error value listed as "may fail"
+ describes a condition whose detection and reporting is optional. An
+ application should not rely on this condition being detected and
+ reported. An application that relies on such behavior cannot be assured
+ to be portable. If more than one error occurs in processing a function
+ call, any one of the possible errors may be returned, as the order of
+ detection is undefined.
+
+
+ Most Solaris system calls conform to Version 4 of the Single UNIX Spec-
+ ification (SUSv4), but Solaris also provides a number of extensions
+ beyond what the standard defines. For more information regarding the
Single UNIX Specification, see the standards(7) man page.
Each system call description attempts to list all possible error num-
- bers. The following list gives the description of the error numbers and
- their names as defined in <errno.h>.
+ bers that apply to that call. The following list gives the description
+ of the error numbers and their names as defined in <errno.h>.
1 EPERM Insufficient privileges
- This error indicates an attempt to modify a file
- in a way forbidden except to its owner or an
- appropriately privileged process. It is also
- returned when a process attempts to perform an
- operation requiring a privilege not in its
- effective set. See privileges(7).
+ This error indicates an attempt to perform an
+ operation requiring either a permission that the
+ current process does not have on the target
+ object or a privilege not in the effective set
+ of the process making the call. See "File Access
+ Permissions" below, and privileges(7).
The manual pages for individual functions docu-
ment which privileges are needed to override the
@@ -73,9 +77,9 @@
3 ESRCH No such process
- This error occurs when no process can be found
- in the system that corresponds to the specified
- PID, LWPID_t, or thread_t.
+ This error occurs when no process or thread can
+ be found in the system that corresponds to the
+ specified PID, LWPID_t, or thread_t.
4 EINTR Interrupted system call
@@ -106,8 +110,8 @@
refers to a subdevice which does not exist, or
exists beyond the limit of the device. It may
also occur when, for example, a tape drive is
- not on-line or no disk pack is loaded on a
- drive.
+ not on-line or no media is loaded in a removable
+ media drive.
7 E2BIG Arg list too long
@@ -159,16 +163,14 @@
12 ENOMEM Cannot allocate memory
- This error occurs during execution of brk() or
- sbrk() (see brk(2)), or one of the exec family
- of functions. A program asks for more space than
- the system is able to supply. This is not a tem-
- porary condition; the maximum size is a system
- parameter. On some architectures, the error may
- also occur if the arrangement of text, data, and
- stack segments requires too many segmentation
- registers, or if there is not enough swap space
- during the fork(2) function.
+ This error occurs when a program asks for more
+ memory than the system is able to supply. This
+ is not a temporary condition; the maximum size
+ is a system parameter. On some architectures,
+ the error may also occur if the arrangement of
+ text, data, and stack segments requires too many
+ segmentation registers, or if there is not
+ enough swap space during the fork(2) function.
13 EACCES Permission denied
@@ -234,7 +236,7 @@
18 EXDEV Cross-device link
This error occurs when a hard link to a file on
- another device is attempted.
+ another filesystem is attempted.
19 ENODEV No such device
@@ -946,10 +948,9 @@
The direction from the stream head to the driver in a stream.
Driver
- In a stream, the driver provides the interface between peripheral hard-
- ware and the stream. A driver can also be a pseudo-driver, such as a
- multiplexor or log driver (see log(4D)), which is not associated with a
- hardware device.
+ A driver provides the software interface to peripheral hardware. A
+ driver can also be a pseudo-driver, such as a multiplexor or log driver
+ (see log(4D)), which is not associated with a hardware device.
Effective User ID and Effective Group ID
An active process has an effective user ID and an effective group ID
@@ -1676,4 +1677,4 @@
-Oracle Solaris 11.4 4 Aug 2022 Intro(2)
+Oracle Solaris 11.4 30 Jan 2023 Intro(2)
diff -NurbBw 11.4.54/man2/Intro.2 11.4.57/man2/Intro.2
--- 11.4.54/man2/Intro.2 2023-05-24 15:26:47.769870494 -0700
+++ 11.4.57/man2/Intro.2 2023-05-24 15:27:27.292107370 -0700
@@ -19,8 +19,8 @@
tion is indicated by an otherwise impossible return value. This is
almost always -1 or the null pointer; the individual descriptions spec-
ify the details. An error number is made available in the external
- variable errno, which is not cleared on successful calls. So it is
- tested only after an error has been indicated.
+ variable errno, which is not cleared on successful calls, so it should
+ be tested only after an error has been indicated.
Every thread has a unique errno value specific to that thread. The
@@ -29,35 +29,39 @@
assignment as though it were a variable. Prior to the Oracle Solaris
11.4 release, it was necessary to specify the -mt option on the command
line at compilation time to enable the per-thread implementation of
- errno. The -mt option is no longer required.
+ errno. The -mt option is no longer required when compiling on Solaris
+ 11.4.0 or later.
An error value listed as "will fail" describes a condition whose detec-
- tion and reporting is mandatory for an implementation that conforms to
- the Single UNIX Specification (SUS). An application can rely on this
- condition being detected and reported. An error value listed as "may
- fail" describes a condition whose detection and reporting is optional
- for an implementation that conforms to the SUS. An application should
- not rely on this condition being detected and reported. An application
- that relies on such behavior cannot be assured to be portable across
- conforming implementations. If more than one error occurs in processing
- a function call, any one of the possible errors may be returned, as the
- order of detection is undefined. For more information regarding the
+ tion and reporting is mandatory. An application can rely on this condi-
+ tion being detected and reported. An error value listed as "may fail"
+ describes a condition whose detection and reporting is optional. An
+ application should not rely on this condition being detected and
+ reported. An application that relies on such behavior cannot be assured
+ to be portable. If more than one error occurs in processing a function
+ call, any one of the possible errors may be returned, as the order of
+ detection is undefined.
+
+
+ Most Solaris system calls conform to Version 4 of the Single UNIX Spec-
+ ification (SUSv4), but Solaris also provides a number of extensions
+ beyond what the standard defines. For more information regarding the
Single UNIX Specification, see the standards(7) man page.
Each system call description attempts to list all possible error num-
- bers. The following list gives the description of the error numbers and
- their names as defined in <errno.h>.
+ bers that apply to that call. The following list gives the description
+ of the error numbers and their names as defined in <errno.h>.
1 EPERM Insufficient privileges
- This error indicates an attempt to modify a file
- in a way forbidden except to its owner or an
- appropriately privileged process. It is also
- returned when a process attempts to perform an
- operation requiring a privilege not in its
- effective set. See privileges(7).
+ This error indicates an attempt to perform an
+ operation requiring either a permission that the
+ current process does not have on the target
+ object or a privilege not in the effective set
+ of the process making the call. See "File Access
+ Permissions" below, and privileges(7).
The manual pages for individual functions docu-
ment which privileges are needed to override the
@@ -73,9 +77,9 @@
3 ESRCH No such process
- This error occurs when no process can be found
- in the system that corresponds to the specified
- PID, LWPID_t, or thread_t.
+ This error occurs when no process or thread can
+ be found in the system that corresponds to the
+ specified PID, LWPID_t, or thread_t.
4 EINTR Interrupted system call
@@ -106,8 +110,8 @@
refers to a subdevice which does not exist, or
exists beyond the limit of the device. It may
also occur when, for example, a tape drive is
- not on-line or no disk pack is loaded on a
- drive.
+ not on-line or no media is loaded in a removable
+ media drive.
7 E2BIG Arg list too long
@@ -159,16 +163,14 @@
12 ENOMEM Cannot allocate memory
- This error occurs during execution of brk() or
- sbrk() (see brk(2)), or one of the exec family
- of functions. A program asks for more space than
- the system is able to supply. This is not a tem-
- porary condition; the maximum size is a system
- parameter. On some architectures, the error may
- also occur if the arrangement of text, data, and
- stack segments requires too many segmentation
- registers, or if there is not enough swap space
- during the fork(2) function.
+ This error occurs when a program asks for more
+ memory than the system is able to supply. This
+ is not a temporary condition; the maximum size
+ is a system parameter. On some architectures,
+ the error may also occur if the arrangement of
+ text, data, and stack segments requires too many
+ segmentation registers, or if there is not
+ enough swap space during the fork(2) function.
13 EACCES Permission denied
@@ -234,7 +236,7 @@
18 EXDEV Cross-device link
This error occurs when a hard link to a file on
- another device is attempted.
+ another filesystem is attempted.
19 ENODEV No such device
@@ -946,10 +948,9 @@
The direction from the stream head to the driver in a stream.
Driver
- In a stream, the driver provides the interface between peripheral hard-
- ware and the stream. A driver can also be a pseudo-driver, such as a
- multiplexor or log driver (see log(4D)), which is not associated with a
- hardware device.
+ A driver provides the software interface to peripheral hardware. A
+ driver can also be a pseudo-driver, such as a multiplexor or log driver
+ (see log(4D)), which is not associated with a hardware device.
Effective User ID and Effective Group ID
An active process has an effective user ID and an effective group ID
@@ -1676,4 +1677,4 @@
-Oracle Solaris 11.4 4 Aug 2022 Intro(2)
+Oracle Solaris 11.4 30 Jan 2023 Intro(2)
diff -NurbBw 11.4.54/man2/ioctl.2 11.4.57/man2/ioctl.2
--- 11.4.54/man2/ioctl.2 2023-05-24 15:26:47.813787247 -0700
+++ 11.4.57/man2/ioctl.2 2023-05-24 15:27:27.334119262 -0700
@@ -33,8 +33,10 @@
In addition to device-specific and streams functions, generic functions
- are provided by more than one device driver (for example, the general
- terminal interface.) See termio(4I)).
+ are provided by more than one device driver. The manual pages in Sec-
+ tion 4I cover ioctl requests which apply to a class of drivers or sub-
+ systems. For example, see the termio(4I) manual page for documentation
+ of the general terminal interface.
RETURN VALUES
Upon successful completion, the value returned depends upon the device
@@ -60,7 +62,7 @@
error. In this case, the error is passed through ioctl() without change
to the caller. A particular driver might not have all of the following
error cases. Under the following conditions, requests to device drivers
- may fail and set errno to indicate the error
+ may fail and set errno to indicate the error.
EFAULT The request argument requires a data transfer to or from a
buffer pointed to by arg, but arg points to an illegal
@@ -77,8 +79,14 @@
that machine is no longer active.
- ENOTTY The fildes argument is not associated with a streams device
- that accepts control functions.
+ ENOTTY For a streamio(4I) request, the fildes argument is not
+ associated with a streams device that accepts control func-
+ tions.
+
+ For other request values, the request is not valid for the
+ given filedes, such as specifying a file that is not a spe-
+ cial character device, or specifying a request that is not
+ supported for the given device.
ENXIO The request and arg arguments are valid for this device
@@ -109,6 +117,10 @@
SEE ALSO
streamio(4I), termio(4I), attributes(7), standards(7)
+HISTORY
+ The ioctl() function has been included in all Sun and Oracle releases
+ of Solaris.
-Oracle Solaris 11.4 15 Feb 1996 ioctl(2)
+
+Oracle Solaris 11.4 30 Jan 2023 ioctl(2)
diff -NurbBw 11.4.54/man2/issetugid.2 11.4.57/man2/issetugid.2
--- 11.4.54/man2/issetugid.2 2023-05-24 15:26:47.855355578 -0700
+++ 11.4.57/man2/issetugid.2 2023-05-24 15:27:27.369886172 -0700
@@ -11,21 +11,20 @@
int issetugid(void);
DESCRIPTION
- The issetugid() function enables library functions (in libtermlib,
- libc, or other libraries) to guarantee safe behavior when used in
- setuid or setgid programs or programs that run with more privileges
- after a successful exec(2). Some library functions might be passed
- insufficient information and not know whether the current program was
- started setuid or setgid because a higher level calling code might have
- made changes to the uid, euid, gid, or egid. These low-level library
- functions are therefore unable to determine if they are being run with
- elevated or normal privileges.
+ The issetugid() function enables library functions to guarantee safe
+ behavior when used in setuid or setgid programs or programs that run
+ with more privileges after a successful exec(2). Some library functions
+ might be passed insufficient information and not know whether the cur-
+ rent program was started setuid or setgid because a higher level call-
+ ing code might have made changes to the uid, euid, gid, or egid. These
+ low-level library functions are therefore unable to determine if they
+ are being run with elevated or normal privileges.
- The issetugid() function should be used to determine if a path name
- returned from a getenv(3C) call can be used safely to open the speci-
- fied file. It is often not safe to open such a file because the status
- of the effective uid is not known.
+ The issetugid() function can be used to determine if a value returned
+ from a getenv(3C) call can be used safely. It is often not safe to use
+ such a value because the status of the effective uid is not known. The
+ secure_getenv(3C) function provides a simple way to do this.
The result of a call to issetugid() is unaffected by calls to setuid(),
@@ -33,15 +32,34 @@
process inherits the same status.
- The status of issetugid() is affected only by execve() (see exec(2)).
- If a child process executes a new executable file, a new issetugid()
- status will be based on the existing process's uid, euid, gid, and egid
- permissions and on the modes of the executable file. If the new exe-
- cutable file modes are setuid or setgid, or if the existing process is
- executing the new image with uid != euid or gid != egid, or if the per-
- mitted set before the call to the exec function is not a superset of
- the inheritable set at that time, issetugid() returns 1 in the new
- process.
+ The value returned by issetugid() is affected only by the execution of
+ a new process via the calls listed on the exec(2) or spawn(2) manual
+ pages. If a child process executes a new executable file, a new isse-
+ tugid() value will be based on the existing process's uid, euid, gid,
+ and egid permissions and on the modes of the executable file. The isse-
+ tugid() function will return 1 in the new process if any of the follow-
+ ing are true:
+
+ o The new executable file modes are setuid or setgid.
+
+
+ o The existing process is executing the new image with uid !=
+ euid, or an egid that is not either gid or one of the user's
+ supplementary group ids.
+
+
+ o The permitted privilege set before the call to the exec or
+ spawn function is not a superset of the inheritable set at
+ that time.
+
+
+ o The parent process is a profile shell, and the child process
+ has a uid or privileges that differ from its parent process.
+ See PRIV_PFEXEC in the getpflags(2) man page.
+
+
+
+ Otherwise, issetugid() will return 0 when called in the new process.
RETURN VALUES
The issetugid() function returns 1 if the process was made setuid or
@@ -65,8 +83,13 @@
+-----------------------------+-----------------------------+
SEE ALSO
- exec(2), fork(2), setuid(2), getenv(3C), attributes(7), privileges(7)
+ exec(2), fork(2), getuid(2), setuid(2), getenv(3C), attributes(7),
+ privileges(7)
+
+HISTORY
+ The issetugid() function first appeared in OpenBSD 2.0. It was added to
+ Solaris in the Solaris 9 release.
-Oracle Solaris 11.4 19 Feb 2003 issetugid(2)
+Oracle Solaris 11.4 30 Jan 2023 issetugid(2)
diff -NurbBw 11.4.54/man2/kill.2 11.4.57/man2/kill.2
--- 11.4.54/man2/kill.2 2023-05-24 15:26:47.882665112 -0700
+++ 11.4.57/man2/kill.2 2023-05-24 15:27:27.399517430 -0700
@@ -15,10 +15,9 @@
The kill() function sends a signal to a process or a group of pro-
cesses. The process or group of processes to which the signal is to be
sent is specified by pid. The signal that is to be sent is specified by
- sig and is either one from the list given in signal (see sig-
- nal.h(3HEAD)), or 0. If sig is 0 (the null signal), error checking is
- performed but no signal is actually sent. This can be used to check the
- validity of pid.
+ sig and should be one of the values defined in signal.h(3HEAD), or 0.
+ If sig is 0 (the null signal), error checking is performed but no sig-
+ nal is actually sent. This can be used to check the validity of pid.
The real or effective user ID of the sending process must match the
@@ -65,9 +64,10 @@
EINVAL The sig argument is not a valid signal number.
- EPERM The sig argument is SIGKILL and the pid argument is (pid_t)-1
- (that is, the calling process does not have permission to
- send the signal to any of the processes specified by pid).
+ EPERM The calling process does not have permission to send the sig-
+ nal to any of the processes specified by pid. If at least one
+ process could be signalled, the call is considered successful
+ and no error is reported.
The effective user of the calling process does not match the
real or saved user and the calling process does not have the
@@ -105,6 +105,10 @@
tion(2), sigsend(2), signal(3C), signal.h(3HEAD), attributes(7), privi-
leges(7), standards(7)
+HISTORY
+ The kill() function has been included in all Sun and Oracle releases of
+ Solaris.
-Oracle Solaris 11.4 22 Mar 2004 kill(2)
+
+Oracle Solaris 11.4 30 Jan 2023 kill(2)
diff -NurbBw 11.4.54/man2/link.2 11.4.57/man2/link.2
--- 11.4.54/man2/link.2 2023-05-24 15:26:47.925051516 -0700
+++ 11.4.57/man2/link.2 2023-05-24 15:27:27.428481426 -0700
@@ -15,16 +15,16 @@
int flag);
DESCRIPTION
- The link() function creates a new link (directory entry) for the exist-
- ing file and increments its link count by one. The path1 argument
- points to a path name naming an existing file. The path2 argument
- points to a pathname naming the new directory entry to be created.
+ The link() function creates a new hard link (directory entry) for the
+ existing file and increments its link count by one. The path1 argument
+ provides the pathname of an existing file. The path2 argument provides
+ the pathname of the new directory entry to be created.
To create hard links, both files must be on the same file system. Both
the old and the new link share equal access and rights to the underly-
- ing object. No process can make a link to a directory, file named by
- path1 must not be a directory.
+ ing object. Hard links to directories are not allowed. The file named
+ by path1 must not be a directory.
Upon successful completion, link() marks for update the st_ctime field
@@ -47,6 +47,12 @@
opened with O_SEARCH, the function does not perform the check.
+ The fd1 and fd2 arguments to linkat() can be set to the special value
+ AT_FDCWD, specifying that the corresponding path argument is to be
+ interpreted relative to the current working directory, the same behav-
+ ior provided by link().
+
+
Values for flag are constructed by a bitwise-inclusive OR of flags from
the following list, defined in <fcntl.h>.
@@ -55,12 +61,6 @@
- If linkat() is passed the special value AT_FDCWD in the fd1 or fd2
- parameter, the current working directory is used for the respective
- path argument. If both fd1 and fd2 have value AT_FDCWD, the behavior is
- identical to a call to link().
-
-
If the AT_SYMLINK_FOLLOW flag is clear in the flag argument and the
path1 argument names a symbolic link, a new link is created for the
symbolic link path1 and not its target.
@@ -127,8 +127,8 @@
ENOTDIR A component of either path prefix is not a directory.
- EPERM The file named by path1 is a directory; this implemen-
- tation prohibits links to directories.
+ EPERM The file named by path1 is a directory; the Oracle
+ Solaris implementation prohibits links to directories.
The effective user ID does not match the owner of the
file and the {PRIV_FILE_LINK_ANY} privilege is not
@@ -199,6 +199,14 @@
symlink(2), unlink(2), mwac(7), attributes(7), privileges(7), stan-
dards(7)
+HISTORY
+ The linkat() function and AT_SYMLINK_FOLLOW flag were added to Solaris
+ in the Solaris 11.0 release.
+
+
+ The link() function has been included in all Sun and Oracle releases of
+ Solaris.
+
-Oracle Solaris 11.4 19 Mar 2014 link(2)
+Oracle Solaris 11.4 30 Jan 2023 link(2)
diff -NurbBw 11.4.54/man2/linkat.2 11.4.57/man2/linkat.2
--- 11.4.54/man2/linkat.2 2023-05-24 15:26:47.974225319 -0700
+++ 11.4.57/man2/linkat.2 2023-05-24 15:27:27.460089382 -0700
@@ -15,16 +15,16 @@
int flag);
DESCRIPTION
- The link() function creates a new link (directory entry) for the exist-
- ing file and increments its link count by one. The path1 argument
- points to a path name naming an existing file. The path2 argument
- points to a pathname naming the new directory entry to be created.
+ The link() function creates a new hard link (directory entry) for the
+ existing file and increments its link count by one. The path1 argument
+ provides the pathname of an existing file. The path2 argument provides
+ the pathname of the new directory entry to be created.
To create hard links, both files must be on the same file system. Both
the old and the new link share equal access and rights to the underly-
- ing object. No process can make a link to a directory, file named by
- path1 must not be a directory.
+ ing object. Hard links to directories are not allowed. The file named
+ by path1 must not be a directory.
Upon successful completion, link() marks for update the st_ctime field
@@ -47,6 +47,12 @@
opened with O_SEARCH, the function does not perform the check.
+ The fd1 and fd2 arguments to linkat() can be set to the special value
+ AT_FDCWD, specifying that the corresponding path argument is to be
+ interpreted relative to the current working directory, the same behav-
+ ior provided by link().
+
+
Values for flag are constructed by a bitwise-inclusive OR of flags from
the following list, defined in <fcntl.h>.
@@ -55,12 +61,6 @@
- If linkat() is passed the special value AT_FDCWD in the fd1 or fd2
- parameter, the current working directory is used for the respective
- path argument. If both fd1 and fd2 have value AT_FDCWD, the behavior is
- identical to a call to link().
-
-
If the AT_SYMLINK_FOLLOW flag is clear in the flag argument and the
path1 argument names a symbolic link, a new link is created for the
symbolic link path1 and not its target.
@@ -127,8 +127,8 @@
ENOTDIR A component of either path prefix is not a directory.
- EPERM The file named by path1 is a directory; this implemen-
- tation prohibits links to directories.
+ EPERM The file named by path1 is a directory; the Oracle
+ Solaris implementation prohibits links to directories.
The effective user ID does not match the owner of the
file and the {PRIV_FILE_LINK_ANY} privilege is not
@@ -199,6 +199,14 @@
symlink(2), unlink(2), mwac(7), attributes(7), privileges(7), stan-
dards(7)
+HISTORY
+ The linkat() function and AT_SYMLINK_FOLLOW flag were added to Solaris
+ in the Solaris 11.0 release.
+
+
+ The link() function has been included in all Sun and Oracle releases of
+ Solaris.
+
-Oracle Solaris 11.4 19 Mar 2014 link(2)
+Oracle Solaris 11.4 30 Jan 2023 link(2)
diff -NurbBw 11.4.54/man2/llseek.2 11.4.57/man2/llseek.2
--- 11.4.54/man2/llseek.2 2023-05-24 15:26:48.002120727 -0700
+++ 11.4.57/man2/llseek.2 2023-05-24 15:27:27.493091195 -0700
@@ -1,19 +1,21 @@
-llseek(2) System Calls llseek(2)
+lseek(2) System Calls lseek(2)
NAME
- llseek - move extended read/write file pointer
+ lseek, llseek - move read/write file pointer
SYNOPSIS
#include <sys/types.h>
#include <unistd.h>
+ off_t lseek(int fildes, off_t offset, int whence);
+
offset_t llseek(int fildes, offset_t offset, int whence);
DESCRIPTION
- The llseek() function sets the 64-bit extended file pointer associated
- with the open file descriptor specified by fildes as follows:
+ The lseek() function sets the file pointer associated with the open
+ file descriptor specified by fildes as follows:
o If whence is SEEK_SET, the pointer is set to offset bytes.
@@ -28,8 +30,8 @@
o If whence is SEEK_HOLE, the offset of the start of the next
hole greater than or equal to the supplied offset is
- returned. The definition of a hole immediately follows this
- list.
+ returned. The definition of a hole is provided near the end
+ of the DESCRIPTION.
o If whence is SEEK_DATA, the file pointer is set to the start
@@ -38,6 +40,30 @@
+ The symbolic constants SEEK_SET, SEEK_CUR, SEEK_END, SEEK_HOLE, and
+ SEEK_DATA are defined in the header <unistd.h>.
+
+
+ Some devices are incapable of seeking. The value of the file pointer
+ associated with such a device is undefined.
+
+
+ The lseek() function allows the file pointer to be set beyond the
+ existing data in the file. If data are later written at this point,
+ subsequent reads in the gap between the previous end of data and the
+ newly written data will return bytes of value 0 until data are written
+ into the gap.
+
+
+ If fildes is a remote file descriptor and offset is negative, lseek()
+ returns the file pointer even if it is negative. The lseek() function
+ will not, by itself, extend the size of a file.
+
+
+ If fildes refers to a shared memory object, lseek() behaves as if
+ fildes referred to a regular file.
+
+
A "hole" is defined as a contiguous range of bytes in a file, all hav-
ing the value of zero, but not all zeros in a file are guaranteed to be
represented as holes returned with SEEK_HOLE. Filesystems are allowed
@@ -46,40 +72,38 @@
but must not depend on it to find all such ranges in a file. The exis-
tence of a hole at the end of every data region allows for easy pro-
gramming and implies that a virtual hole exists at the end of the file.
+ Applications should use fpathconf(_PC_MIN_HOLE_SIZE) or path-
+ conf(_PC_MIN_HOLE_SIZE) to determine if a filesystem supports
+ SEEK_HOLE. See fpathconf(2).
For filesystems that do not supply information about holes, the file
will be represented as one entire data region.
- Although each file has a 64-bit file pointer associated with it, some
- existing file system types (such as tmpfs) do not support the full
- range of 64-bit offsets. In particular, on such file systems, non-
- device files remain limited to offsets of less than two gigabytes.
- Device drivers may support offsets of up to 1024 gigabytes for device
- special files.
-
-
- Some devices are incapable of seeking. The value of the file pointer
- associated with such a device is undefined.
+ The llseek() function operates similarly to the lseek() function,
+ except that in 32-bit processes it sets the 64-bit extended file
+ pointer associated with the open file descriptor specified by fildes,
+ instead of a 32-bit file pointer. In 64-bit processes, the two func-
+ tions operate identically.
RETURN VALUES
- Upon successful completion, llseek() returns the resulting pointer
- location as measured in bytes from the beginning of the file. Remote
- file descriptors are the only ones that allow negative file pointers.
- Otherwise, -1 is returned, the file pointer remains unchanged, and
- errno is set to indicate the error.
+ Upon successful completion, the resulting offset, as measured in bytes
+ from the beginning of the file, is returned. Remote file descriptors
+ are the only ones that allow negative file pointers. Otherwise, -1 is
+ returned, the file offset remains unchanged, and errno is set to indi-
+ cate the error.
ERRORS
- The llseek() function will fail if:
+ The lseek() and llseek() functions will fail if:
EBADF The fildes argument is not an open file descriptor.
- EINVAL The whence argument is not SEEK_SET, SEEK_CUR, or SEEK_END;
- the offset argument is not a valid offset for this file sys-
- tem type; or the fildes argument is not a remote file
- descriptor and the resulting file pointer would be negative.
+ EINVAL The whence argument is not SEEK_SET, SEEK_CUR, SEEK_END,
+ SEEK_DATA, or SEEK_HOLE; or the fildes argument is not a
+ remote file descriptor and the resulting file pointer would
+ be negative.
ENXIO For SEEK_DATA, there are no more data regions past the sup-
@@ -87,13 +111,57 @@
supplied offset.
- ESPIPE The fildes argument is associated with a pipe, a FIFO, or a
- STREAMS device.
+ ESPIPE The fildes argument is associated with a pipe, a FIFO, a
+ socket, or a STREAMS device.
+
+
+
+ The lseek() function will fail if:
+
+ EOVERFLOW The resulting file offset would be a value which cannot be
+ represented correctly in an object of type off_t for regu-
+ lar files.
+
+
+USAGE
+ The lseek() function has a transitional interface for 64-bit file off-
+ sets. See lf64(7).
+
+ In multithreaded applications, using lseek() in conjunction with a
+ read(2) or write(2) call on a file descriptor shared by more than one
+ thread is not an atomic operation. To ensure atomicity, use pread() or
+ pwrite().
+
+ATTRIBUTES
+ See attributes(7) for descriptions of the following attributes:
+
+
+ +-----------------------------+-----------------------------+
+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+ +-----------------------------+-----------------------------+
+ |Interface Stability |Committed |
+ +-----------------------------+-----------------------------+
+ |MT-Level |Async-Signal-Safe |
+ +-----------------------------+-----------------------------+
+ |Standard |See standards(7). |
+ +-----------------------------+-----------------------------+
SEE ALSO
- creat(2), dup(2), fcntl(2), lseek(2), open(2)
+ creat(2), dup(2), fcntl(2), fpathconf(2), open(2), read(2), write(2),
+ attributes(7), lf64(7), standards(7)
+
+HISTORY
+ The SEEK_DATA and SEEK_HOLE operations were added to Solaris in the
+ Solaris 10 6/06 (Update 2) release.
+
+
+ The llseek() function was added to Solaris in the Solaris 2.4 release.
+
+
+ The lseek() function and the SEEK_SET, SEEK_CUR, and SEEK_END opera-
+ tions have been included in all Sun and Oracle releases of Solaris.
-Oracle Solaris 11.4 29 May 2014 llseek(2)
+Oracle Solaris 11.4 30 Jan 2023 lseek(2)
diff -NurbBw 11.4.54/man2/lseek.2 11.4.57/man2/lseek.2
--- 11.4.54/man2/lseek.2 2023-05-24 15:26:48.029319434 -0700
+++ 11.4.57/man2/lseek.2 2023-05-24 15:27:27.522793302 -0700
@@ -3,7 +3,7 @@
NAME
- lseek - move read/write file pointer
+ lseek, llseek - move read/write file pointer
SYNOPSIS
#include <sys/types.h>
@@ -11,6 +11,8 @@
off_t lseek(int fildes, off_t offset, int whence);
+ offset_t llseek(int fildes, offset_t offset, int whence);
+
DESCRIPTION
The lseek() function sets the file pointer associated with the open
file descriptor specified by fildes as follows:
@@ -78,38 +80,49 @@
For filesystems that do not supply information about holes, the file
will be represented as one entire data region.
+
+ The llseek() function operates similarly to the lseek() function,
+ except that in 32-bit processes it sets the 64-bit extended file
+ pointer associated with the open file descriptor specified by fildes,
+ instead of a 32-bit file pointer. In 64-bit processes, the two func-
+ tions operate identically.
+
RETURN VALUES
Upon successful completion, the resulting offset, as measured in bytes
- from the beginning of the file, is returned. Otherwise, (off_t)-1 is
+ from the beginning of the file, is returned. Remote file descriptors
+ are the only ones that allow negative file pointers. Otherwise, -1 is
returned, the file offset remains unchanged, and errno is set to indi-
cate the error.
ERRORS
- The lseek() function will fail if:
+ The lseek() and llseek() functions will fail if:
EBADF The fildes argument is not an open file descriptor.
- EINVAL The whence argument is not SEEK_SET, SEEK_CUR, or
- SEEK_END; or the fildes argument is not a remote file
- descriptor and the resulting file pointer would be nega-
- tive.
+ EINVAL The whence argument is not SEEK_SET, SEEK_CUR, SEEK_END,
+ SEEK_DATA, or SEEK_HOLE; or the fildes argument is not a
+ remote file descriptor and the resulting file pointer would
+ be negative.
+
+
+ ENXIO For SEEK_DATA, there are no more data regions past the sup-
+ plied offset. For SEEK_HOLE, there are no more holes past the
+ supplied offset.
+
+
+ ESPIPE The fildes argument is associated with a pipe, a FIFO, a
+ socket, or a STREAMS device.
- ENXIO For SEEK_DATA, there are no more data regions past the
- supplied offset. For SEEK_HOLE, there are no more holes
- past the supplied offset.
+ The lseek() function will fail if:
EOVERFLOW The resulting file offset would be a value which cannot be
represented correctly in an object of type off_t for regu-
lar files.
- ESPIPE The fildes argument is associated with a pipe, a FIFO, a
- socket, or a STREAMS device.
-
-
USAGE
The lseek() function has a transitional interface for 64-bit file off-
sets. See lf64(7).
@@ -138,6 +151,17 @@
creat(2), dup(2), fcntl(2), fpathconf(2), open(2), read(2), write(2),
attributes(7), lf64(7), standards(7)
+HISTORY
+ The SEEK_DATA and SEEK_HOLE operations were added to Solaris in the
+ Solaris 10 6/06 (Update 2) release.
+
+
+ The llseek() function was added to Solaris in the Solaris 2.4 release.
+
+
+ The lseek() function and the SEEK_SET, SEEK_CUR, and SEEK_END opera-
+ tions have been included in all Sun and Oracle releases of Solaris.
+
-Oracle Solaris 11.4 30 May 2014 lseek(2)
+Oracle Solaris 11.4 30 Jan 2023 lseek(2)
diff -NurbBw 11.4.54/man2/memcntl.2 11.4.57/man2/memcntl.2
--- 11.4.54/man2/memcntl.2 2023-05-24 15:26:48.134253846 -0700
+++ 11.4.57/man2/memcntl.2 2023-05-24 15:27:27.565557503 -0700
@@ -125,9 +125,9 @@
respectively, to ensure compatibility with potential future
enhancements.
- Since this operation allocates locked memory, it is subjected to
- the project.max-locked-memory and zone.max-locked-memory resource
- controls, and the overall availability of memory on the system.
+ Since this operation allocates locked memory, it is subject to the
+ project.max-locked-memory and zone.max-locked-memory resource con-
+ trols, and the overall availability of memory on the system.
The operation may be split into multiple parts; if this occurs, and
a later part fails, any earlier parts which were not previously
@@ -153,11 +153,11 @@
MS_INVALIDATE Invalidate mappings.
- MS_ASYNC Return immediately once all write operations are sched-
- uled; with MS_SYNC the function will not return until all write
- operations are completed.
+ When MS_ASYNC is used, the call returns immediately once all write
+ operations are scheduled; with MS_SYNC the function will not return
+ until all write operations are completed.
- MS_INVALIDATE Invalidate all cached copies of data in memory, so
+ MS_INVALIDATE invalidates all cached copies of data in memory, so
that further references to the pages will be obtained by the system
from their backing storage locations. This operation should be used
by applications that require a memory object to be in a known
@@ -179,32 +179,46 @@
Remove address space memory locks and locks on all pages in the
address space with attributes attr. The addr, len, and arg argu-
- ments are not used, but must be NULL, 0 and 0, respectively, to
+ ments are not used, but must be NULL, 0, and 0, respectively, to
ensure compatibility with potential future enhancements.
This command has no effect on segments created with shmget_osm(2).
+ MC_UNLOCK_GRANULE
+
+ For each granule in the requested region which is allocated and
+ locked, access to the granule is disabled, the granule's allocated
+ pages are unlocked, and the granule's memory is freed. The arg,
+ attr, and mask arguments must be NULL, 0, and 0, respectively, to
+ ensure compatibility with potential future enhancements.
+
+ If this operation covers more than a single segment, it may succeed
+ on earlier segments before returning failure. If so, the earlier
+ segments will be left unlocked, since their underlying data has
+ been thrown away.
+
+
MC_CORE_PRUNE_IN
- Include the specified address range in the coredump of the process.
+ Include the specified address range in any coredump of the process.
The addr and len arguments specify the address range which the user
- wants to have included in the coredump.
+ wants to have included in a coredump.
- The arg, attr, and mask arguments must all be set to 0, when using
+ The arg, attr, and mask arguments must all be set to 0 when using
this command.
MC_CORE_PRUNE_OUT
- Exclude the specified address range from the coredump of the
+ Exclude the specified address range from any coredump of the
process.
The addr and len arguments specify the address range which the user
- wants to have included in the coredump.
+ wants to have excluded from a coredump.
- The arg, attr, and mask arguments must all be set to 0, when using
+ The arg, attr, and mask arguments must all be set to 0 when using
this command.
@@ -214,10 +228,10 @@
The default coredump settings can be found by running coreadm com-
mand.
- The addr and len arguments specify the address range which the user
- wants to use as default settings.
+ The addr and len arguments specify the address range for which the
+ user wants to use default settings.
- The arg, attr, and mask arguments must all be set to 0, when using
+ The arg, attr, and mask arguments must all be set to 0 when using
this command.
@@ -229,42 +243,26 @@
ues.
-
MCQ_DEFAULT Indicates that the corresponding address range
uses default settings.
MCQ_PRUNE_IN Indicates that the corresponding address range
- will be included in the coredump of the process.
+ will be included in a coredump of the process.
MCQ_PRUNE_OUT Indicates that the corresponding address range
- will be excluded from the coredump of the process.
-
+ will be excluded from a coredump of the process.
The caller needs to pass an allocated character array, whose length
will be equal to the number of pages the caller is intend to query.
It is solely the caller's responsibility to ensure enough memory
has been allocated to accommodate all the requested pages.
- The attr and mask arguments must be set to 0, when using this com-
+ The attr and mask arguments must be set to 0 when using this com-
mand.
- MC_UNLOCK_GRANULE
-
- For each granule in the requested region which is allocated and
- locked, access to the granule is disabled, the granule's allocated
- pages are unlocked, and the granule's memory is freed. The arg,
- attr, and mask arguments must be NULL, 0, and 0, respectively, to
- ensure compatibility with potential future enhancements.
-
- If this operation covers more than a single segment, it may succeed
- on earlier segments before returning failure. If so, the earlier
- segments will be left unlocked, since their underlying data has
- been thrown away.
-
-
MC_RESERVE_AS
Reserve the Virtual Address range specified by addr and len. If
@@ -272,7 +270,7 @@
Reserved VA range for memory map operations that do not specify
fixed addresses (e.g. library mappings).
- The Reserved VA range(s) is 'reserved' for later use by memory map-
+ The Reserved VA range(s) is "reserved" for later use by memory map-
ping operations that specify an address range contained within the
Reserved VA range starting at the addr argument to mmap or the
shmaddr argument to shmat. The reservation can also be left in
@@ -292,24 +290,13 @@
success, it is essential that the Reserved VA range is equal to or
larger than the fixed address mapping range.
- Please note that the mapfile Empty Segment directive is recommended
- for use to create the VA Reservation (For more information, see
- Oracle Solaris 11.4 Linkers and Libraries Guide for details). The
- MC_RESERVE_AS memcntl command issued from an application occurs
- after process startup which could mean that library mappings could
- have claimed the desired address range(s) needed for the Reserva-
- tion.
-
- When a program is compiled with the Mapfile Empty Segment direc-
- tive, a VA Reservation is created starting at the specified Empty
- Segment Address for the specified Length.
-
- Unlike MC_RESERVE_AS, the VA Reservation Empty Segment directive
- should always succeed as the Reservation occurs very early on in
- the process startup and the only potential conflict is with the
- program text and data and the link-editor would have caught the
- conflict during the link-edit. See ld(1) and the Oracle Solaris
- 11.4 Linkers and Libraries Guide for more details.
+ The use of a link-editor mapfile to create the VA reservation in
+ the program executable is recommended, as such reservations are
+ reserved at process creation, before the process has started run-
+ ning, and so, before other operations might occur that would claim
+ the desired address space. See ld(1) and "RESERVE_SEGMENT Direc-
+ tive" in the "Mapfiles in the Link-Editor" chapter of the Oracle
+ Solaris 11.4 Linkers and Libraries Guide for more details.
MC_UNRESERVE_AS
@@ -321,7 +308,7 @@
tions are persistent and lasts until the process exits or executes
a different program.
- Mapping ranges that are freed (munmap(2) & shmdt(2)) that had pre-
+ Mapping ranges that are freed (munmap(2) & shmdt(2)) that were pre-
viously mapped on top of a Reserved VA range are Re-Reserved.
@@ -371,18 +358,20 @@
MC_ENABLE_ADI
- Available on platforms that support Application Data Integrity.
- Enable ADI on all pages in the range.
+ Available on platforms that support Application Data Integrity
+ (ADI). Enable ADI on all pages in the range. See the adi(7) manual
+ page for a list of platforms that support ADI and more information
+ about the feature.
- The arg, attr, and mask arguments must be NULL, 0, and 0 respec-
+ The arg, attr, and mask arguments must be NULL, 0, and 0, respec-
tively, to ensure compatibility with potential future enhancements.
ADI may be enabled on anonymous memory that is mapped PRIVATE or
- SHARED and all forms of shared memory attached via shmat(2) except
+ SHARED, and all forms of shared memory attached via shmat(2) except
for DISM.
- ADI may only be enabled (or disabled) over the entire range of an
- ISM segment.
+ For an ISM segment, ADI may only be enabled (or disabled) over the
+ entire range of the segment.
For a memory segment created with shmget_osm(2), ADI may only be
enabled (or disabled) over a range that starts and ends at a multi-
@@ -398,7 +387,7 @@
Available on platforms that support Application Data Integrity.
Disable ADI on all pages in the range.
- The arg, attr, and mask arguments must be NULL, 0, and 0 respec-
+ The arg, attr, and mask arguments must be NULL, 0, and 0, respec-
tively, to ensure compatibility with potential future enhancements.
@@ -407,13 +396,16 @@
Locks established with the lock operations are not inherited by a child
- process after fork(2). The memcntl() function fails if it attempts to
- lock more memory than a system-specific limit.
+ process after fork(2).
+
+
+ The memcntl() function fails if it attempts to lock more memory than a
+ system-specific limit.
Due to the potential impact on system resources, the operations
- MC_LOCKAS, MC_LOCK, MC_UNLOCKAS, and MC_UNLOCK are restricted to privi-
- leged processes.
+ MC_LOCKAS, MC_LOCK, MC_UNLOCKAS, and MC_UNLOCK are restricted to pro-
+ cesses with the {PRIV_PROC_LOCK_MEMORY} privilege.
Requests from MC_CORE_PRUNE_IN and MC_CORE_PRUNE_OUT will be honored
@@ -556,11 +547,37 @@
SEE ALSO
ld(1), ppgsz(1), fork(2), mmap(2), mprotect(2), shmget_osm(2), getpage-
sizes(3C), mlock(3C), mlockall(3C), msync(3C), plock(3C), sysconf(3C),
- attributes(7), privileges(7)
+ adi(7), attributes(7), privileges(7)
Oracle Solaris 11.4 Linkers and Libraries Guide
+HISTORY
+ The memcntl() function has been included in all Sun and Oracle releases
+ of Solaris.
+
+
+ Support for the following cmd values is available in Solaris starting
+ with the listed release:
+
+
+ +-------------------------------------------------+--------------------+
+ | COMMAND | RELEASE |
+ +-------------------------------------------------+--------------------+
+ |MC_RESERVE_AS, MC_UNRESERVE_AS, |11.3.0 |
+ |MC_CORE_PRUNE_IN, MC_CORE_PRUNE_OUT, | |
+ |MC_CORE_UNPRUNE, MC_CORE_QUERY | |
+ +-------------------------------------------------+--------------------+
+ |MC_ENABLE_ADI, MC_DISABLE_ADI |11.2.8 |
+ +-------------------------------------------------+--------------------+
+ |MC_LOCK_GRANULE, MC_UNLOCK_GRANULE |10 1/13 (Update 11) |
+ +-------------------------------------------------+--------------------+
+ |MC_HAT_ADVISE |9 |
+ +-------------------------------------------------+--------------------+
+ |MC_SYNC, MC_LOCK, MC_UNLOCK, MC_ADVISE, |1.0 |
+ |MC_LOCKAS, MC_UNLOCKAS | |
+ +-------------------------------------------------+--------------------+
+
-Oracle Solaris 11.4 15 Jan 2021 memcntl(2)
+Oracle Solaris 11.4 30 Jan 2023 memcntl(2)
diff -NurbBw 11.4.54/man2/mknod.2 11.4.57/man2/mknod.2
--- 11.4.54/man2/mknod.2 2023-05-24 15:26:48.192970241 -0700
+++ 11.4.57/man2/mknod.2 2023-05-24 15:27:27.597341312 -0700
@@ -21,7 +21,7 @@
The file type is specified in mode by the S_IFMT bits, which must be
set to one of the following values:
- S_IFIFO fifo special
+ S_IFIFO FIFO special
S_IFCHR character special
@@ -91,8 +91,8 @@
marked for update.
- Only a process with the PRIV_SYS_DEVICES privilege may invoke mknod()
- for file types other than FIFO-special. See privileges(7).
+ Only a process with the {PRIV_SYS_DEVICES} privilege may invoke mknod()
+ for file types other than FIFO special. See privileges(7).
The mknodat() function is equivalent to the mknod() function except in
@@ -136,8 +136,8 @@
EFAULT The path argument points to an illegal address.
- EINTR A signal was caught during the execution of the mknod()
- function.
+ EINTR A signal was caught during the execution of the func-
+ tion.
EINVAL An invalid argument exists.
@@ -213,8 +213,8 @@
USAGE
The mknod() function can be invoked for file types other than FIFO spe-
- cial only by a process with the PRIV_SYS_DEVICES privilege asserted in
- its effective set.
+ cial only by a process with the {PRIV_SYS_DEVICES} privilege asserted
+ in its effective set.
Applications should use the mkdir(2) function to create a directory
@@ -254,6 +254,14 @@
umask(2), door_create(3C), fattach(3C), makedev(3C), mkfifo(3C),
socket(3C), stat.h(3HEAD), attributes(7), privileges(7), standards(7)
+HISTORY
+ The mknodat() function was added to Solaris in the Solaris 11.0
+ release.
-Oracle Solaris 11.4 25 Sep 2020 mknod(2)
+ The mknod() function has been included in all Sun and Oracle releases
+ of Solaris.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 mknod(2)
diff -NurbBw 11.4.54/man2/mknodat.2 11.4.57/man2/mknodat.2
--- 11.4.54/man2/mknodat.2 2023-05-24 15:26:48.246223788 -0700
+++ 11.4.57/man2/mknodat.2 2023-05-24 15:27:27.643541304 -0700
@@ -21,7 +21,7 @@
The file type is specified in mode by the S_IFMT bits, which must be
set to one of the following values:
- S_IFIFO fifo special
+ S_IFIFO FIFO special
S_IFCHR character special
@@ -91,8 +91,8 @@
marked for update.
- Only a process with the PRIV_SYS_DEVICES privilege may invoke mknod()
- for file types other than FIFO-special. See privileges(7).
+ Only a process with the {PRIV_SYS_DEVICES} privilege may invoke mknod()
+ for file types other than FIFO special. See privileges(7).
The mknodat() function is equivalent to the mknod() function except in
@@ -136,8 +136,8 @@
EFAULT The path argument points to an illegal address.
- EINTR A signal was caught during the execution of the mknod()
- function.
+ EINTR A signal was caught during the execution of the func-
+ tion.
EINVAL An invalid argument exists.
@@ -213,8 +213,8 @@
USAGE
The mknod() function can be invoked for file types other than FIFO spe-
- cial only by a process with the PRIV_SYS_DEVICES privilege asserted in
- its effective set.
+ cial only by a process with the {PRIV_SYS_DEVICES} privilege asserted
+ in its effective set.
Applications should use the mkdir(2) function to create a directory
@@ -254,6 +254,14 @@
umask(2), door_create(3C), fattach(3C), makedev(3C), mkfifo(3C),
socket(3C), stat.h(3HEAD), attributes(7), privileges(7), standards(7)
+HISTORY
+ The mknodat() function was added to Solaris in the Solaris 11.0
+ release.
-Oracle Solaris 11.4 25 Sep 2020 mknod(2)
+ The mknod() function has been included in all Sun and Oracle releases
+ of Solaris.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 mknod(2)
diff -NurbBw 11.4.54/man2/mmap.2 11.4.57/man2/mmap.2
--- 11.4.54/man2/mmap.2 2023-05-24 15:26:48.309513677 -0700
+++ 11.4.57/man2/mmap.2 2023-05-24 15:27:27.747429193 -0700
@@ -231,8 +231,8 @@
The MAP_ADI option is only available on platforms that support Applica-
- tion Data Integrity. When the option is set, ADI is enabled on the
- mapped region.
+ tion Data Integrity (ADI). When the option is set, ADI is enabled on
+ the mapped region.
MAP_ADI is used to enable ADI on an anonymous memory that is either
@@ -262,8 +262,8 @@
The mmap() function adds an extra reference to the file associated with
the file descriptor fildes which is not removed by a subsequent
- close(2) on that file descriptor. This reference is removed when there
- are no more mappings to the file by a call to the munmap(2) function.
+ close(2) on that file descriptor. This reference is removed by a call
+ to the munmap(2) function when there are no more mappings to the file.
The st_atime field of the mapped file may be marked for update at any
@@ -470,7 +470,7 @@
will return the value MAP_FAILED.
- If mmap() fails for reasons other than EBADF, EINVAL or ENOTSUP, some
+ If mmap() fails for reasons other than EBADF, EINVAL, or ENOTSUP, some
of the mappings in the address range starting at addr and continuing
for len bytes may have been unmapped.
@@ -485,6 +485,9 @@
PROT_READ or PROT_EXEC was specified for a file with the
av_quarantined system attribute set.
+ PROT_EXEC was specified for a file located on a file sys-
+ tem mounted with the noexec mount option.
+
EAGAIN The mapping could not be locked in memory.
@@ -523,7 +526,7 @@
MAP_ANON was specified, but the file descriptor was not
-1.
- MAP_TEXT was specified but PROT_EXEC was not.
+ MAP_TEXT was specified, but PROT_EXEC was not.
MAP_TEXT and MAP_INITDATA were both specified.
@@ -559,15 +562,20 @@
ENOTSUP The system does not support the combination of accesses
requested in the prot argument.
- MAP_ADI is specified, and the ADI feature is not supported
- by the platform.
+ MAP_ADI is specified, but the ADI feature is not supported
+ by the platform. See the adi(7) manual page for a list of
+ platforms that support ADI.
- MAP_ADI is specified, and the caller is a 32-bit process.
+ MAP_ADI is specified, but the caller is a 32-bit process.
- MAP_ADI is specified, and the fildes argument refers to an
+ MAP_ADI is specified, but the fildes argument refers to an
object for which ADI is not supported.
+ ENOSYS The fildes argument refers to an object on a filesystem
+ which does not support mmap().
+
+
ENXIO Addresses in the range [off, off + len) are invalid for
the object specified by fildes.
@@ -577,7 +585,7 @@
EOVERFLOW The file is a regular file and the value of off plus len
- exceeds the offset maximum establish in the open file
+ exceeds the offset maximum established in the open file
description associated with fildes.
@@ -614,7 +622,12 @@
memory usage in a given address range when Address Space Layout Random-
ization (ASLR) is enabled. Programs that require specifying exact mem-
ory layouts can be tagged at link time to disable ASLR for their
- process. For more information, see the ld(1) and sxadm(8) man pages.
+ process, or linked with mapfiles specifying RESERVE_SEGMENT directives
+ to reserve memory segments for use solely by MAP_FIXED mappings. For
+ more information, see the ld(1) and sxadm(8) man pages, and
+ "RESERVE_SEGMENT Directive" in the "Mapfiles in the Link-Editor" chap-
+ ter of the Oracle Solaris 11.4 Linkers and Libraries Guide for more
+ details.
The application must ensure correct synchronization when using mmap()
@@ -696,4 +709,4 @@
-Oracle Solaris 11.4 21 Mar 2022 mmap(2)
+Oracle Solaris 11.4 30 Jan 2023 mmap(2)
diff -NurbBw 11.4.54/man2/mount.2 11.4.57/man2/mount.2
--- 11.4.54/man2/mount.2 2023-05-24 15:26:48.352371128 -0700
+++ 11.4.57/man2/mount.2 2023-05-24 15:27:27.776389531 -0700
@@ -25,7 +25,7 @@
refer to the root directory on the mounted file system. The mounted
file system is inserted into the kernel list of all mounted file sys-
tems. This list can be examined through the mounted file system table
- (see mnttab(5)).
+ (see getmntent(3C) and mnttab(5)).
The fstype argument is the file system type name. Standard file system
@@ -223,7 +223,7 @@
privileges.
SEE ALSO
- umount(2), mnttab(5), mount(8)
+ umount(2), getmntent(3C), mnttab(5), mount(8)
NOTES
MS_OPTIONSTR-type option strings should be used.
@@ -235,6 +235,21 @@
by the option string. Any options controlled by flags are then applied,
overriding any value set by the option string.
+HISTORY
+ A version of the mount() system call was included in Solaris 1.x
+ releases, but it took an incompatible set of arguments. The mount()
+ system call in Solaris 2.0 accepted the first six arguments listed
+ above, including the flags MS_DATA, MS_NOSUID, MS_RDONLY, and
+ MS_REMOUNT.
-Oracle Solaris 11.4 6 Aug 2012 mount(2)
+ The MS_OVERLAY flag was added in Solaris 2.2.
+
+
+ The MS_GLOBAL and MS_OPTIONSTR flags and the optptr and optlen argu-
+ ments were added to the mount() system call in Solaris 7 3/99 (Update
+ 1).
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 mount(2)
diff -NurbBw 11.4.54/man2/mprotect.2 11.4.57/man2/mprotect.2
--- 11.4.54/man2/mprotect.2 2023-05-24 15:26:48.424259286 -0700
+++ 11.4.57/man2/mprotect.2 2023-05-24 15:27:27.803710823 -0700
@@ -14,8 +14,9 @@
The mprotect() function changes the access protections on the mappings
specified by the range [addr, addr + len), rounding len up to the next
multiple of the page size as returned by sysconf(3C), to be that speci-
- fied by prot. Legitimate values for prot are the same as those permit-
- ted for mmap(2) and are defined in <sys/mman.h> as:
+ fied by prot. The addr argument must be a multiple of the pagesize as
+ returned by sysconf(3C). Legitimate values for prot are the same as
+ those permitted for mmap(2) and are defined in <sys/mman.h> as:
PROT_READ /* page can be read */
@@ -80,13 +82,19 @@
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
- |Interface Stability |Standard |
+ |Interface Stability |Committed |
+ +-----------------------------+-----------------------------+
+ |Standard |See standards(7). |
+-----------------------------+-----------------------------+
SEE ALSO
- mmap(2), mlock(3C), mlockall(3C), plock(3C), sysconf(3C),
+ mmap(2), memcntl(2), mlock(3C), mlockall(3C), plock(3C), sysconf(3C),
attributes(7), standards(7)
+HISTORY
+ The mprotect() function has been included in all Sun and Oracle
+ releases of Solaris.
+
-Oracle Solaris 11.4 5 Feb 2015 mprotect(2)
+Oracle Solaris 11.4 30 Jan 2023 mprotect(2)
diff -NurbBw 11.4.54/man2/open.2 11.4.57/man2/open.2
--- 11.4.54/man2/open.2 2023-05-24 15:26:48.522806882 -0700
+++ 11.4.57/man2/open.2 2023-05-24 15:27:27.866651444 -0700
@@ -35,8 +35,13 @@
The open() function returns a file descriptor for the named file that
is the lowest file descriptor not currently open for that process. The
open file description is new, and therefore the file descriptor does
- not share it with any other process in the system. The FD_CLOEXEC and
- FD_CLOFORK flags associated with the new file descriptor are cleared.
+ not share it with any other process in the system.
+
+
+ The FD_CLOEXEC and FD_CLOFORK flags associated with the new file
+ descriptor are cleared, unless set as described below. For more infor-
+ mation on these file descriptor flags, see F_GETFD and F_SETFD in the
+ fcntl(2) man page.
The file offset used to mark the current position within the file is
@@ -81,11 +86,16 @@
O_CLOEXEC
If set, the FD_CLOEXEC flag is set for the new file descriptor.
+ This causes the file descriptor to not be provided to a new process
+ image executed via the exec(2) or spawn(2) families of system
+ calls.
O_CLOFORK
If set, the FD_CLOFORK flag is set for the new file descriptor.
+ This causes the file descriptor to not be provided to a new process
+ created via the fork(2) or spawn(2) families of system calls.
O_CREAT
@@ -103,17 +113,15 @@
effective group ID or one of the supplementary groups IDs, the
S_ISGID bit is cleared. The access permission bits (see
<sys/stat.h>) of the file mode are set to the value of mode, modi-
- fied as follows (see creat(2)): a bitwise-AND is performed on the
- file-mode bits and the corresponding bits in the complement of the
- process's file mode creation mask. Thus, all bits set in the
- process's file mode creation mask (see umask(2)) are correspond-
- ingly cleared in the file's permission mask. The "save text image
- after execution bit" of the mode is cleared (see chmod(2)). O_SYNC
- Write I/O operations on the file descriptor complete as defined by
- synchronized I/O file integrity completion (see fcntl.h(3HEAD) def-
- inition of O_SYNC.) When bits other than the file permission bits
- are set, the effect is unspecified. The mode argument does not
- affect whether the file is open for reading, writing or for both.
+ fied as follows: a bitwise-AND is performed on the file-mode bits
+ and the corresponding bits in the complement of the process's file
+ mode creation mask. Thus, all bits set in the process's file mode
+ creation mask (see umask(2)) are correspondingly cleared in the
+ file's permission mask. The "save text image after execution bit"
+ of the mode is cleared (see chmod(2)). When bits other than the
+ file permission bits are set in the mode argument, the effect is
+ unspecified. The mode argument does not affect whether the file is
+ open for reading, writing or for both.
Files created by the processes in the tpd process and which are not
opened with O_TPDSAFE cannot be modified by processes outside of
@@ -215,6 +223,19 @@
Otherwise, the behavior of O_NONBLOCK and O_NDELAY is unspecified.
+ O_NOSIGPIPE
+
+ If the file is a FIFO, writing to the file will return EPIPE when
+ the other end has closed and no SIGPIPE will be sent.
+
+
+ O_NOSTDFD
+
+ The file descriptor returned will be the lowest numbered unused
+ file descriptor other than STDIN_FILENO, STDOUT_FILENO, and
+ STDERR_FILENO.
+
+
O_RSYNC
Read I/O operations on the file descriptor complete at the same
@@ -229,7 +250,8 @@
O_SYNC
Write I/O operations on the file descriptor complete as defined by
- synchronized I/O file integrity completion.
+ synchronized I/O file integrity completion. See the definition of
+ O_SYNC in fcntl.h(3HEAD) for more information.
O_TPDSAFE
@@ -268,19 +290,6 @@
absolute path results in a normal file reference.
- O_NOSIGPIPE
-
- If the file is a fifo, writing to the file will return EPIPE when
- the other end has closed and no SIGPIPE will be sent.
-
-
- O_NOSTDFD
-
- The file descriptor returned will be the lowest numbered unused
- file descriptor other than STDIN_FILENO, STDOUT_FILENO and
- STDERR_FILENO.
-
-
If O_CREAT is set and the file did not previously exist, upon success-
ful completion, open() marks for update the st_atime, st_ctime, and
@@ -412,20 +421,22 @@
ters are part of the UTF-8 character codeset.
- EINTR A signal was caught during open().
+ EINTR A signal was caught during execution of the system
+ call.
EFAULT The path argument points to an illegal address.
- EINVAL The system does not support synchronized I/O for this
- file, or the O_XATTR flag was supplied and the underly-
- ing file system does not support extended file
- attributes.
+ EINVAL Synchronized I/O was requested and the system does not
+ support synchronized I/O for this file.
+
+ The O_XATTR flag was supplied and the underlying file
+ system does not support extended file attributes.
EIO The path argument names a STREAMS file and a hangup or
- error occurred during the open().
+ error occurred during the system call.
EISDIR The named file is a directory and oflag includes
@@ -549,7 +560,7 @@
- The open() function may fail if:
+ The open() and openat() functions may fail if:
EAGAIN The path argument names the slave side of a pseudo-ter-
minal device that is locked.
@@ -657,20 +668,20 @@
See attributes(7) for descriptions of the following attributes:
- +-----------------------------+------------------------------+
+ +-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
- +-----------------------------+------------------------------+
+ +-----------------------------+-----------------------------+
|Interface Stability |Committed |
- +-----------------------------+------------------------------+
+ +-----------------------------+-----------------------------+
|MT-Level |Async-Signal-Safe |
- +-----------------------------+------------------------------+
- |Standard |For open(), see standards(7). |
- +-----------------------------+------------------------------+
+ +-----------------------------+-----------------------------+
+ |Standard |See standards(7). |
+ +-----------------------------+-----------------------------+
SEE ALSO
chmod(2), close(2), creat(2), dup(2), exec(2), fcntl(2), getmsg(2),
getrlimit(2), Intro(2), lseek(2), putmsg(2), read(2), setpflags(2),
- stat(2), umask(2), write(2), attropen(3C), unlockpt(3C),
+ stat(2), umask(2), write(2), attropen(3C), openpty(3C), unlockpt(3C),
fcntl.h(3HEAD), stat.h(3HEAD), streamio(4I), connld(4M), attributes(7),
lf64(7), privileges(7), standards(7), sysattr(7), tpd(7)
@@ -680,6 +691,45 @@
secondary storage.
HISTORY
+ The openat() function was added in the Solaris 9 release.
+
+
+ The open() function has been included in all Sun and Oracle releases of
+ Solaris.
+
+
+ Support for the following flags is available in Solaris starting with
+ the listed release:
+
+
+ +-------------------------------------------------+---------+
+ | FLAG |RELEASE |
+ +-------------------------------------------------+---------+
+ |O_NOSTDFD |11.4.27 |
+ +-------------------------------------------------+---------+
+ |O_NOSIGPIPE |11.4.0 |
+ +-------------------------------------------------+---------+
+ |O_CLOFORK |11.3.0 |
+ +-------------------------------------------------+---------+
+ |O_TPDSAFE |11.2.0 |
+ +-------------------------------------------------+---------+
+ |O_CLOEXEC, O_DIRECTORY, O_EXEC, O_SEARCH, |11.0.0 |
+ |O_TTY_INIT | |
+ +-------------------------------------------------+---------+
+ |O_NOFOLLOW, O_NOLINKS |10 3/05 |
+ +-------------------------------------------------+---------+
+ |O_XATTR |9 |
+ +-------------------------------------------------+---------+
+ |O_LARGEFILE |2.6 |
+ +-------------------------------------------------+---------+
+ |O_DSYNC, O_RSYNC |2.3 |
+ +-------------------------------------------------+---------+
+ |O_RDONLY, O_WRONLY, O_RDWR, O_APPEND, O_CREAT, |1.0 |
+ |O_TRUNC, O_EXCL, O_SYNC, O_NDELAY, O_NONBLOCK, | |
+ |O_NOCTTY | |
+ +-------------------------------------------------+---------+
+
+
Prior to Oracle Solaris 11.4, if called from a program linked with val-
ues-xpg4.o or values-xpg6.o to indicate conformance with the XPG4 or
later standards, then open() of a pts(4D) pseudo-tty device would auto-
@@ -694,9 +744,9 @@
each stream.
- Oracle Solaris 11.4 also added the openpty(3C) to encapsulate most of
- this detail behind a portable interface.
+ Oracle Solaris 11.4 also added the openpty(3C) function to encapsulate
+ most of this detail behind a portable interface.
-Oracle Solaris 11.4 21 Mar 2022 open(2)
+Oracle Solaris 11.4 30 Jan 2023 open(2)
diff -NurbBw 11.4.54/man2/openat.2 11.4.57/man2/openat.2
--- 11.4.54/man2/openat.2 2023-05-24 15:26:48.576029970 -0700
+++ 11.4.57/man2/openat.2 2023-05-24 15:27:27.951404597 -0700
@@ -35,8 +35,13 @@
The open() function returns a file descriptor for the named file that
is the lowest file descriptor not currently open for that process. The
open file description is new, and therefore the file descriptor does
- not share it with any other process in the system. The FD_CLOEXEC and
- FD_CLOFORK flags associated with the new file descriptor are cleared.
+ not share it with any other process in the system.
+
+
+ The FD_CLOEXEC and FD_CLOFORK flags associated with the new file
+ descriptor are cleared, unless set as described below. For more infor-
+ mation on these file descriptor flags, see F_GETFD and F_SETFD in the
+ fcntl(2) man page.
The file offset used to mark the current position within the file is
@@ -81,11 +86,16 @@
O_CLOEXEC
If set, the FD_CLOEXEC flag is set for the new file descriptor.
+ This causes the file descriptor to not be provided to a new process
+ image executed via the exec(2) or spawn(2) families of system
+ calls.
O_CLOFORK
If set, the FD_CLOFORK flag is set for the new file descriptor.
+ This causes the file descriptor to not be provided to a new process
+ created via the fork(2) or spawn(2) families of system calls.
O_CREAT
@@ -103,17 +113,15 @@
effective group ID or one of the supplementary groups IDs, the
S_ISGID bit is cleared. The access permission bits (see
<sys/stat.h>) of the file mode are set to the value of mode, modi-
- fied as follows (see creat(2)): a bitwise-AND is performed on the
- file-mode bits and the corresponding bits in the complement of the
- process's file mode creation mask. Thus, all bits set in the
- process's file mode creation mask (see umask(2)) are correspond-
- ingly cleared in the file's permission mask. The "save text image
- after execution bit" of the mode is cleared (see chmod(2)). O_SYNC
- Write I/O operations on the file descriptor complete as defined by
- synchronized I/O file integrity completion (see fcntl.h(3HEAD) def-
- inition of O_SYNC.) When bits other than the file permission bits
- are set, the effect is unspecified. The mode argument does not
- affect whether the file is open for reading, writing or for both.
+ fied as follows: a bitwise-AND is performed on the file-mode bits
+ and the corresponding bits in the complement of the process's file
+ mode creation mask. Thus, all bits set in the process's file mode
+ creation mask (see umask(2)) are correspondingly cleared in the
+ file's permission mask. The "save text image after execution bit"
+ of the mode is cleared (see chmod(2)). When bits other than the
+ file permission bits are set in the mode argument, the effect is
+ unspecified. The mode argument does not affect whether the file is
+ open for reading, writing or for both.
Files created by the processes in the tpd process and which are not
opened with O_TPDSAFE cannot be modified by processes outside of
@@ -215,6 +223,19 @@
Otherwise, the behavior of O_NONBLOCK and O_NDELAY is unspecified.
+ O_NOSIGPIPE
+
+ If the file is a FIFO, writing to the file will return EPIPE when
+ the other end has closed and no SIGPIPE will be sent.
+
+
+ O_NOSTDFD
+
+ The file descriptor returned will be the lowest numbered unused
+ file descriptor other than STDIN_FILENO, STDOUT_FILENO, and
+ STDERR_FILENO.
+
+
O_RSYNC
Read I/O operations on the file descriptor complete at the same
@@ -229,7 +250,8 @@
O_SYNC
Write I/O operations on the file descriptor complete as defined by
- synchronized I/O file integrity completion.
+ synchronized I/O file integrity completion. See the definition of
+ O_SYNC in fcntl.h(3HEAD) for more information.
O_TPDSAFE
@@ -268,19 +290,6 @@
absolute path results in a normal file reference.
- O_NOSIGPIPE
-
- If the file is a fifo, writing to the file will return EPIPE when
- the other end has closed and no SIGPIPE will be sent.
-
-
- O_NOSTDFD
-
- The file descriptor returned will be the lowest numbered unused
- file descriptor other than STDIN_FILENO, STDOUT_FILENO and
- STDERR_FILENO.
-
-
If O_CREAT is set and the file did not previously exist, upon success-
ful completion, open() marks for update the st_atime, st_ctime, and
@@ -412,20 +421,22 @@
ters are part of the UTF-8 character codeset.
- EINTR A signal was caught during open().
+ EINTR A signal was caught during execution of the system
+ call.
EFAULT The path argument points to an illegal address.
- EINVAL The system does not support synchronized I/O for this
- file, or the O_XATTR flag was supplied and the underly-
- ing file system does not support extended file
- attributes.
+ EINVAL Synchronized I/O was requested and the system does not
+ support synchronized I/O for this file.
+
+ The O_XATTR flag was supplied and the underlying file
+ system does not support extended file attributes.
EIO The path argument names a STREAMS file and a hangup or
- error occurred during the open().
+ error occurred during the system call.
EISDIR The named file is a directory and oflag includes
@@ -549,7 +560,7 @@
- The open() function may fail if:
+ The open() and openat() functions may fail if:
EAGAIN The path argument names the slave side of a pseudo-ter-
minal device that is locked.
@@ -657,20 +668,20 @@
See attributes(7) for descriptions of the following attributes:
- +-----------------------------+------------------------------+
+ +-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
- +-----------------------------+------------------------------+
+ +-----------------------------+-----------------------------+
|Interface Stability |Committed |
- +-----------------------------+------------------------------+
+ +-----------------------------+-----------------------------+
|MT-Level |Async-Signal-Safe |
- +-----------------------------+------------------------------+
- |Standard |For open(), see standards(7). |
- +-----------------------------+------------------------------+
+ +-----------------------------+-----------------------------+
+ |Standard |See standards(7). |
+ +-----------------------------+-----------------------------+
SEE ALSO
chmod(2), close(2), creat(2), dup(2), exec(2), fcntl(2), getmsg(2),
getrlimit(2), Intro(2), lseek(2), putmsg(2), read(2), setpflags(2),
- stat(2), umask(2), write(2), attropen(3C), unlockpt(3C),
+ stat(2), umask(2), write(2), attropen(3C), openpty(3C), unlockpt(3C),
fcntl.h(3HEAD), stat.h(3HEAD), streamio(4I), connld(4M), attributes(7),
lf64(7), privileges(7), standards(7), sysattr(7), tpd(7)
@@ -680,6 +691,45 @@
secondary storage.
HISTORY
+ The openat() function was added in the Solaris 9 release.
+
+
+ The open() function has been included in all Sun and Oracle releases of
+ Solaris.
+
+
+ Support for the following flags is available in Solaris starting with
+ the listed release:
+
+
+ +-------------------------------------------------+---------+
+ | FLAG |RELEASE |
+ +-------------------------------------------------+---------+
+ |O_NOSTDFD |11.4.27 |
+ +-------------------------------------------------+---------+
+ |O_NOSIGPIPE |11.4.0 |
+ +-------------------------------------------------+---------+
+ |O_CLOFORK |11.3.0 |
+ +-------------------------------------------------+---------+
+ |O_TPDSAFE |11.2.0 |
+ +-------------------------------------------------+---------+
+ |O_CLOEXEC, O_DIRECTORY, O_EXEC, O_SEARCH, |11.0.0 |
+ |O_TTY_INIT | |
+ +-------------------------------------------------+---------+
+ |O_NOFOLLOW, O_NOLINKS |10 3/05 |
+ +-------------------------------------------------+---------+
+ |O_XATTR |9 |
+ +-------------------------------------------------+---------+
+ |O_LARGEFILE |2.6 |
+ +-------------------------------------------------+---------+
+ |O_DSYNC, O_RSYNC |2.3 |
+ +-------------------------------------------------+---------+
+ |O_RDONLY, O_WRONLY, O_RDWR, O_APPEND, O_CREAT, |1.0 |
+ |O_TRUNC, O_EXCL, O_SYNC, O_NDELAY, O_NONBLOCK, | |
+ |O_NOCTTY | |
+ +-------------------------------------------------+---------+
+
+
Prior to Oracle Solaris 11.4, if called from a program linked with val-
ues-xpg4.o or values-xpg6.o to indicate conformance with the XPG4 or
later standards, then open() of a pts(4D) pseudo-tty device would auto-
@@ -694,9 +744,9 @@
each stream.
- Oracle Solaris 11.4 also added the openpty(3C) to encapsulate most of
- this detail behind a portable interface.
+ Oracle Solaris 11.4 also added the openpty(3C) function to encapsulate
+ most of this detail behind a portable interface.
-Oracle Solaris 11.4 21 Mar 2022 open(2)
+Oracle Solaris 11.4 30 Jan 2023 open(2)
diff -NurbBw 11.4.54/man2/pathconf.2 11.4.57/man2/pathconf.2
--- 11.4.54/man2/pathconf.2 2023-05-24 15:26:48.609860370 -0700
+++ 11.4.57/man2/pathconf.2 2023-05-24 15:27:28.003223864 -0700
@@ -53,6 +53,8 @@
+----------------------------+--------------------------+--------------+
|{PIPE_BUF} | _PC_PIPE_BUF | 6 |
+----------------------------+--------------------------+--------------+
+ |{POSIX2_SYMLINKS} | _PC_2_SYMLINKS | 4 |
+ +----------------------------+--------------------------+--------------+
|{POSIX_ALLOC_SIZE_MIN} | _PC_ALLOC_SIZE_MIN | |
+----------------------------+--------------------------+--------------+
|{POSIX_REC_INCR_XFER_SIZE} | _PC_REC_INCR_XFER_SIZE | |
@@ -266,9 +268,47 @@
+-----------------------------+-----------------------------+
SEE ALSO
- lseek(2), confstr(3C), sysconf(3C), limits.h(3HEAD), attributes(7),
- standards(7)
+ getconf(1), lseek(2), confstr(3C), sysconf(3C), limits.h(3HEAD),
+ attributes(7), standards(7)
+
+HISTORY
+ The fpathconf() and pathconf() functions have been included in all Sun
+ and Oracle releases of Solaris.
+
+
+ Support for the following values for name is available in Oracle
+ Solaris starting with the listed release:
+
+
+ +-------------------------------------------------+-------------------+
+ | NAME | RELEASE |
+ +-------------------------------------------------+-------------------+
+ |_PC_REFLINK_ENABLED |11.4.0 |
+ +-------------------------------------------------+-------------------+
+ |_PC_SATTR_ENABLED, _PC_SATTR_EXISTS |11.0.0 |
+ +-------------------------------------------------+-------------------+
+ |_PC_CASE_BEHAVIOR, _PC_ACCESS_FILTERING, |10 9/10 (Update 9) |
+ |_PC_TIMESTAMP_RESOLUTION | |
+ +-------------------------------------------------+-------------------+
+ |_PC_MIN_HOLE_SIZE |10 6/06 (Update 2) |
+ +-------------------------------------------------+-------------------+
+ |_PC_ACL_ENABLED, _PC_ALLOC_SIZE_MIN, |10 3/05 |
+ |_PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE, | |
+ |_PC_REC_MIN_XFER_SIZE, _PC_REC_XFER_ALIGN, | |
+ |_PC_SYMLINK_MAX, _PC_2_SYMLINKS | |
+ +-------------------------------------------------+-------------------+
+ |_PC_XATTR_ENABLED, _PC_XATTR_EXISTS |9 |
+ +-------------------------------------------------+-------------------+
+ |_PC_FILESIZEBITS |2.6 |
+ +-------------------------------------------------+-------------------+
+ |_PC_ASYNC_IO, _PC_PRIO_IO, _PC_SYNC_IO |2.3 |
+ +-------------------------------------------------+-------------------+
+ |_PC_CHOWN_RESTRICTED, _PC_LINK_MAX, |1.0 |
+ |_PC_MAX_CANON, _PC_MAX_INPUT, _PC_NAME_MAX, | |
+ |_PC_NO_TRUNC, _PC_PATH_MAX, _PC_PIPE_BUF, | |
+ |_PC_VDISABLE | |
+ +-------------------------------------------------+-------------------+
-Oracle Solaris 11.4 1 June 2016 fpathconf(2)
+Oracle Solaris 11.4 30 Jan 2023 fpathconf(2)
diff -NurbBw 11.4.54/man2/pipe.2 11.4.57/man2/pipe.2
--- 11.4.54/man2/pipe.2 2023-05-24 15:26:48.649506195 -0700
+++ 11.4.57/man2/pipe.2 2023-05-24 15:27:28.050068346 -0700
@@ -27,8 +27,9 @@
The pipe2() function behaves like pipe() but has a second argument
- which can contain the following open(2) flags: O_CLOEXEC, O_CLOFORK,
- O_NOSIGPIPE, O_NDELAY, O_NONBLOCK and O_NOSTDFD.
+ which can contain the following flags: O_CLOEXEC, O_CLOFORK, O_NOSIG-
+ PIPE, O_NDELAY, O_NONBLOCK and O_NOSTDFD. See the open(2) man page for
+ the description of each of these flags and their effects.
Upon successful completion pipe() and pipe2() mark for update the
@@ -41,7 +42,7 @@
ERRORS
The pipe() and pipe2() functions will fail if:
- EMFILE More than {OPEN_MAX} file descriptors are already in use by
+ EMFILE More than {OPEN_MAX}-1 file descriptors are already in use by
this process.
@@ -52,7 +53,7 @@
The pipe2() function will fail if:
- EINVAL An invalid flags argument has been passed
+ EINVAL An invalid flags argument has been passed.
ATTRIBUTES
@@ -70,7 +71,7 @@
+-----------------------------+-----------------------------+
SEE ALSO
- sh(1), fcntl(2), fstat(2), getmsg(2), poll(2), poll(2), putmsg(2),
+ sh(1), fcntl(2), fstat(2), getmsg(2), open(2), poll(2), putmsg(2),
read(2), write(2), streamio(4I), attributes(7), standards(7)
NOTES
@@ -83,5 +84,18 @@
(the read-end).
+ On some other systems, pipes are not bi-directional, and fildes[0] may
+ only be used for reading from the pipe, and fildes[1] may only be used
+ for writing to the pipe.
-Oracle Solaris 11.4 20 May 2020 pipe(2)
+HISTORY
+ The pipe2() function was added to Oracle Solaris in Solaris 11.4.0. See
+ the open(2) man page for the history of each flag that pipe2() accepts.
+
+
+ The pipe() function has been included in all Sun and Oracle releases of
+ Solaris.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 pipe(2)
diff -NurbBw 11.4.54/man2/pipe2.2 11.4.57/man2/pipe2.2
--- 11.4.54/man2/pipe2.2 2023-05-24 15:26:48.676298999 -0700
+++ 11.4.57/man2/pipe2.2 2023-05-24 15:27:28.077428785 -0700
@@ -27,8 +27,9 @@
The pipe2() function behaves like pipe() but has a second argument
- which can contain the following open(2) flags: O_CLOEXEC, O_CLOFORK,
- O_NOSIGPIPE, O_NDELAY, O_NONBLOCK and O_NOSTDFD.
+ which can contain the following flags: O_CLOEXEC, O_CLOFORK, O_NOSIG-
+ PIPE, O_NDELAY, O_NONBLOCK and O_NOSTDFD. See the open(2) man page for
+ the description of each of these flags and their effects.
Upon successful completion pipe() and pipe2() mark for update the
@@ -41,7 +42,7 @@
ERRORS
The pipe() and pipe2() functions will fail if:
- EMFILE More than {OPEN_MAX} file descriptors are already in use by
+ EMFILE More than {OPEN_MAX}-1 file descriptors are already in use by
this process.
@@ -52,7 +53,7 @@
The pipe2() function will fail if:
- EINVAL An invalid flags argument has been passed
+ EINVAL An invalid flags argument has been passed.
ATTRIBUTES
@@ -70,7 +71,7 @@
+-----------------------------+-----------------------------+
SEE ALSO
- sh(1), fcntl(2), fstat(2), getmsg(2), poll(2), poll(2), putmsg(2),
+ sh(1), fcntl(2), fstat(2), getmsg(2), open(2), poll(2), putmsg(2),
read(2), write(2), streamio(4I), attributes(7), standards(7)
NOTES
@@ -83,5 +84,18 @@
(the read-end).
+ On some other systems, pipes are not bi-directional, and fildes[0] may
+ only be used for reading from the pipe, and fildes[1] may only be used
+ for writing to the pipe.
-Oracle Solaris 11.4 20 May 2020 pipe(2)
+HISTORY
+ The pipe2() function was added to Oracle Solaris in Solaris 11.4.0. See
+ the open(2) man page for the history of each flag that pipe2() accepts.
+
+
+ The pipe() function has been included in all Sun and Oracle releases of
+ Solaris.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 pipe(2)
diff -NurbBw 11.4.54/man2/poll.2 11.4.57/man2/poll.2
--- 11.4.54/man2/poll.2 2023-05-24 15:26:48.727213705 -0700
+++ 11.4.57/man2/poll.2 2023-05-24 15:27:28.120079391 -0700
@@ -118,13 +116,10 @@
flags.
- The poll() function supports regular files, terminal and pseudo-termi-
- nal devices, streams-based files, FIFOs and pipes. The behavior of
- poll() on elements of fds that refer to other types of file is unspeci-
- fied.
-
-
- The poll() function supports sockets.
+ The poll() function supports regular files, sockets, terminal and
+ pseudo-terminal devices, streams-based files, FIFOs and pipes. The
+ behavior of poll() on elements of fds that refer to other types of file
+ is unspecified.
A file descriptor for a socket that is listening for connections will
@@ -171,7 +166,7 @@
the following form:
struct timespec {
- long tv_sec; /* seconds */
+ time_t tv_sec; /* seconds */
long tv_nsec; /* nanoseconds */
};
@@ -181,9 +176,9 @@
RETURN VALUES
Upon successful completion, a non-negative value is returned. A posi-
- tive value indicates the total number of file descriptors that has been
- selected (that is, file descriptors for which the revents member is
- non-zero). A value of 0 indicates that the call timed out and no file
+ tive value indicates the total number of pollfd structures that have
+ been selected (that is, those for which the revents member is non-
+ zero). A value of 0 indicates that the call timed out and no file
descriptors have been selected. Upon failure, -1 is returned and errno
is set to indicate the error.
@@ -197,7 +192,7 @@
EFAULT Some argument points to an illegal address.
- EINTR A signal was caught during the poll() function.
+ EINTR A signal was caught during the function call.
EINVAL The argument nfds is greater than {OPEN_MAX}, or one of the
@@ -205,7 +200,14 @@
(directly or indirectly) downstream from a multiplexer.
- ENOSYS There is no poll() interface for doorfs.
+ EINVAL An invalid timeout interval was specified.
+
+
+
+ The poll() and ppoll() functions may fail if:
+
+ ENOSYS One of the fd members is from a filesystem type for which
+ there is no poll() interface, such as doorfs.
ATTRIBUTES
@@ -219,9 +221,24 @@
+-----------------------------+-----------------------------+
|MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
- |Standard |See standards(7). |
+ |Standard |See below. |
+-----------------------------+-----------------------------+
+ Standard
+ See standards(7) for descriptions of the following standards:
+
+
+ +-----------------------+-----------------------------------+
+ | INTERFACES | APPLICABLE STANDARDS |
+ +-----------------------+-----------------------------------+
+ |poll() | POSIX.1-2001 through 2008, |
+ | | SUS through SUSv4, |
+ | | XPG4v2 through XPG7 |
+ | | |
+ +-----------------------+-----------------------------------+
+ |ppoll() | None |
+ +-----------------------+-----------------------------------+
+
SEE ALSO
getmsg(2), getrlimit(2), Intro(2), putmsg(2), read(2), write(2),
select(3C), attributes(7), standards(7), chpoll(9E)
@@ -233,6 +250,13 @@
Non-STREAMS drivers use chpoll(9E) to implement poll() on these
devices.
+HISTORY
+ The ppoll() function was added to Oracle Solaris in Solaris 11.0.0.
+
+
+ The poll() function has been included in all Sun and Oracle releases of
+ Solaris.
+
-Oracle Solaris 11.4 14 Jan 2019 poll(2)
+Oracle Solaris 11.4 30 Jan 2023 poll(2)
diff -NurbBw 11.4.54/man2/ppoll.2 11.4.57/man2/ppoll.2
--- 11.4.54/man2/ppoll.2 2023-05-24 15:26:48.765425620 -0700
+++ 11.4.57/man2/ppoll.2 2023-05-24 15:27:28.162663607 -0700
@@ -118,13 +116,10 @@
flags.
- The poll() function supports regular files, terminal and pseudo-termi-
- nal devices, streams-based files, FIFOs and pipes. The behavior of
- poll() on elements of fds that refer to other types of file is unspeci-
- fied.
-
-
- The poll() function supports sockets.
+ The poll() function supports regular files, sockets, terminal and
+ pseudo-terminal devices, streams-based files, FIFOs and pipes. The
+ behavior of poll() on elements of fds that refer to other types of file
+ is unspecified.
A file descriptor for a socket that is listening for connections will
@@ -171,7 +166,7 @@
the following form:
struct timespec {
- long tv_sec; /* seconds */
+ time_t tv_sec; /* seconds */
long tv_nsec; /* nanoseconds */
};
@@ -181,9 +176,9 @@
RETURN VALUES
Upon successful completion, a non-negative value is returned. A posi-
- tive value indicates the total number of file descriptors that has been
- selected (that is, file descriptors for which the revents member is
- non-zero). A value of 0 indicates that the call timed out and no file
+ tive value indicates the total number of pollfd structures that have
+ been selected (that is, those for which the revents member is non-
+ zero). A value of 0 indicates that the call timed out and no file
descriptors have been selected. Upon failure, -1 is returned and errno
is set to indicate the error.
@@ -197,7 +192,7 @@
EFAULT Some argument points to an illegal address.
- EINTR A signal was caught during the poll() function.
+ EINTR A signal was caught during the function call.
EINVAL The argument nfds is greater than {OPEN_MAX}, or one of the
@@ -205,7 +200,14 @@
(directly or indirectly) downstream from a multiplexer.
- ENOSYS There is no poll() interface for doorfs.
+ EINVAL An invalid timeout interval was specified.
+
+
+
+ The poll() and ppoll() functions may fail if:
+
+ ENOSYS One of the fd members is from a filesystem type for which
+ there is no poll() interface, such as doorfs.
ATTRIBUTES
@@ -219,9 +221,24 @@
+-----------------------------+-----------------------------+
|MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
- |Standard |See standards(7). |
+ |Standard |See below. |
+-----------------------------+-----------------------------+
+ Standard
+ See standards(7) for descriptions of the following standards:
+
+
+ +-----------------------+-----------------------------------+
+ | INTERFACES | APPLICABLE STANDARDS |
+ +-----------------------+-----------------------------------+
+ |poll() | POSIX.1-2001 through 2008, |
+ | | SUS through SUSv4, |
+ | | XPG4v2 through XPG7 |
+ | | |
+ +-----------------------+-----------------------------------+
+ |ppoll() | None |
+ +-----------------------+-----------------------------------+
+
SEE ALSO
getmsg(2), getrlimit(2), Intro(2), putmsg(2), read(2), write(2),
select(3C), attributes(7), standards(7), chpoll(9E)
@@ -233,6 +250,13 @@
Non-STREAMS drivers use chpoll(9E) to implement poll() on these
devices.
+HISTORY
+ The ppoll() function was added to Oracle Solaris in Solaris 11.0.0.
+
+
+ The poll() function has been included in all Sun and Oracle releases of
+ Solaris.
+
-Oracle Solaris 11.4 14 Jan 2019 poll(2)
+Oracle Solaris 11.4 30 Jan 2023 poll(2)
diff -NurbBw 11.4.54/man2/pread.2 11.4.57/man2/pread.2
--- 11.4.54/man2/pread.2 2023-05-24 15:26:48.803741452 -0700
+++ 11.4.57/man2/pread.2 2023-05-24 15:27:28.225868585 -0700
@@ -27,18 +27,18 @@
If nbyte is 0, read() returns 0 and has no other results.
- On files that support seeking (for example, a regular file), the read()
- starts at a position in the file given by the file offset associated
- with fildes. The file offset is incremented by the number of bytes
- actually read.
+ On files that support seeking (for example, a regular file), the read
+ operation starts at a position in the file given by the file pointer
+ associated with fildes. The file pointer is incremented by the number
+ of bytes actually read.
Files that do not support seeking (for example, terminals) always read
- from the current position. The value of a file offset associated with
+ from the current position. The value of a file pointer associated with
such a file is undefined.
- If fildes refers to a socket, read() is equivalent to recv with no
+ If fildes refers to a socket, read() is equivalent to recv() with no
flags set.
@@ -49,7 +49,7 @@
When attempting to read from a regular file with mandatory file/record
- locking set (see chmod(2)), and there is a write lock owned by another
+ locking set (see chmod(2)), if there is a write lock owned by another
process on the segment of the file to be read:
o If O_NDELAY or O_NONBLOCK is set, read() returns -1 and sets
@@ -61,7 +61,7 @@
- When attempting to read from an empty pipe (or FIFO):
+ When attempting to read from an empty pipe or FIFO:
o If no process has the pipe open for writing, read() returns
0 to indicate end-of-file.
@@ -112,7 +112,7 @@
The read() function reads data previously written to a file. If any
portion of a regular file prior to the end-of-file has not been writ-
ten, read() returns bytes with value 0. For example, lseek(2) allows
- the file offset to be set beyond the end of existing data in the file.
+ the file pointer to be set beyond the end of existing data in the file.
If data is later written at this point, subsequent reads in the gap
between the previous end of data and the newly written data will return
bytes with value 0 until data is written into the gap.
@@ -122,7 +122,7 @@
established in the open file description associated with fildes.
- Upon successful completion, where nbyte is greater than 0, read() will
+ Upon successful completion, if nbyte is greater than 0, read() will
mark to update the st_atime field of the file, and return the number of
bytes read. This number is never greater than nbyte. The value returned
may be less than nbyte if the number of bytes left in the file is less
@@ -333,11 +333,10 @@
- The pread() function will fail and the file pointer remain unchanged
- if:
+ The pread() function will fail if:
- ESPIPE The fildes argument is associated with a pipe or FIFO or
- socket.
+ ESPIPE The fildes argument is associated with a file that is inca-
+ pable of seeking, such as a pipe, FIFO, or socket.
USAGE
@@ -353,7 +352,7 @@
+-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
- |MT-Level |read() is Async-Signal-Safe |
+ |MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
|Standard |See standards(7). |
+-----------------------------+-----------------------------+
@@ -363,6 +362,13 @@
lseek(2), open(2), pipe(2), streamio(4I), termio(4I), attributes(7),
lf64(7), standards(7), sysattr(7)
+HISTORY
+ The pread() function was added to Solaris in Solaris 2.0.
-Oracle Solaris 11.4 21 Mar 2022 read(2)
+ The read() and readv() functions have been included in all Sun and Ora-
+ cle releases of Solaris.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 read(2)
diff -NurbBw 11.4.54/man2/putacct.2 11.4.57/man2/putacct.2
--- 11.4.54/man2/putacct.2 2023-05-24 15:26:48.836756086 -0700
+++ 11.4.57/man2/putacct.2 2023-05-24 15:27:28.269731941 -0700
@@ -11,7 +11,8 @@
size_t getacct(idtype_t idtype, id_t id, void *buf, size_t bufsize);
- int putacct(idtype_t idtype, id_t id, void *buf, size_t bufsize, int flags);
+ int putacct(idtype_t idtype, id_t id, void *buf, size_t bufsize,
+ int flags);
int wracct(idtype_t idtype, id_t id, int flags);
@@ -90,7 +91,7 @@
effective set of the calling process.
- ERSCH The id argument does not refer to a presently active sys-
+ ESRCH The id argument does not refer to a presently active sys-
tem task ID or process ID.
@@ -107,12 +108,20 @@
+-----------------------------+-----------------------------+
|ATTRIBUTE TYPE |ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
+ |Interface Stability |Committed |
+ +-----------------------------+-----------------------------+
|MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
+ |Standard |None |
+ +-----------------------------+-----------------------------+
SEE ALSO
libexacct(3LIB), ea_pack_object(3EXACCT), attributes(7), standards(7)
+HISTORY
+ The Extended Accounting facility, including the getacct(), putacct(),
+ and wracct() functions, was added in the Solaris 8 release.
+
-Oracle Solaris 11.4 3 Nov 2021 getacct(2)
+Oracle Solaris 11.4 30 Jan 2023 getacct(2)
diff -NurbBw 11.4.54/man2/putmsg.2 11.4.57/man2/putmsg.2
--- 11.4.54/man2/putmsg.2 2023-05-24 15:26:48.867864343 -0700
+++ 11.4.57/man2/putmsg.2 2023-05-24 15:27:28.299512456 -0700
@@ -17,10 +17,10 @@
DESCRIPTION
The putmsg() function creates a message from user-specified buffer(s)
- and sends the message to a streams file. The message may contain either
+ and sends the message to a STREAMS file. The message may contain either
a data part or a control part, or even both. The data and control parts
to be sent are distinguished by placement in separate buffers, as
- described below. The semantics of each part is defined by the streams
+ described below. The semantics of each part is defined by the STREAMS
module that receives the message.
@@ -108,7 +107,7 @@
EAGAIN A non-priority message is specified, the O_NDELAY or
- O_NONBLOCK flag is set and the stream write queue is
+ O_NONBLOCK flag is set, and the stream write queue is
full due to internal flow control conditions.
@@ -161,7 +160,7 @@
- In addition, putmsg() and putpmsg() fails if the stream head has pro-
+ In addition, putmsg() and putpmsg() fail if the stream head has pro-
cessed an asynchronous error before the call. In this case, the value
of errno does not reflect the result of putmsg() or putpmsg(), but
reflects the prior error.
@@ -191,6 +190,14 @@
STREAMS Programming Guide
+HISTORY
+ The putmsg() function has been included in all Sun and Oracle releases
+ of Solaris.
+
+
+ The putpmsg() function has been included in Solaris since the Solaris
+ 2.0 release.
+
-Oracle Solaris 11.4 9 Oct 2015 putmsg(2)
+Oracle Solaris 11.4 30 Jan 2023 putmsg(2)
diff -NurbBw 11.4.54/man2/putpmsg.2 11.4.57/man2/putpmsg.2
--- 11.4.54/man2/putpmsg.2 2023-05-24 15:26:48.899919192 -0700
+++ 11.4.57/man2/putpmsg.2 2023-05-24 15:27:28.329944201 -0700
@@ -17,10 +17,10 @@
DESCRIPTION
The putmsg() function creates a message from user-specified buffer(s)
- and sends the message to a streams file. The message may contain either
+ and sends the message to a STREAMS file. The message may contain either
a data part or a control part, or even both. The data and control parts
to be sent are distinguished by placement in separate buffers, as
- described below. The semantics of each part is defined by the streams
+ described below. The semantics of each part is defined by the STREAMS
module that receives the message.
@@ -108,7 +107,7 @@
EAGAIN A non-priority message is specified, the O_NDELAY or
- O_NONBLOCK flag is set and the stream write queue is
+ O_NONBLOCK flag is set, and the stream write queue is
full due to internal flow control conditions.
@@ -161,7 +160,7 @@
- In addition, putmsg() and putpmsg() fails if the stream head has pro-
+ In addition, putmsg() and putpmsg() fail if the stream head has pro-
cessed an asynchronous error before the call. In this case, the value
of errno does not reflect the result of putmsg() or putpmsg(), but
reflects the prior error.
@@ -191,6 +190,14 @@
STREAMS Programming Guide
+HISTORY
+ The putmsg() function has been included in all Sun and Oracle releases
+ of Solaris.
+
+
+ The putpmsg() function has been included in Solaris since the Solaris
+ 2.0 release.
+
-Oracle Solaris 11.4 9 Oct 2015 putmsg(2)
+Oracle Solaris 11.4 30 Jan 2023 putmsg(2)
diff -NurbBw 11.4.54/man2/pwrite.2 11.4.57/man2/pwrite.2
--- 11.4.54/man2/pwrite.2 2023-05-24 15:26:48.933947271 -0700
+++ 11.4.57/man2/pwrite.2 2023-05-24 15:27:28.364931705 -0700
@@ -31,11 +31,11 @@
On a regular file or other file capable of seeking, the actual writing
of data proceeds from the position in the file indicated by the file
- offset associated with fildes. Before successful return from write(),
- the file offset is incremented by the number of bytes actually written.
- On a regular file, if this incremented file offset is greater than the
- length of the file, the length of the file will be set to this file
- offset.
+ pointer associated with fildes. Before successful return from write(),
+ the file pointer is incremented by the number of bytes actually writ-
+ ten. On a regular file, if the resulting file pointer is incremented to
+ a position past the current length of the file, the file length is
+ updated as well.
If the O_SYNC bit has been set, write I/O operations on the file
@@ -43,19 +43,19 @@
pletion.
- If fildes refers to a socket, write() is equivalent to send. with no
+ If fildes refers to a socket, write() is equivalent to send(3C) with no
flags set.
On a file not capable of seeking, writing always takes place starting
- at the current position. The value of a file offset associated with
- such a device is undefined.
+ at the current position. The value of a file pointer associated with
+ such a file is undefined.
- If the O_APPEND flag of the file status flags is set, the file offset
+ If the O_APPEND flag of the file status flags is set, the file pointer
will be set to the end of the file prior to each write and no interven-
ing file modification operation will occur between changing the file
- offset and the write operation.
+ pointer and the write operation.
For regular files, no data transfer will occur past the offset maximum
@@ -114,7 +114,7 @@
Write requests to a pipe or FIFO are handled the same as a regular file
with the following exceptions:
- o There is no file offset associated with a pipe, hence each
+ o There is no file pointer associated with a pipe, hence each
write request appends to the end of the pipe.
@@ -169,7 +169,7 @@
mode may be cleared.
- For streams files (see Intro(2) and streamio(4I)), the operation of
+ For STREAMS files (see Intro(2) and streamio(4I)), the operation of
write() is determined by the values of the minimum and maximum nbyte
range ("packet size") accepted by the stream. These values are con-
tained in the topmost stream module, and can not be set or tested from
@@ -214,9 +214,9 @@
reflects the prior error.
pwrite()
- The pwrite() function is equivalent to write(), except that it writes
- into a given position and does not change the file offset (regardless
- of whether O_APPEND is set). The first three arguments to pwrite() are
+ The pwrite() function is equivalent to write(), except that the write
+ occurs at a user specified offset, without regard for O_APPEND, and the
+ file pointer is not changed. The first three arguments to pwrite() are
the same as write(), with the addition of a fourth argument offset for
the desired position inside the file.
@@ -251,12 +251,18 @@
RETURN VALUES
Upon successful completion, write() returns the number of bytes actu-
ally written to the file associated with fildes. This number is never
- greater than nbyte. Otherwise, -1 is returned, the file-pointer remains
+ greater than nbyte. Otherwise, -1 is returned, the file pointer remains
unchanged, and errno is set to indicate the error.
+ Upon successful completion, pwrite() returns the number of bytes actu-
+ ally written to the file associated with fildes. This number is never
+ greater than nbyte. Otherwise, -1 is returned, and errno is set to
+ indicate the error.
+
+
Upon successful completion, writev() returns the number of bytes actu-
- ally written. Otherwise, it returns -1, the file-pointer remains
+ ally written. Otherwise, it returns -1, the file pointer remains
unchanged, and errno is set to indicate an error.
ERRORS
@@ -360,10 +366,10 @@
- The pwrite() function fails and the file pointer remains unchanged if:
+ The pwrite() function fails if:
- ESPIPE The fildes argument is associated with a pipe or FIFO or
- socket.
+ ESPIPE The fildes argument is associated with a file that is inca-
+ pable of seeking, such as a pipe, FIFO, or socket.
@@ -407,16 +413,23 @@
+-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
- |MT-Level |write() is Async-Signal-Safe |
+ |MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
|Standard |See standards(7). |
+-----------------------------+-----------------------------+
SEE ALSO
chmod(2), creat(2), dup(2), fcntl(2), getrlimit(2), Intro(2), ioctl(2),
- lseek(2), open(2), pipe(2), ulimit(2), streamio(4I), attributes(7),
- lf64(7), standards(7), sysattr(7)
+ lseek(2), open(2), pipe(2), ulimit(2), send(3C), streamio(4I),
+ attributes(7), lf64(7), standards(7), sysattr(7)
+
+HISTORY
+ The pwrite() function was added to Solaris in Solaris 2.0.
+
+
+ The write() and writev() functions have been included in all Sun and
+ Oracle releases of Solaris.
-Oracle Solaris 11.4 21 Mar 2022 write(2)
+Oracle Solaris 11.4 30 Jan 2023 write(2)
diff -NurbBw 11.4.54/man2/quick_exit.2 11.4.57/man2/quick_exit.2
--- 11.4.54/man2/quick_exit.2 2023-05-24 15:26:48.963402299 -0700
+++ 11.4.57/man2/quick_exit.2 2023-05-24 15:27:28.394824062 -0700
@@ -202,6 +202,18 @@
fclose(3C), mq_close(3C), plock(3C), tmpfile(3C), wait(3C), wait3(3C),
waitpid(3C), signal.h(3HEAD), attributes(7), standards(7), acctadm(8)
+HISTORY
+ The quick_exit() function was added to Oracle Solaris in the Solaris
+ 11.4.0 release.
-Oracle Solaris 11.4 13 Jun 2018 exit(2)
+ The _Exit() function was added to Solaris in the Solaris 10 3/05
+ release.
+
+
+ The exit() and _exit() functions have been included in all Sun and Ora-
+ cle releases of Solaris.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 exit(2)
diff -NurbBw 11.4.54/man2/read.2 11.4.57/man2/read.2
--- 11.4.54/man2/read.2 2023-05-24 15:26:48.995429862 -0700
+++ 11.4.57/man2/read.2 2023-05-24 15:27:28.426282670 -0700
@@ -27,18 +27,18 @@
If nbyte is 0, read() returns 0 and has no other results.
- On files that support seeking (for example, a regular file), the read()
- starts at a position in the file given by the file offset associated
- with fildes. The file offset is incremented by the number of bytes
- actually read.
+ On files that support seeking (for example, a regular file), the read
+ operation starts at a position in the file given by the file pointer
+ associated with fildes. The file pointer is incremented by the number
+ of bytes actually read.
Files that do not support seeking (for example, terminals) always read
- from the current position. The value of a file offset associated with
+ from the current position. The value of a file pointer associated with
such a file is undefined.
- If fildes refers to a socket, read() is equivalent to recv with no
+ If fildes refers to a socket, read() is equivalent to recv() with no
flags set.
@@ -49,7 +49,7 @@
When attempting to read from a regular file with mandatory file/record
- locking set (see chmod(2)), and there is a write lock owned by another
+ locking set (see chmod(2)), if there is a write lock owned by another
process on the segment of the file to be read:
o If O_NDELAY or O_NONBLOCK is set, read() returns -1 and sets
@@ -61,7 +61,7 @@
- When attempting to read from an empty pipe (or FIFO):
+ When attempting to read from an empty pipe or FIFO:
o If no process has the pipe open for writing, read() returns
0 to indicate end-of-file.
@@ -112,7 +112,7 @@
The read() function reads data previously written to a file. If any
portion of a regular file prior to the end-of-file has not been writ-
ten, read() returns bytes with value 0. For example, lseek(2) allows
- the file offset to be set beyond the end of existing data in the file.
+ the file pointer to be set beyond the end of existing data in the file.
If data is later written at this point, subsequent reads in the gap
between the previous end of data and the newly written data will return
bytes with value 0 until data is written into the gap.
@@ -122,7 +122,7 @@
established in the open file description associated with fildes.
- Upon successful completion, where nbyte is greater than 0, read() will
+ Upon successful completion, if nbyte is greater than 0, read() will
mark to update the st_atime field of the file, and return the number of
bytes read. This number is never greater than nbyte. The value returned
may be less than nbyte if the number of bytes left in the file is less
@@ -333,11 +333,10 @@
- The pread() function will fail and the file pointer remain unchanged
- if:
+ The pread() function will fail if:
- ESPIPE The fildes argument is associated with a pipe or FIFO or
- socket.
+ ESPIPE The fildes argument is associated with a file that is inca-
+ pable of seeking, such as a pipe, FIFO, or socket.
USAGE
@@ -353,7 +352,7 @@
+-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
- |MT-Level |read() is Async-Signal-Safe |
+ |MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
|Standard |See standards(7). |
+-----------------------------+-----------------------------+
@@ -363,6 +362,13 @@
lseek(2), open(2), pipe(2), streamio(4I), termio(4I), attributes(7),
lf64(7), standards(7), sysattr(7)
+HISTORY
+ The pread() function was added to Solaris in Solaris 2.0.
-Oracle Solaris 11.4 21 Mar 2022 read(2)
+ The read() and readv() functions have been included in all Sun and Ora-
+ cle releases of Solaris.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 read(2)
diff -NurbBw 11.4.54/man2/readlink.2 11.4.57/man2/readlink.2
--- 11.4.54/man2/readlink.2 2023-05-24 15:26:49.023529996 -0700
+++ 11.4.57/man2/readlink.2 2023-05-24 15:27:28.454510250 -0700
@@ -137,8 +137,17 @@
+-----------------------------+-----------------------------+
SEE ALSO
- stat(2), symlink(2), attributes(7), standards(7)
+ readlink(1), resolvepath(2), stat(2), symlink(2), realpath(3C),
+ attributes(7), standards(7)
+HISTORY
+ The readlinkat() function was added to Solaris in the Solaris 11.0
+ release.
-Oracle Solaris 11.4 13 Jun 2018 readlink(2)
+ The readlink() function has been included in all Sun and Oracle
+ releases of Solaris.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 readlink(2)
diff -NurbBw 11.4.54/man2/readlinkat.2 11.4.57/man2/readlinkat.2
--- 11.4.54/man2/readlinkat.2 2023-05-24 15:26:49.061995643 -0700
+++ 11.4.57/man2/readlinkat.2 2023-05-24 15:27:28.482219817 -0700
@@ -137,8 +137,17 @@
+-----------------------------+-----------------------------+
SEE ALSO
- stat(2), symlink(2), attributes(7), standards(7)
+ readlink(1), resolvepath(2), stat(2), symlink(2), realpath(3C),
+ attributes(7), standards(7)
+HISTORY
+ The readlinkat() function was added to Solaris in the Solaris 11.0
+ release.
-Oracle Solaris 11.4 13 Jun 2018 readlink(2)
+ The readlink() function has been included in all Sun and Oracle
+ releases of Solaris.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 readlink(2)
diff -NurbBw 11.4.54/man2/readv.2 11.4.57/man2/readv.2
--- 11.4.54/man2/readv.2 2023-05-24 15:26:49.156373171 -0700
+++ 11.4.57/man2/readv.2 2023-05-24 15:27:28.521631994 -0700
@@ -27,18 +27,18 @@
If nbyte is 0, read() returns 0 and has no other results.
- On files that support seeking (for example, a regular file), the read()
- starts at a position in the file given by the file offset associated
- with fildes. The file offset is incremented by the number of bytes
- actually read.
+ On files that support seeking (for example, a regular file), the read
+ operation starts at a position in the file given by the file pointer
+ associated with fildes. The file pointer is incremented by the number
+ of bytes actually read.
Files that do not support seeking (for example, terminals) always read
- from the current position. The value of a file offset associated with
+ from the current position. The value of a file pointer associated with
such a file is undefined.
- If fildes refers to a socket, read() is equivalent to recv with no
+ If fildes refers to a socket, read() is equivalent to recv() with no
flags set.
@@ -49,7 +49,7 @@
When attempting to read from a regular file with mandatory file/record
- locking set (see chmod(2)), and there is a write lock owned by another
+ locking set (see chmod(2)), if there is a write lock owned by another
process on the segment of the file to be read:
o If O_NDELAY or O_NONBLOCK is set, read() returns -1 and sets
@@ -61,7 +61,7 @@
- When attempting to read from an empty pipe (or FIFO):
+ When attempting to read from an empty pipe or FIFO:
o If no process has the pipe open for writing, read() returns
0 to indicate end-of-file.
@@ -112,7 +112,7 @@
The read() function reads data previously written to a file. If any
portion of a regular file prior to the end-of-file has not been writ-
ten, read() returns bytes with value 0. For example, lseek(2) allows
- the file offset to be set beyond the end of existing data in the file.
+ the file pointer to be set beyond the end of existing data in the file.
If data is later written at this point, subsequent reads in the gap
between the previous end of data and the newly written data will return
bytes with value 0 until data is written into the gap.
@@ -122,7 +122,7 @@
established in the open file description associated with fildes.
- Upon successful completion, where nbyte is greater than 0, read() will
+ Upon successful completion, if nbyte is greater than 0, read() will
mark to update the st_atime field of the file, and return the number of
bytes read. This number is never greater than nbyte. The value returned
may be less than nbyte if the number of bytes left in the file is less
@@ -333,11 +333,10 @@
- The pread() function will fail and the file pointer remain unchanged
- if:
+ The pread() function will fail if:
- ESPIPE The fildes argument is associated with a pipe or FIFO or
- socket.
+ ESPIPE The fildes argument is associated with a file that is inca-
+ pable of seeking, such as a pipe, FIFO, or socket.
USAGE
@@ -353,7 +352,7 @@
+-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
- |MT-Level |read() is Async-Signal-Safe |
+ |MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
|Standard |See standards(7). |
+-----------------------------+-----------------------------+
@@ -363,6 +362,13 @@
lseek(2), open(2), pipe(2), streamio(4I), termio(4I), attributes(7),
lf64(7), standards(7), sysattr(7)
+HISTORY
+ The pread() function was added to Solaris in Solaris 2.0.
-Oracle Solaris 11.4 21 Mar 2022 read(2)
+ The read() and readv() functions have been included in all Sun and Ora-
+ cle releases of Solaris.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 read(2)
diff -NurbBw 11.4.54/man2/rename.2 11.4.57/man2/rename.2
--- 11.4.54/man2/rename.2 2023-05-24 15:26:49.202865573 -0700
+++ 11.4.57/man2/rename.2 2023-05-24 15:27:28.559677073 -0700
@@ -18,26 +18,30 @@
int rename(const char *old, const char *new);
DESCRIPTION
- The rename() function changes the name of a file. The old argument
+ The rename() and renameat() functions rename an entry in a directory,
+ possibly moving the entry into a different directory. The old argument
points to the pathname of the file to be renamed. The new argument
points to the new pathname of the file.
- The renameat() function renames an entry in a directory, possibly mov-
- ing the entry into a different directory. See fsattr(7). If the old
- argument is an absolute path, the fromfd is ignored. Otherwise it is
- resolved relative to the fromfd argument rather than the current work-
- ing directory. Similarly, if the new argument is not absolute, it is
- resolved relative to the tofd argument. If either fromfd or tofd have
- the value AT_FDCWD, defined in <fcntl.h>, and their respective paths
- are relative, the path is resolved relative to the current working
- directory.
+ If a relative pathname is provided for either argument to rename(), the
+ path is resolved relative to the current working directory.
+
+
+ renameat() allows specifying pathnames relative to paths represented by
+ open file descriptors. If the old argument is an absolute path, the
+ fromfd is ignored. Otherwise it is resolved relative to the fromfd
+ argument rather than the current working directory. Similarly, if the
+ new argument is not absolute, it is resolved relative to the tofd argu-
+ ment. If either fromfd or tofd have the value AT_FDCWD, defined in
+ <fcntl.h>, and their respective paths are relative, the path is
+ resolved relative to the current working directory.
Current implementation restrictions will cause the renameat() function
to return an error if an attempt is made to rename an extended
attribute file to a regular (non-attribute) file, or to rename a regu-
- lar file to an extended attribute file.
+ lar file to an extended attribute file. See fsattr(7).
If old and new both refer to the same existing file, the rename() and
@@ -47,7 +51,7 @@
If old points to the pathname of a file that is not a directory, new
must not point to the pathname of a directory. If the link named by new
exists, it will be removed and old will be renamed to new. In this
- case, a link named new must remain visible to other processes through-
+ case, a link named new will remain visible to other processes through-
out the renaming operation and will refer to either the file referred
to by new or the file referred to as old before the operation began.
@@ -253,9 +257,17 @@
b/name2, that is a hard link to directory a. When such a loop exists
and two separate processes attempt to rename a/name1 to b/name2 and
b/name2 to a/name1, the system may deadlock attempting to lock both
- directories for modification. Use symbolic links instead of hard links
- for directories.
+ directories for modification. For this reason, the system does not
+ allow the creation of hard links to directories. Symbolic links should
+ be used in such cases.
+
+HISTORY
+ The renameat() function was added in the Solaris 9 release.
+
+
+ The rename() function has been included in all Sun and Oracle releases
+ of Solaris.
-Oracle Solaris 11.4 21 Mar 2022 rename(2)
+Oracle Solaris 11.4 30 Jan 2023 rename(2)
diff -NurbBw 11.4.54/man2/renameat.2 11.4.57/man2/renameat.2
--- 11.4.54/man2/renameat.2 2023-05-24 15:26:49.245532098 -0700
+++ 11.4.57/man2/renameat.2 2023-05-24 15:27:28.594587488 -0700
@@ -18,26 +18,30 @@
int rename(const char *old, const char *new);
DESCRIPTION
- The rename() function changes the name of a file. The old argument
+ The rename() and renameat() functions rename an entry in a directory,
+ possibly moving the entry into a different directory. The old argument
points to the pathname of the file to be renamed. The new argument
points to the new pathname of the file.
- The renameat() function renames an entry in a directory, possibly mov-
- ing the entry into a different directory. See fsattr(7). If the old
- argument is an absolute path, the fromfd is ignored. Otherwise it is
- resolved relative to the fromfd argument rather than the current work-
- ing directory. Similarly, if the new argument is not absolute, it is
- resolved relative to the tofd argument. If either fromfd or tofd have
- the value AT_FDCWD, defined in <fcntl.h>, and their respective paths
- are relative, the path is resolved relative to the current working
- directory.
+ If a relative pathname is provided for either argument to rename(), the
+ path is resolved relative to the current working directory.
+
+
+ renameat() allows specifying pathnames relative to paths represented by
+ open file descriptors. If the old argument is an absolute path, the
+ fromfd is ignored. Otherwise it is resolved relative to the fromfd
+ argument rather than the current working directory. Similarly, if the
+ new argument is not absolute, it is resolved relative to the tofd argu-
+ ment. If either fromfd or tofd have the value AT_FDCWD, defined in
+ <fcntl.h>, and their respective paths are relative, the path is
+ resolved relative to the current working directory.
Current implementation restrictions will cause the renameat() function
to return an error if an attempt is made to rename an extended
attribute file to a regular (non-attribute) file, or to rename a regu-
- lar file to an extended attribute file.
+ lar file to an extended attribute file. See fsattr(7).
If old and new both refer to the same existing file, the rename() and
@@ -47,7 +51,7 @@
If old points to the pathname of a file that is not a directory, new
must not point to the pathname of a directory. If the link named by new
exists, it will be removed and old will be renamed to new. In this
- case, a link named new must remain visible to other processes through-
+ case, a link named new will remain visible to other processes through-
out the renaming operation and will refer to either the file referred
to by new or the file referred to as old before the operation began.
@@ -253,9 +257,17 @@
b/name2, that is a hard link to directory a. When such a loop exists
and two separate processes attempt to rename a/name1 to b/name2 and
b/name2 to a/name1, the system may deadlock attempting to lock both
- directories for modification. Use symbolic links instead of hard links
- for directories.
+ directories for modification. For this reason, the system does not
+ allow the creation of hard links to directories. Symbolic links should
+ be used in such cases.
+
+HISTORY
+ The renameat() function was added in the Solaris 9 release.
+
+
+ The rename() function has been included in all Sun and Oracle releases
+ of Solaris.
-Oracle Solaris 11.4 21 Mar 2022 rename(2)
+Oracle Solaris 11.4 30 Jan 2023 rename(2)
diff -NurbBw 11.4.54/man2/sbrk.2 11.4.57/man2/sbrk.2
--- 11.4.54/man2/sbrk.2 2023-05-24 15:26:49.296763025 -0700
+++ 11.4.57/man2/sbrk.2 2023-05-24 15:27:28.632930975 -0700
@@ -15,14 +15,14 @@
void *sbrk(intptr_t incr);
DESCRIPTION
- The brk() and sbrk() functions are used to change dynamically the
- amount of space allocated for the calling process's data segment (see
- exec(2)). The change is made by resetting the process's break value and
- allocating the appropriate amount of space. The break value is the
- address of the first location beyond the end of the data segment. The
- amount of allocated space increases as the break value increases. Newly
- allocated space is set to zero. If, however, the same memory space is
- reallocated to the same process its contents are undefined.
+ The brk() and sbrk() functions are used to change the amount of space
+ allocated for the calling process's data segment (see exec(2)). The
+ change is made by resetting the process's break value and allocating
+ the appropriate amount of space. The break value is the address of the
+ first location beyond the end of the data segment. The amount of allo-
+ cated space increases as the break value increases. Newly allocated
+ space is set to zero. If, however, the same memory space is reallocated
+ to the same process its contents are undefined.
When a program begins execution using execve() the break is set at the
@@ -55,13 +55,12 @@
The brk() and sbrk() functions will fail and no additional memory will
be allocated if:
- ENOMEM The data segment size limit as set by setrlimit() (see getr-
- limit(2)) would be exceeded; the maximum possible size of a
- data segment (compiled into the system) would be exceeded;
- insufficient space exists in the swap area to support the
- expansion; or the new break value would extend into an area
- of the address space defined by some previously established
- mapping (see mmap(2)).
+ ENOMEM The data segment size limit as set by setrlimit(2) would be
+ exceeded; the maximum possible size of a data segment would
+ be exceeded; insufficient space exists in the swap area to
+ support the expansion; or the new break value would extend
+ into an area of the address space defined by some previously
+ established mapping (see mmap(2)).
EAGAIN Total amount of system memory available for private pages is
@@ -83,6 +82,14 @@
It is unspecified whether the pointer returned by sbrk() is aligned
suitably for any purpose.
+
+ Memory allocated by this function may be on pages with the PROT_EXEC
+ access protections disabled to block execution of machine instructions,
+ depending on the current settings for NXHEAP in sxadm(8) and any -z
+ sx=nxheap options that were passed to ld(1) when linking the applica-
+ tion. These settings may be overridden for specific pages by calling
+ mprotect(2).
+
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
@@ -90,12 +97,14 @@
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
+ |Interface Stability |Committed |
+ +-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO
- exec(2), getrlimit(2), mmap(2), shmop(2), ulimit(2), end(3C), free(3C),
- malloc(3C)
+ exec(2), getrlimit(2), mmap(2), mprotect(2), shmop(2), ulimit(2),
+ end(3C), free(3C), malloc(3C)
NOTES
The value of incr may be adjusted by the system before setting the new
@@ -114,6 +123,10 @@
not possible to distinguish this from a failure caused by exceeding the
maximum size of the data segment without consulting getrlimit().
+HISTORY
+ The brk() and sbrk() functions have been included in all Sun and Oracle
+ releases of Solaris.
+
-Oracle Solaris 11.4 14 Jan 1997 brk(2)
+Oracle Solaris 11.4 30 Jan 2023 brk(2)
diff -NurbBw 11.4.54/man2/semctl.2 11.4.57/man2/semctl.2
--- 11.4.54/man2/semctl.2 2023-05-24 15:26:49.324622877 -0700
+++ 11.4.57/man2/semctl.2 2023-05-24 15:27:28.670349575 -0700
@@ -10,7 +10,7 @@
#include <sys/ipc.h>
#include <sys/sem.h>
- int semctl(int semid, int semnum, int cmd...);
+ int semctl(int semid, int semnum, int cmd, ...);
DESCRIPTION
The semctl() function provides a variety of semaphore control opera-
@@ -40,9 +40,12 @@
See the Semaphore Operation Permissions subsection of the DEFINITIONS
- section of Intro(2) for more information. The following semaphore oper-
- ations as specified by cmd are executed with respect to the semaphore
- specified by semid and semnum.
+ section of Intro(2) for more information.
+
+
+ The following semaphore operations may be specified by the cmd argu-
+ ment, to be executed with respect to the semaphore specified by semid
+ and semnum.
GETVAL Return the value of semval (see Intro(2)). {READ}
@@ -141,8 +144,8 @@
EINVAL The semid argument is not a valid semaphore identifier;
the semnum argument is less than 0 or greater than
- sem_nsems -1; or the cmd argument is not a valid command
- or is IPC_SET and sem_perm.uid or sem_perm.gid is not
+ (sem_nsems - 1); or the cmd argument is not a valid com-
+ mand or is IPC_SET and sem_perm.uid or sem_perm.gid is not
valid.
@@ -178,6 +181,12 @@
ipcs(1), Intro(2), semget(2), semop(2), standards(7), attributes(7),
privileges(7)
+HISTORY
+ The semctl() function, including support for the GETVAL, SETVAL, GET-
+ PID, GETNCNT, GETZCNT, GETALL, SETALL, IPC_STAT, IPC_SET, and IPC_RMID
+ operations, has been included in all Sun and Oracle releases of
+ Solaris.
+
-Oracle Solaris 11.4 1 Feb 2003 semctl(2)
+Oracle Solaris 11.4 30 Jan 2023 semctl(2)
diff -NurbBw 11.4.54/man2/setcontext.2 11.4.57/man2/setcontext.2
--- 11.4.54/man2/setcontext.2 2023-05-24 15:26:49.352499309 -0700
+++ 11.4.57/man2/setcontext.2 2023-05-24 15:27:28.719811520 -0700
@@ -66,8 +66,13 @@
SEE ALSO
sigaction(2), sigaltstack(2), sigprocmask(2), bsd_signal(3C), makecon-
- text(3C), ucontext.h(3HEAD), attributes(7), standards(7)
+ text(3C), swapcontext(3C), ucontext.h(3HEAD), attributes(7), stan-
+ dards(7)
+HISTORY
+ The getcontext() and setcontext() functions have been included in
+ Solaris since the Solaris 2.0 release.
-Oracle Solaris 11.4 5 Feb 2001 getcontext(2)
+
+Oracle Solaris 11.4 30 Jan 2023 getcontext(2)
diff -NurbBw 11.4.54/man2/setegid.2 11.4.57/man2/setegid.2
--- 11.4.54/man2/setegid.2 2023-05-24 15:26:49.381178537 -0700
+++ 11.4.57/man2/setegid.2 2023-05-24 15:27:28.764427569 -0700
@@ -36,21 +36,21 @@
responsible for the creation of the process.
- When a process calls one of the exec(2) family of functions to execute
- a file (program), the user and/or group identifiers associated with the
- process can change. If the file executed is a set-user-ID file, the
- effective and saved user IDs of the process are set to the owner of the
- file executed. If the file executed is a set-group-ID file, the effec-
- tive and saved group IDs of the process are set to the group of the
- file executed. If the file executed is not a set-user-ID or set-group-
- ID file, the effective user ID, saved user ID, effective group ID, and
- saved group ID are not changed.
+ When a process calls one of the exec(2) or spawn(2) family of functions
+ to execute a file (program), the user and/or group identifiers associ-
+ ated with the process can change. If the file executed is a set-user-ID
+ file, the effective and saved user IDs of the process are set to the
+ owner of the file executed. If the file executed is a set-group-ID
+ file, the effective and saved group IDs of the process are set to the
+ group of the file executed. If the file executed is not a set-user-ID
+ or set-group-ID file, the effective user ID, saved user ID, effective
+ group ID, and saved group ID are not changed.
If the {PRIV_PROC_SETID} privilege is asserted in the effective set of
the process calling setuid(), the real, effective, and saved user IDs
are set to the uid argument. If the uid argument is 0 and none of the
- saved, effective or real UID is 0, additional restrictions apply. See
+ saved, effective, or real UID is 0, additional restrictions apply. See
privileges(7).
@@ -105,9 +105,13 @@
+-----------------------------+-----------------------------+
SEE ALSO
- exec(2), getgroups(2), getuid(2), Intro(2), setreuid(2), stat.h(3HEAD),
- attributes(7), privileges(7), standards(7)
+ Intro(2), exec(2), getgroups(2), getuid(2), issetugid(2), setreuid(2),
+ spawn(2), stat.h(3HEAD), attributes(7), privileges(7), standards(7)
+HISTORY
+ These functions have been included in all Sun and Oracle releases of
+ Solaris.
-Oracle Solaris 11.4 20 Jan 2003 setuid(2)
+
+Oracle Solaris 11.4 30 Jan 2023 setuid(2)
diff -NurbBw 11.4.54/man2/seteuid.2 11.4.57/man2/seteuid.2
--- 11.4.54/man2/seteuid.2 2023-05-24 15:26:49.409543670 -0700
+++ 11.4.57/man2/seteuid.2 2023-05-24 15:27:28.791896897 -0700
@@ -36,21 +36,21 @@
responsible for the creation of the process.
- When a process calls one of the exec(2) family of functions to execute
- a file (program), the user and/or group identifiers associated with the
- process can change. If the file executed is a set-user-ID file, the
- effective and saved user IDs of the process are set to the owner of the
- file executed. If the file executed is a set-group-ID file, the effec-
- tive and saved group IDs of the process are set to the group of the
- file executed. If the file executed is not a set-user-ID or set-group-
- ID file, the effective user ID, saved user ID, effective group ID, and
- saved group ID are not changed.
+ When a process calls one of the exec(2) or spawn(2) family of functions
+ to execute a file (program), the user and/or group identifiers associ-
+ ated with the process can change. If the file executed is a set-user-ID
+ file, the effective and saved user IDs of the process are set to the
+ owner of the file executed. If the file executed is a set-group-ID
+ file, the effective and saved group IDs of the process are set to the
+ group of the file executed. If the file executed is not a set-user-ID
+ or set-group-ID file, the effective user ID, saved user ID, effective
+ group ID, and saved group ID are not changed.
If the {PRIV_PROC_SETID} privilege is asserted in the effective set of
the process calling setuid(), the real, effective, and saved user IDs
are set to the uid argument. If the uid argument is 0 and none of the
- saved, effective or real UID is 0, additional restrictions apply. See
+ saved, effective, or real UID is 0, additional restrictions apply. See
privileges(7).
@@ -105,9 +105,13 @@
+-----------------------------+-----------------------------+
SEE ALSO
- exec(2), getgroups(2), getuid(2), Intro(2), setreuid(2), stat.h(3HEAD),
- attributes(7), privileges(7), standards(7)
+ Intro(2), exec(2), getgroups(2), getuid(2), issetugid(2), setreuid(2),
+ spawn(2), stat.h(3HEAD), attributes(7), privileges(7), standards(7)
+HISTORY
+ These functions have been included in all Sun and Oracle releases of
+ Solaris.
-Oracle Solaris 11.4 20 Jan 2003 setuid(2)
+
+Oracle Solaris 11.4 30 Jan 2023 setuid(2)
diff -NurbBw 11.4.54/man2/setgid.2 11.4.57/man2/setgid.2
--- 11.4.54/man2/setgid.2 2023-05-24 15:26:49.437993254 -0700
+++ 11.4.57/man2/setgid.2 2023-05-24 15:27:28.820226612 -0700
@@ -36,21 +36,21 @@
responsible for the creation of the process.
- When a process calls one of the exec(2) family of functions to execute
- a file (program), the user and/or group identifiers associated with the
- process can change. If the file executed is a set-user-ID file, the
- effective and saved user IDs of the process are set to the owner of the
- file executed. If the file executed is a set-group-ID file, the effec-
- tive and saved group IDs of the process are set to the group of the
- file executed. If the file executed is not a set-user-ID or set-group-
- ID file, the effective user ID, saved user ID, effective group ID, and
- saved group ID are not changed.
+ When a process calls one of the exec(2) or spawn(2) family of functions
+ to execute a file (program), the user and/or group identifiers associ-
+ ated with the process can change. If the file executed is a set-user-ID
+ file, the effective and saved user IDs of the process are set to the
+ owner of the file executed. If the file executed is a set-group-ID
+ file, the effective and saved group IDs of the process are set to the
+ group of the file executed. If the file executed is not a set-user-ID
+ or set-group-ID file, the effective user ID, saved user ID, effective
+ group ID, and saved group ID are not changed.
If the {PRIV_PROC_SETID} privilege is asserted in the effective set of
the process calling setuid(), the real, effective, and saved user IDs
are set to the uid argument. If the uid argument is 0 and none of the
- saved, effective or real UID is 0, additional restrictions apply. See
+ saved, effective, or real UID is 0, additional restrictions apply. See
privileges(7).
@@ -105,9 +105,13 @@
+-----------------------------+-----------------------------+
SEE ALSO
- exec(2), getgroups(2), getuid(2), Intro(2), setreuid(2), stat.h(3HEAD),
- attributes(7), privileges(7), standards(7)
+ Intro(2), exec(2), getgroups(2), getuid(2), issetugid(2), setreuid(2),
+ spawn(2), stat.h(3HEAD), attributes(7), privileges(7), standards(7)
+HISTORY
+ These functions have been included in all Sun and Oracle releases of
+ Solaris.
-Oracle Solaris 11.4 20 Jan 2003 setuid(2)
+
+Oracle Solaris 11.4 30 Jan 2023 setuid(2)
diff -NurbBw 11.4.54/man2/setgroups.2 11.4.57/man2/setgroups.2
--- 11.4.54/man2/setgroups.2 2023-05-24 15:26:49.476919801 -0700
+++ 11.4.57/man2/setgroups.2 2023-05-24 15:27:28.860827474 -0700
@@ -76,9 +76,33 @@
+-----------------------------+-----------------------------------+
SEE ALSO
- groups(1), chown(2), getuid(2), setuid(2), getgrnam(3C), init-
- groups(3C), attributes(7), privileges(7), standards(7)
+ groups(1), chown(2), getuid(2), setuid(2), getgrnam(3C), getgrou-
+ plist(3C), initgroups(3C), limits.h(3HEAD) attributes(7), privi-
+ leges(7), standards(7)
+ ngroups_max Parameter in Oracle Solaris 11.4 Tunable Parameters Refer-
+ ence Manual
-Oracle Solaris 11.4 12 Nov 2009 getgroups(2)
+HISTORY
+ The getgroups() and setgroups() functions have been included in all Sun
+ and Oracle releases of Solaris.
+
+
+ The value defined in <limits.h> for NGROUPS_MAX was raised to 1024 in
+ the Oracle Solaris 11.4.0 release. In prior releases it was defined to
+ be 16.
+
+
+ The default value of the ngroups_max system tunable was raised to 1024
+ in the Oracle Solaris 11.4.0 release. In prior releases it was defined
+ to be 16.
+
+
+ The maximum limit of the ngroups_max system tunable was raised to 1024
+ in the Solaris 10 8/11 release and Solaris 10 kernel patches. In prior
+ releases it was defined to be 32.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 getgroups(2)
diff -NurbBw 11.4.54/man2/setitimer.2 11.4.57/man2/setitimer.2
--- 11.4.54/man2/setitimer.2 2023-05-24 15:26:49.512379185 -0700
+++ 11.4.57/man2/setitimer.2 2023-05-24 15:27:28.890815375 -0700
@@ -134,13 +128,20 @@
|Standard |See standards(7). |
+-----------------------------+-----------------------------+
+
+ The POSIX.1-2008, SUSv4, and XPG7 standards have declared the
+ getitimer() and setitimer() functions to be obsolescent and recommend
+ use of the timer_gettime(3C) and timer_settime(3C) functions to replace
+ them.
+
SEE ALSO
- alarm(2), exec(2), gettimeofday(3C), sleep(3C), sysconf(3C),
- attributes(7), standards(7)
+ alarm(2), exec(2), gettimeofday(3C), sleep(3C), sysconf(3C), timer_get-
+ time(3C), timer_settime(3C), attributes(7), standards(7)
NOTES
The setitimer() function is independent of the alarm(2) and sleep(3C)
- functions.
+ functions on Oracle Solaris, but this cannot be relied upon for some
+ other operating systems.
The ITIMER_PROF and ITIMER_REALPROF timers deliver the same signal and
@@ -149,6 +150,15 @@
The granularity of the resolution of alarm time is platform-dependent.
+HISTORY
+ The ITIMER_REALPROF timer was added to Solaris in the Solaris 2.0
+ release.
+
+
+ The getitimer() and setitimer() functions, and the ITIMER_REAL,
+ ITIMER_VIRTUAL, and ITIMER_PROF timers have been included in all Sun
+ and Oracle releases of Solaris.
+
-Oracle Solaris 11.4 15 Aug 2012 getitimer(2)
+Oracle Solaris 11.4 30 Jan 2023 getitimer(2)
diff -NurbBw 11.4.54/man2/setpflags.2 11.4.57/man2/setpflags.2
--- 11.4.54/man2/setpflags.2 2023-05-24 15:26:49.552332399 -0700
+++ 11.4.57/man2/setpflags.2 2023-05-24 15:27:28.933821763 -0700
@@ -16,18 +16,17 @@
DESCRIPTION
The getpflags() and setpflags() functions obtain and modify the current
- per-process flags.
+ per-process flags. Each flag takes the value of 0 (unset) or 1 (set).
The following values for flag are supported:
PRIV_AWARE
- This one bit flag takes the value of 0 (unset) or 1 (set). Only if
- this flag is set is the current process privilege-aware. A process
- can attempt to unset this flag but might fail silently if the
- observed set invariance condition cannot be met. Setting this flag
- is always successful.
+ This flag is set if the current process is privilege-aware. A
+ process can attempt to unset this flag but might fail silently if
+ the observed set invariance condition cannot be met. Setting this
+ flag is always successful.
When the PRIV_AWARE flag is set or unset, the observed effective
and permitted set do not change. When setting PRIV_AWARE, this is
@@ -37,13 +36,13 @@
PRIV_AWARE_RESET
- This one bit flag takes the value of 0 (unset) or 1 (set). This
- causes a process to pretend it is non-privilege aware. The effec-
- tive and permitted privilege set change on the change of the effec-
- tive uid. When all the uid sets become the same through setuid(uid)
- or through setreuid(uid, uid), the effective and permitted set are
- set to the intersection between the limit set and the inheritable
- set. At that point, both PRIV_AWARE and PRIV_AWARE_RESET are unset.
+ This flag causes a process to pretend it is non-privilege aware.
+ The effective and permitted privilege set change on the change of
+ the effective uid. When all the uid sets become the same through
+ setuid(uid) or through setreuid(uid, uid), the effective and per-
+ mitted set are set to the intersection between the limit set and
+ the inheritable set. At that point, both PRIV_AWARE and
+ PRIV_AWARE_RESET are unset.
This flag gets automatically reset when a file becomes privilege
aware, either through calling setppriv(2) or by setting PRIV_AWARE
@@ -52,83 +51,88 @@
PRIV_DEBUG
- This one bit flag takes the value of 0 (unset) or 1 (set). Only if
- this flag is set does the current process have privilege debugging
- enabled. Processes can set and unset this flag at will.
+ This flag enables privilege debugging for the current process. Pro-
+ cesses can set and unset this flag at will.
PRIV_PFEXEC
- This one-bit flag takes the value of 0 (unset) or 1 (set). Only if
- this flag is set is the current process a profile shell. Every time
- exec(2) is called, the exec_attr(5) database for the current user's
- profiles database is queried and the appropriate attributes are
- applied to the new program. PRIV_PFEXEC is inherited except when
- the real UID is changed as a result of the applied attributes.
+ This flag is set if the current process is a profile shell. Every
+ time exec(2) is called, the exec_attr(5) database for the current
+ user's profiles database is queried and the appropriate attributes
+ are applied to the new program. PRIV_PFEXEC is inherited except
+ when the real UID is changed as a result of the applied attributes.
PRIV_PFEXEC_AUTH
- This one-bit flag takes the value of 0 (unset) or 1 (set). The flag
- is set when the user successfully reauthenticates prior to execut-
- ing a command which matches an entry in the user's authenticated
- profiles set, and the PRIV_PFEXEC flag is already set in the parent
- process. When these two flags are set, the process can execute com-
- mands which match the exec_attr(5) database for the user's authen-
- ticated profiles set, without subsequent reauthentication.
- PRIV_PFEXEC_AUTH is inherited except when the real UID is changed
- as a result of the applied attributes. The privilege
+ This flag is set when the user successfully reauthenticates prior
+ to executing a command which matches an entry in the user's authen-
+ ticated profiles set, and the PRIV_PFEXEC flag is already set in
+ the parent process. When these two flags are set, the process can
+ execute commands which match the exec_attr(5) database for the
+ user's authenticated profiles set, without subsequent reauthentica-
+ tion. PRIV_PFEXEC_AUTH is inherited except when the real UID is
+ changed as a result of the applied attributes. The privilege
PRIV_PROC_SETID is required to set this flag.
+ PRIV_PROC_SENSITIVE
+
+ If this flag is set, it is assumed that the process contains sensi-
+ tive data and non-privileged users cannot observe it through proc
+ tools, cannot truss it, and cannot dump its core. Processes can set
+ and unset this flag at will. For more information, see the proc(1)
+ and ppriv(1) man pages.
+
+ This flag can be set automatically for the process, typically when
+ a privileged process performs setuid or setgid. Unsetting the flag
+ can expose potentially sensitive data to a wider range of users.
+ Historically this flag was known as SNOCD (no coredump).
+
+
PRIV_PROC_TPD
- This one-bit flag takes the value of 0 (unset) or 1 (set). This bit
- has no meaning outside of an immutable zone. In an immutable zone,
- this process is allowed to modify files which are MWAC protected,
- such as updating the system or changing over to a new boot environ-
- ment. This process will be prevented from opening files which can
- be modified by processes with this flag set unless PRIV_TPD_UNSAFE
- is set.
+ This flag has no meaning outside of an immutable zone. In an
+ immutable zone, if this flag is set, this process is allowed to
+ modify files which are MWAC protected, such as updating the system
+ or changing over to a new boot environment. This process will be
+ prevented from opening files which can be modified by processes
+ with this flag set unless PRIV_TPD_UNSAFE is set.
PRIV_PROC_TPD_RESET
- This one-bit flag takes the value of 0 (unset) or 1 (set). When a
- process is set, the PRIV_PROC_TPD will be reset on exec(). For more
- information, see the exec(2) man page.
+ If this flag is set, the PRIV_PROC_TPD flag will be reset on
+ exec(). For more information, see the exec(2) man page.
PRIV_TPD_KILLABLE
- This one-bit flag takes the value of 0 (unset) or 1 (set). Nor-
- mally, a process in the Trusted Path cannot receive any signals
- outside of the Trusted Path. When this bit is set, the system will
+ Normally, a process in the Trusted Path cannot receive any signals
+ outside of the Trusted Path. When this flag is set, the system will
forward signals from a non-TPD process.
PRIV_TPD_UNSAFE
- This one-bit flag takes the value of 0 (unset) or 1 (set). This bit
- has no meaning outside of an immutable zone. If this flag is set in
- a TPD process it will read files which can be modified by all priv-
- ileged process in the zone or can open STREAM devices, doors, and
- pipes when the peer is not a TPD process.
+ This flag has no meaning outside of an immutable zone. If this flag
+ is set in a TPD process it will read files which can be modified by
+ all privileged process in the zone or can open STREAM devices,
+ doors, and pipes when the peer is not a TPD process.
PRIV_XPOLICY
- This one-bit flag takes the value of 0 (unset) or 1 (set). Only if
- this flag is set does the current process honor its Extended Policy
- (see privileges(7)).
+ The current process honors its Extended Policy (see privileges(7))
+ if, and only if, this flag is set.
NET_MAC_AWARE
NET_MAC_AWARE_INHERIT
These flags are available only if the system is configured with
- Trusted Extensions. These one bit flags each take the value of 0
- (unset) or 1 (set). If the NET_MAC_AWARE flag is set then the cur-
+ Trusted Extensions. If the NET_MAC_AWARE flag is set then the cur-
rent process is allowed to communicate with peers at labels that
are different than its own, subject to MAC policy.
@@ -141,21 +145,6 @@
- PRIV_PROC_SENSITIVE
-
- This one bit flag takes the value of 0 (unset) or 1 (set). If this
- flag is set, it is assumed that the process contains sensitive data
- and non-privileged users cannot observe it through proc tools, can-
- not truss it, and cannot dump its core. Processes can set and unset
- this flag at will. For more information, see the proc(1) and
- ppriv(1) man pages.
-
- This flag can be set automatically for the process, typically when
- a privileged process performs setuid or setgid. Unsetting the flag
- can expose potentially sensitive data to a wider range of users.
- Historically this flag was known as SNOCD (no coredump).
-
-
RETURN VALUES
The getpflags() returns the value associated with a given per-process
flag. If the flag argument is invalid, (uint_t)-1 is returned and errno
@@ -196,11 +185,41 @@
+-----------------------------+-----------------------------+
|MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
+ |Standard |None |
+ +-----------------------------+-----------------------------+
SEE ALSO
ppriv(1), exec(2), kill(2), setppriv(2), attributes(7), privileges(7),
tpd(7)
+HISTORY
+ The getpflags() and setpflags() functions were added to Solaris in
+ Solaris 10 3/05.
+
+
+ Support for the following values for flag is available in Oracle
+ Solaris starting with the listed release:
+
+
+ +-------------------------------------------------+-------------------+
+ | FLAG | RELEASE |
+ +-------------------------------------------------+-------------------+
+ |PRIV_PROC_TPD_RESET, PRIV_TPD_KILLABLE |11.4.0 |
+ +-------------------------------------------------+-------------------+
+ |PRIV_PROC_SENSITIVE |11.3.20 |
+ +-------------------------------------------------+-------------------+
+ |PRIV_PFEXEC_AUTH, PRIV_PROC_TPD, |11.2.0 |
+ |PRIV_TPD_UNSAFE | |
+ +-------------------------------------------------+-------------------+
+ |PRIV_XPOLICY |11.1.0 |
+ +-------------------------------------------------+-------------------+
+ |PRIV_AWARE_RESET, PRIV_PFEXEC |11.0.0 |
+ +-------------------------------------------------+-------------------+
+ |NET_MAC_AWARE, NET_MAC_AWARE_INHERIT |10 4/08 (Update 5) |
+ +-------------------------------------------------+-------------------+
+ |PRIV_AWARE, PRIV_DEBUG |10 3/05 |
+ +-------------------------------------------------+-------------------+
+
-Oracle Solaris 11.4 3 Nov 2021 getpflags(2)
+Oracle Solaris 11.4 30 Jan 2023 getpflags(2)
diff -NurbBw 11.4.54/man2/setppriv.2 11.4.57/man2/setppriv.2
--- 11.4.54/man2/setppriv.2 2023-05-24 15:26:49.591878560 -0700
+++ 11.4.57/man2/setppriv.2 2023-05-24 15:27:28.974277155 -0700
@@ -20,6 +20,11 @@
Both functions are documented on the priv_addset(3C) manual page.
+ The value of which must be one of PRIV_EFFECTIVE, PRIV_INHERITABLE,
+ PRIV_PERMITTED, or PRIV_LIMIT, corresponding to the privilege sets
+ defined in the privileges(7) manual page.
+
+
The setppriv() function sets or changes the process privilege set. The
op argument specifies the operation and can be one of PRIV_OFF, PRIV_ON
or PRIV_SET. The which argument specifies the name of the privilege
@@ -35,8 +40,8 @@
o If privileges are removed from PRIV_LIMIT, they are not
- removed from the other sets until one of exec(2) functions
- has successfully completed.
+ removed from the other sets until one of the exec(2) or
+ spawn(2) functions has successfully completed.
@@ -97,6 +102,10 @@
SEE ALSO
priv_addset(3C), attributes(7), privileges(7)
+HISTORY
+ The getppriv() and setppriv() functions were added to Solaris in
+ Solaris 10 3/05.
+
-Oracle Solaris 11.4 27 May 2011 getppriv(2)
+Oracle Solaris 11.4 30 Jan 2023 getppriv(2)
diff -NurbBw 11.4.54/man2/setrlimit.2 11.4.57/man2/setrlimit.2
--- 11.4.54/man2/setrlimit.2 2023-05-24 15:26:49.635259239 -0700
+++ 11.4.57/man2/setrlimit.2 2023-05-24 15:27:29.004824687 -0700
@@ -30,7 +30,7 @@
limit. Both hard and soft limits can be changed in a single call to
setrlimit() subject to the constraints described above. Limits may have
an "infinite" value of RLIM_INFINITY. The rlp argument is a pointer to
- struct rlimit that includes the following members:
+ a struct rlimit that includes the following members:
rlim_t rlim_cur; /* current (soft) limit */
rlim_t rlim_max; /* hard limit */
@@ -46,6 +44,14 @@
The possible resources, their descriptions, and the actions taken when
the current limit is exceeded are summarized as follows:
+ RLIMIT_AS The maximum size, in bytes, of the address space
+ mapped by a process. If this limit is exceeded, the
+ brk(2), malloc(3C), mmap(2) and sbrk(2) functions will
+ fail with errno set to ENOMEM. In addition, the auto-
+ matic stack growth will fail with the effects outlined
+ above.
+
+
RLIMIT_CORE The maximum size of a core file in bytes that may be
created by a process. A limit of 0 will prevent the
creation of a core file. The writing of a core file
@@ -75,12 +81,14 @@
RLIMIT_NOFILE One more than the maximum value that the system may
assign to a newly created descriptor. This limit con-
strains the number of file descriptors that a process
- may create.
+ may create. If a process already has the maximum num-
+ ber of file descriptors open, attempts to open more
+ will fail with errno set to EMFILE.
- RLIMIT_STACK The maximum size of a process's stack in bytes. The
- system will not automatically grow the stack beyond
- this limit.
+ RLIMIT_STACK The maximum size of a process's main thread stack in
+ bytes. The system will not automatically grow the
+ stack beyond this limit.
Within a process, setrlimit() will increase the limit
on the size of your stack, but will not move current
@@ -103,19 +111,9 @@
SIGSEGV will be set to SIG_DFL before it is sent.
- RLIMIT_VMEM The maximum size of a process's mapped address space
- in bytes. If this limit is exceeded, the brk(2) and
- mmap(2) functions will fail with errno set to ENOMEM.
- In addition, the automatic stack growth will fail with
- the effects outlined above.
-
-
- RLIMIT_AS This is the maximum size of a process's total avail-
- able memory, in bytes. If this limit is exceeded, the
- brk(2), malloc(3C), mmap(2) and sbrk(2) functions will
- fail with errno set to ENOMEM. In addition, the auto-
- matic stack growth will fail with the effects outlined
- above.
+ RLIMIT_VMEM This is an alternate name for RLIMIT_AS. Portable
+ software should prefer the standard RLIMIT_AS over
+ this non-standardized name.
@@ -209,38 +207,24 @@
+-----------------------------+-----------------------------+
| rlimit | rctl |
+-----------------------------+-----------------------------+
- |RLIMIT_CPU |process.max-cpu-time |
+ |RLIMIT_AS |process.max-address-space |
+-----------------------------+-----------------------------+
- |RLIMIT_FSIZE |process.max-file-size |
+ |RLIMIT_CORE |process.max-core-size |
+-----------------------------+-----------------------------+
- |RLIMIT_DATA |process.max-data-size |
+ |RLIMIT_CPU |process.max-cpu-time |
+-----------------------------+-----------------------------+
- |RLIMIT_STACK |process.max-stack-size |
+ |RLIMIT_DATA |process.max-data-size |
+-----------------------------+-----------------------------+
- |RLIMIT_CORE |process.max-core-size |
+ |RLIMIT_FSIZE |process.max-file-size |
+-----------------------------+-----------------------------+
|RLIMIT_NOFILE |process.max-file-descriptor |
+-----------------------------+-----------------------------+
- |RLIMIT_VMEM |process.max-address-space |
+ |RLIMIT_STACK |process.max-stack-size |
+-----------------------------+-----------------------------+
- The following additional limits are available via getrctl/setrctl:
-
-
- process.max-sem-nsems
- process.max-sem-ops
- process.max-msg-qbytes
- process.max-msg-messages
- process.max-port-events
- process.max-itimers
- process.max-sigqueue-size
- process.max-deferred-posts
-
-
-
- For more information about the additional limits, see resource-con-
- trols(7).
+ A variety of additional limits are available via the getrctl() and
+ setrctl() functions. For more information, see resource-controls(7).
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
@@ -249,15 +233,38 @@
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
- |Interface Stability |Standard |
+ |Interface Stability |Committed |
+ +-----------------------------+-----------------------------+
+ |Standard |See standards(7). |
+-----------------------------+-----------------------------+
SEE ALSO
- ulimit(2), brk(2), exec(2), fork(2), open(2), setrctl(2), sigalt-
+ ulimit(1), brk(2), exec(2), fork(2), open(2), setrctl(2), sigalt-
stack(2), getdtablesize(3C), malloc(3C), signal(3C), sysconf(3C), sig-
nal.h(3HEAD), attributes(7), lf64(7), privileges(7), resource-con-
trols(7), standards(7), rctladm(8)
+ Oracle Solaris 11.4 Tunable Parameters Reference Manual
+
+HISTORY
+ The getrlimit() and setrlimit() functions have been included in all Sun
+ and Oracle releases of Solaris.
+
+
+ Support for the following resource values is available in Oracle
+ Solaris starting with the listed release:
+
+
+ +-------------------------------------------------+---------+
+ | RESOURCE |RELEASE |
+ +-------------------------------------------------+---------+
+ |RLIMIT_AS, RLIMIT_VMEM |2.0 |
+ +-------------------------------------------------+---------+
+ |RLIMIT_CORE, RLIMIT_CPU, RLIMIT_DATA, |1.0 |
+ |RLIMIT_FSIZE, RLIMIT_NOFILE, RLIMIT_STACK | |
+ +-------------------------------------------------+---------+
+
+
-Oracle Solaris 11.4 17 Mar 2015 getrlimit(2)
+Oracle Solaris 11.4 30 Jan 2023 getrlimit(2)
diff -NurbBw 11.4.54/man2/setuid.2 11.4.57/man2/setuid.2
--- 11.4.54/man2/setuid.2 2023-05-24 15:26:49.663074829 -0700
+++ 11.4.57/man2/setuid.2 2023-05-24 15:27:29.030997997 -0700
@@ -36,21 +36,21 @@
responsible for the creation of the process.
- When a process calls one of the exec(2) family of functions to execute
- a file (program), the user and/or group identifiers associated with the
- process can change. If the file executed is a set-user-ID file, the
- effective and saved user IDs of the process are set to the owner of the
- file executed. If the file executed is a set-group-ID file, the effec-
- tive and saved group IDs of the process are set to the group of the
- file executed. If the file executed is not a set-user-ID or set-group-
- ID file, the effective user ID, saved user ID, effective group ID, and
- saved group ID are not changed.
+ When a process calls one of the exec(2) or spawn(2) family of functions
+ to execute a file (program), the user and/or group identifiers associ-
+ ated with the process can change. If the file executed is a set-user-ID
+ file, the effective and saved user IDs of the process are set to the
+ owner of the file executed. If the file executed is a set-group-ID
+ file, the effective and saved group IDs of the process are set to the
+ group of the file executed. If the file executed is not a set-user-ID
+ or set-group-ID file, the effective user ID, saved user ID, effective
+ group ID, and saved group ID are not changed.
If the {PRIV_PROC_SETID} privilege is asserted in the effective set of
the process calling setuid(), the real, effective, and saved user IDs
are set to the uid argument. If the uid argument is 0 and none of the
- saved, effective or real UID is 0, additional restrictions apply. See
+ saved, effective, or real UID is 0, additional restrictions apply. See
privileges(7).
@@ -105,9 +105,13 @@
+-----------------------------+-----------------------------+
SEE ALSO
- exec(2), getgroups(2), getuid(2), Intro(2), setreuid(2), stat.h(3HEAD),
- attributes(7), privileges(7), standards(7)
+ Intro(2), exec(2), getgroups(2), getuid(2), issetugid(2), setreuid(2),
+ spawn(2), stat.h(3HEAD), attributes(7), privileges(7), standards(7)
+HISTORY
+ These functions have been included in all Sun and Oracle releases of
+ Solaris.
-Oracle Solaris 11.4 20 Jan 2003 setuid(2)
+
+Oracle Solaris 11.4 30 Jan 2023 setuid(2)
diff -NurbBw 11.4.54/man2/sigsend.2 11.4.57/man2/sigsend.2
--- 11.4.54/man2/sigsend.2 2023-05-24 15:26:49.703388775 -0700
+++ 11.4.57/man2/sigsend.2 2023-05-24 15:27:29.069026561 -0700
@@ -108,8 +108,8 @@
RETURN VALUES
- Upon successful completion, 0 is return. Otherwise, -1 is returned and
- errno is set to indicate the error.
+ Upon successful completion, 0 is returned. Otherwise, -1 is returned
+ and errno is set to indicate the error.
ERRORS
The sigsend() and sigsendset() functions will fail if:
@@ -118,7 +118,7 @@
argument is not a valid idtype field.
- EINVAL The sig argument is SIGKILL, idtype is P_PID and id is 1
+ EINVAL The sig argument is SIGKILL, idtype is P_PID, and id is 1
(proc1).
@@ -146,9 +146,29 @@
SEE ALSO
- kill(1), getpid(2), kill(2), priocntl(2), signal(3C), signal.h(3HEAD),
- process(5), privileges(7)
+ kill(1), getpid(2), kill(2), priocntl(2), signal(3C), sigqueue(3C),
+ signal.h(3HEAD), process(5), privileges(7)
+HISTORY
+ The sigsend() and sigsendset() functions were added to Solaris in
+ Solaris 2.0.
-Oracle Solaris 11.4 19 Jul 2004 sigsend(2)
+ Support for the following idtype parameters is available in Solaris
+ starting with the listed release:
+
+
+ +-------------------------------------------------+---------+
+ | IDTYPE |RELEASE |
+ +-------------------------------------------------+---------+
+ |P_CTID |10 3/05 |
+ +-------------------------------------------------+---------+
+ |P_PROJID, P_TASKID |9 |
+ +-------------------------------------------------+---------+
+ |P_PID, P_PGID, P_SID, P_UID, P_GID, P_CID, |2.0 |
+ |P_ALL | |
+ +-------------------------------------------------+---------+
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 sigsend(2)
diff -NurbBw 11.4.54/man2/sigsendset.2 11.4.57/man2/sigsendset.2
--- 11.4.54/man2/sigsendset.2 2023-05-24 15:26:49.744544648 -0700
+++ 11.4.57/man2/sigsendset.2 2023-05-24 15:27:29.098772487 -0700
@@ -108,8 +108,8 @@
RETURN VALUES
- Upon successful completion, 0 is return. Otherwise, -1 is returned and
- errno is set to indicate the error.
+ Upon successful completion, 0 is returned. Otherwise, -1 is returned
+ and errno is set to indicate the error.
ERRORS
The sigsend() and sigsendset() functions will fail if:
@@ -118,7 +118,7 @@
argument is not a valid idtype field.
- EINVAL The sig argument is SIGKILL, idtype is P_PID and id is 1
+ EINVAL The sig argument is SIGKILL, idtype is P_PID, and id is 1
(proc1).
@@ -146,9 +146,29 @@
SEE ALSO
- kill(1), getpid(2), kill(2), priocntl(2), signal(3C), signal.h(3HEAD),
- process(5), privileges(7)
+ kill(1), getpid(2), kill(2), priocntl(2), signal(3C), sigqueue(3C),
+ signal.h(3HEAD), process(5), privileges(7)
+HISTORY
+ The sigsend() and sigsendset() functions were added to Solaris in
+ Solaris 2.0.
-Oracle Solaris 11.4 19 Jul 2004 sigsend(2)
+ Support for the following idtype parameters is available in Solaris
+ starting with the listed release:
+
+
+ +-------------------------------------------------+---------+
+ | IDTYPE |RELEASE |
+ +-------------------------------------------------+---------+
+ |P_CTID |10 3/05 |
+ +-------------------------------------------------+---------+
+ |P_PROJID, P_TASKID |9 |
+ +-------------------------------------------------+---------+
+ |P_PID, P_PGID, P_SID, P_UID, P_GID, P_CID, |2.0 |
+ |P_ALL | |
+ +-------------------------------------------------+---------+
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 sigsend(2)
diff -NurbBw 11.4.54/man2/statvfs.2 11.4.57/man2/statvfs.2
--- 11.4.54/man2/statvfs.2 2023-05-24 15:26:49.775484632 -0700
+++ 11.4.57/man2/statvfs.2 2023-05-24 15:27:29.149374068 -0700
@@ -15,10 +15,9 @@
int fstatvfs(int fildes, struct statvfs *buf);
DESCRIPTION
- The statvfs() function returns a "generic superblock" describing a file
- system; it can be used to acquire information about mounted file sys-
- tems. The buf argument is a pointer to a structure (described below)
- that is filled by the function.
+ The statvfs() function returns information about a mounted file system.
+ The buf argument is a pointer to a structure (described below) that is
+ filled by the function.
The path argument should name a file that resides on that file system.
@@ -66,16 +65,15 @@
The fstatvfs() function is similar to statvfs(), except that the file
named by path in statvfs() is instead identified by an open file
- descriptor fildes obtained from a successful open(2), creat(2), dup(2),
- fcntl(2), or pipe(2) function call.
+ descriptor fildes.
- The statvfs() function returns correct results for the total number of
- blocks in the entire pool (total) and the number of available blocks
- within a given file system (free). The equation "used = total - free"
- will not work for ZFS file systems, due to the fact that in pooled
- storage many file systems share the total available from the entire
- storage pool.
+ For ZFS file systems, the statvfs() function returns correct results
+ for the total number of blocks in the entire pool (total) and the num-
+ ber of available blocks within a given file system (free). The equation
+ "used = total - free" will not work for ZFS file systems, due to the
+ fact that in pooled storage many file systems share the total available
+ from the entire storage pool.
RETURN VALUES
Upon successful completion, 0 is returned. Otherwise, -1 is returned
@@ -98,8 +96,8 @@
EFAULT The path or buf argument points to an illegal address.
- EINTR A signal was caught during the execution of the
- statvfs() function.
+ EINTR A signal was caught during the execution of the func-
+ tion.
EIO An I/O error occurred while reading the file system.
@@ -110,8 +108,8 @@
ENAMETOOLONG The length of a path component exceeds NAME_MAX charac-
- ters, or the length of path The exceeds PATH_MAX char-
- acters.
+ ters, or the length of path exceeds PATH_MAX charac-
+ ters.
ENOENT Either a component of the path prefix or the file
@@ -129,7 +127,7 @@
The fstatvfs() function will fail if:
- EBADF The fildes argument is not an open file descriptor.
+ EBADF The fildes argument is not a valid open file descriptor.
EFAULT The buf argument points to an illegal address.
@@ -167,6 +165,11 @@
The values returned for f_files, f_ffree, and f_favail may not be valid
for NFS mounted file systems.
+HISTORY
+ The statvfs() and fstatvfs() functions were added to Solaris in Solaris
+ 2.0. In releases of Solaris prior to Solaris 2.0, similar functions
+ were provided under the names statfs() and fstatfs().
-Oracle Solaris 11.4 5 Oct 2012 statvfs(2)
+
+Oracle Solaris 11.4 30 Jan 2023 statvfs(2)
diff -NurbBw 11.4.54/man2/symlink.2 11.4.57/man2/symlink.2
--- 11.4.54/man2/symlink.2 2023-05-24 15:26:49.803581599 -0700
+++ 11.4.57/man2/symlink.2 2023-05-24 15:27:29.177320952 -0700
@@ -87,8 +87,7 @@
the length of a path2 component exceeds NAME_MAX while
_POSIX_NO_TRUNC is in effect.
- This error can also be returned if the length of the
- path1 argument exceeds SYMLINK_MAX.
+ The length of the path1 argument exceeds SYMLINK_MAX.
ENOENT A component of the path prefix of path2 does not exist.
@@ -160,8 +159,17 @@
+-----------------------------+-----------------------------+
SEE ALSO
- cp(1), link(2), open(2), readlink(2), stat(2), unlink(2), attributes(7)
+ ln(1), readlink(1), link(2), open(2), readlink(2), resolvepath(2)
+ stat(2), unlink(2), realpath(3C), attributes(7)
+HISTORY
+ The symlinkat() function was added to Solaris in the Solaris 11.0
+ release.
-Oracle Solaris 11.4 13 Jun 2018 symlink(2)
+ The symlink() function has been included in all Sun and Oracle releases
+ of Solaris.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 symlink(2)
diff -NurbBw 11.4.54/man2/symlinkat.2 11.4.57/man2/symlinkat.2
--- 11.4.54/man2/symlinkat.2 2023-05-24 15:26:49.839692320 -0700
+++ 11.4.57/man2/symlinkat.2 2023-05-24 15:27:29.206096257 -0700
@@ -87,8 +87,7 @@
the length of a path2 component exceeds NAME_MAX while
_POSIX_NO_TRUNC is in effect.
- This error can also be returned if the length of the
- path1 argument exceeds SYMLINK_MAX.
+ The length of the path1 argument exceeds SYMLINK_MAX.
ENOENT A component of the path prefix of path2 does not exist.
@@ -160,8 +159,17 @@
+-----------------------------+-----------------------------+
SEE ALSO
- cp(1), link(2), open(2), readlink(2), stat(2), unlink(2), attributes(7)
+ ln(1), readlink(1), link(2), open(2), readlink(2), resolvepath(2)
+ stat(2), unlink(2), realpath(3C), attributes(7)
+HISTORY
+ The symlinkat() function was added to Solaris in the Solaris 11.0
+ release.
-Oracle Solaris 11.4 13 Jun 2018 symlink(2)
+ The symlink() function has been included in all Sun and Oracle releases
+ of Solaris.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 symlink(2)
diff -NurbBw 11.4.54/man2/ulimit.2 11.4.57/man2/ulimit.2
--- 11.4.54/man2/ulimit.2 2023-05-24 15:26:49.866548130 -0700
+++ 11.4.57/man2/ulimit.2 2023-05-24 15:27:29.233069534 -0700
@@ -12,8 +12,8 @@
DESCRIPTION
The ulimit() function provides for control over process limits. It is
- effective in limiting the growth of regular files. Pipes are limited to
- PIPE_MAX bytes.
+ provided for compatibility with older System V systems and is not rec-
+ ommended for use in new software.
The cmd values, defined in <ulimit.h>, include:
@@ -33,8 +33,8 @@
privileges may increase the limit. The new file size
limit is returned. The hard and soft file size limits
are set to the specified value multiplied by 512. If the
- result would overflow an rlimit_t, the actual value set
- is unspecified.
+ result would overflow an rlim_t, the actual value set is
+ unspecified.
UL_GMEMLIM Get the maximum possible break value (see brk(2)).
@@ -66,9 +66,10 @@
zero.
- The getrlimit() and setrlimit() functions provide a more general inter-
- face for controlling process limits, and are preferred over ulimit().
- See getrlimit(2).
+ The standard getrlimit() and setrlimit() functions, and the Solaris-
+ specific resource control facility, provide a more general interface
+ for controlling process limits, and are preferred over ulimit(). See
+ getrlimit(2) and resource-controls(7).
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
@@ -79,13 +80,21 @@
+-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
- |Standard |See standards(7). |
+ |Standard |See below. |
+-----------------------------+-----------------------------+
+
+ The POSIX.1-2008 and XPG7 standards have declared ulimit() to be Obso-
+ lescent, and it may be removed from future versions of these standards.
+
SEE ALSO
- write(2), brk(2), getrlimit(2), privileges(7), attributes(7), stan-
- dards(7)
+ brk(2), getrlimit(2), write(2), privileges(7), attributes(7), resource-
+ controls(7), standards(7)
+
+HISTORY
+ The ulimit() function has been included in all Sun and Oracle releases
+ of Solaris.
-Oracle Solaris 11.4 1 Feb 2003 ulimit(2)
+Oracle Solaris 11.4 30 Jan 2023 ulimit(2)
diff -NurbBw 11.4.54/man2/unlink.2 11.4.57/man2/unlink.2
--- 11.4.54/man2/unlink.2 2023-05-24 15:26:49.906736885 -0700
+++ 11.4.57/man2/unlink.2 2023-05-24 15:27:29.261860741 -0700
@@ -17,7 +17,8 @@
The unlink() function removes a link to a file. If path names a sym-
bolic link, unlink() removes the symbolic link named by path and does
not affect any file or directory named by the contents of the symbolic
- link. Otherwise, unlink() removes the link named by the pathname
+ link. unlink() cannot be used on directories, and an attempt to do so
+ will fail. Otherwise, unlink() removes the link named by the pathname
pointed to by path and decrements the link count of the file referenced
by the link.
@@ -34,7 +35,9 @@
If the flag argument is set to the value AT_REMOVEDIR, defined in
<fcntl.h>, unlinkat() behaves the same as rmdir(2) except in the pro-
- cessing of the path argument as described above.
+ cessing of the path argument as described above. If the path argument
+ names a directory and AT_REMOVEDIR is not set in the flag argument,
+ unlinkat() will fail.
When the file's link count becomes 0 and no process has the file open,
@@ -45,19 +48,6 @@
references to the file are closed.
- If the path argument is a directory and the filesystem supports
- unlink() and unlinkat() on directories, the directory is unlinked from
- its parent with no cleanup being performed. In UFS, the disconnected
- directory will be found the next time the filesystem is checked with
- fsck(8). The unlink() and unlinkat() functions will not fail simply
- because a directory is not empty. The user with appropriate privileges
- can orphan a non-empty directory without generating an error message.
-
-
- If the path argument is a directory, the call will fail with errno set
- to EPERM.
-
-
Upon successful completion, unlink() and unlinkat() will mark for
update the st_ctime and st_mtime fields of the parent directory. If the
file's link count is not 0, the st_ctime field of the file will be
@@ -114,15 +104,10 @@
link to that machine is no longer active.
- ENOTDIR A component of the path prefix is not a directory or
- the provided directory descriptor for unlinkat() is not
- AT_FDCWD or does not reference a directory.
-
+ ENOTDIR A component of the path prefix is not a directory.
- EPERM The named file is a directory; the implementation does
- not support unlink() or unlinkat() on directories.
- The file or the parent directory has the immutable or
+ EPERM The file or the parent directory has the immutable or
nounlink system attribute set.
The file has the rtime system attribute set and the
@@ -136,6 +121,27 @@
+ The unlink() function will fail if:
+
+ EPERM The named file is a directory. Oracle Solaris does not support
+ unlink() on directories.
+
+
+
+ The unlinkat() function will fail if:
+
+ ENOTDIR The provided dirfd is not AT_FDCWD or does not reference a
+ directory.
+
+ The named file is not a directory and AT_REMOVEDIR was set
+ in the flag argument.
+
+
+ EPERM The named file is a directory and AT_REMOVEDIR was not set
+ in the flag argument.
+
+
+
The unlink() and unlinkat() functions may fail if:
ENAMETOOLONG Pathname resolution of a symbolic link produced an
@@ -147,9 +153,6 @@
cuted.
-USAGE
- Applications should use rmdir(2) to remove a directory.
-
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
@@ -166,6 +169,19 @@
rm(1), close(2), link(2), open(2), rmdir(2), remove(3C), attributes(7),
fsattr(7), privileges(7), sysattr(7)
+HISTORY
+ Support for unlinking directories was removed in the Oracle Solaris
+ 11.2.0 release. Prior to that change, the behavior was filesystem
+ dependent. UFS allowed it for privileged users. It has never been sup-
+ ported by ZFS.
+
+
+ The unlinkat() function was added in the Solaris 9 release.
+
+
+ The unlink() function has been included in all Sun and Oracle releases
+ of Solaris.
+
-Oracle Solaris 11.4 21 Mar 2022 unlink(2)
+Oracle Solaris 11.4 30 Jan 2023 unlink(2)
diff -NurbBw 11.4.54/man2/unlinkat.2 11.4.57/man2/unlinkat.2
--- 11.4.54/man2/unlinkat.2 2023-05-24 15:26:49.934086886 -0700
+++ 11.4.57/man2/unlinkat.2 2023-05-24 15:27:29.299961784 -0700
@@ -17,7 +17,8 @@
The unlink() function removes a link to a file. If path names a sym-
bolic link, unlink() removes the symbolic link named by path and does
not affect any file or directory named by the contents of the symbolic
- link. Otherwise, unlink() removes the link named by the pathname
+ link. unlink() cannot be used on directories, and an attempt to do so
+ will fail. Otherwise, unlink() removes the link named by the pathname
pointed to by path and decrements the link count of the file referenced
by the link.
@@ -34,7 +35,9 @@
If the flag argument is set to the value AT_REMOVEDIR, defined in
<fcntl.h>, unlinkat() behaves the same as rmdir(2) except in the pro-
- cessing of the path argument as described above.
+ cessing of the path argument as described above. If the path argument
+ names a directory and AT_REMOVEDIR is not set in the flag argument,
+ unlinkat() will fail.
When the file's link count becomes 0 and no process has the file open,
@@ -45,19 +48,6 @@
references to the file are closed.
- If the path argument is a directory and the filesystem supports
- unlink() and unlinkat() on directories, the directory is unlinked from
- its parent with no cleanup being performed. In UFS, the disconnected
- directory will be found the next time the filesystem is checked with
- fsck(8). The unlink() and unlinkat() functions will not fail simply
- because a directory is not empty. The user with appropriate privileges
- can orphan a non-empty directory without generating an error message.
-
-
- If the path argument is a directory, the call will fail with errno set
- to EPERM.
-
-
Upon successful completion, unlink() and unlinkat() will mark for
update the st_ctime and st_mtime fields of the parent directory. If the
file's link count is not 0, the st_ctime field of the file will be
@@ -114,15 +104,10 @@
link to that machine is no longer active.
- ENOTDIR A component of the path prefix is not a directory or
- the provided directory descriptor for unlinkat() is not
- AT_FDCWD or does not reference a directory.
-
+ ENOTDIR A component of the path prefix is not a directory.
- EPERM The named file is a directory; the implementation does
- not support unlink() or unlinkat() on directories.
- The file or the parent directory has the immutable or
+ EPERM The file or the parent directory has the immutable or
nounlink system attribute set.
The file has the rtime system attribute set and the
@@ -136,6 +121,27 @@
+ The unlink() function will fail if:
+
+ EPERM The named file is a directory. Oracle Solaris does not support
+ unlink() on directories.
+
+
+
+ The unlinkat() function will fail if:
+
+ ENOTDIR The provided dirfd is not AT_FDCWD or does not reference a
+ directory.
+
+ The named file is not a directory and AT_REMOVEDIR was set
+ in the flag argument.
+
+
+ EPERM The named file is a directory and AT_REMOVEDIR was not set
+ in the flag argument.
+
+
+
The unlink() and unlinkat() functions may fail if:
ENAMETOOLONG Pathname resolution of a symbolic link produced an
@@ -147,9 +153,6 @@
cuted.
-USAGE
- Applications should use rmdir(2) to remove a directory.
-
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
@@ -166,6 +169,19 @@
rm(1), close(2), link(2), open(2), rmdir(2), remove(3C), attributes(7),
fsattr(7), privileges(7), sysattr(7)
+HISTORY
+ Support for unlinking directories was removed in the Oracle Solaris
+ 11.2.0 release. Prior to that change, the behavior was filesystem
+ dependent. UFS allowed it for privileged users. It has never been sup-
+ ported by ZFS.
+
+
+ The unlinkat() function was added in the Solaris 9 release.
+
+
+ The unlink() function has been included in all Sun and Oracle releases
+ of Solaris.
+
-Oracle Solaris 11.4 21 Mar 2022 unlink(2)
+Oracle Solaris 11.4 30 Jan 2023 unlink(2)
diff -NurbBw 11.4.54/man2/utimes.2 11.4.57/man2/utimes.2
--- 11.4.54/man2/utimes.2 2023-05-24 15:26:49.972703360 -0700
+++ 11.4.57/man2/utimes.2 2023-05-24 15:27:29.330713136 -0700
@@ -65,8 +65,8 @@
descriptor.
- EINTR A signal was caught during the execution of the
- utimes() function.
+ EINTR A signal was caught during the execution of the func-
+ tion.
EINVAL The number of microseconds specified in one or both of
@@ -145,6 +145,13 @@
futimens(2), stat(2), utime(2), attributes(7), fsattr(7), standards(7),
sysattr(7)
+HISTORY
+ The futimesat() function was added in the Solaris 9 release.
-Oracle Solaris 11.4 2 Jun 2022 utimes(2)
+ The utimes() function has been included in all Sun and Oracle releases
+ of Solaris.
+
+
+
+Oracle Solaris 11.4 30 Jan 2023 utimes(2)
diff -NurbBw 11.4.54/man2/waitid.2 11.4.57/man2/waitid.2
--- 11.4.54/man2/waitid.2 2023-05-24 15:26:50.008994474 -0700
+++ 11.4.57/man2/waitid.2 2023-05-24 15:27:29.370126341 -0700
@@ -11,10 +11,18 @@
int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options);
DESCRIPTION
- The waitid() function suspends the calling process until one of its
- child processes changes state. It records the current state of a child
- in the structure pointed to by infop. It returns immediately if a child
- process changed state prior to the call.
+ The waitid() function obtains status information pertaining to termina-
+ tion, stop, and/or continue events in one of the caller's child pro-
+ cesses. The calling thread blocks until an error occurs, or status
+ information becomes available to the calling thread. This occurs when
+ information is available for one of the child processes specified by
+ the idtype and id arguments, and the state change matches one of the
+ state change flags set in the options argument.
+
+
+ waitid() records the current state of a child in the structure pointed
+ to by infop. It returns immediately if a child process changed state
+ prior to the call.
The idtype and id arguments specify which children waitid() is to wait
@@ -122,6 +130,9 @@
ptrace(3C), signal(3C), wait(3C), waitpid(3C), siginfo.h(3HEAD),
attributes(7), standards(7)
+HISTORY
+ The waitid() function has been included in Solaris since Solaris 2.0.
+
-Oracle Solaris 11.4 9 Jun 2004 waitid(2)
+Oracle Solaris 11.4 30 Jan 2023 waitid(2)
diff -NurbBw 11.4.54/man2/wracct.2 11.4.57/man2/wracct.2
--- 11.4.54/man2/wracct.2 2023-05-24 15:26:50.071500416 -0700
+++ 11.4.57/man2/wracct.2 2023-05-24 15:27:29.416713542 -0700
@@ -11,7 +11,8 @@
size_t getacct(idtype_t idtype, id_t id, void *buf, size_t bufsize);
- int putacct(idtype_t idtype, id_t id, void *buf, size_t bufsize, int flags);
+ int putacct(idtype_t idtype, id_t id, void *buf, size_t bufsize,
+ int flags);
int wracct(idtype_t idtype, id_t id, int flags);
@@ -90,7 +91,7 @@
effective set of the calling process.
- ERSCH The id argument does not refer to a presently active sys-
+ ESRCH The id argument does not refer to a presently active sys-
tem task ID or process ID.
@@ -107,12 +108,20 @@
+-----------------------------+-----------------------------+
|ATTRIBUTE TYPE |ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
+ |Interface Stability |Committed |
+ +-----------------------------+-----------------------------+
|MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
+ |Standard |None |
+ +-----------------------------+-----------------------------+
SEE ALSO
libexacct(3LIB), ea_pack_object(3EXACCT), attributes(7), standards(7)
+HISTORY
+ The Extended Accounting facility, including the getacct(), putacct(),
+ and wracct() functions, was added in the Solaris 8 release.
+
-Oracle Solaris 11.4 3 Nov 2021 getacct(2)
+Oracle Solaris 11.4 30 Jan 2023 getacct(2)
diff -NurbBw 11.4.54/man2/write.2 11.4.57/man2/write.2
--- 11.4.54/man2/write.2 2023-05-24 15:26:50.147748713 -0700
+++ 11.4.57/man2/write.2 2023-05-24 15:27:29.488274932 -0700
@@ -31,11 +31,11 @@
On a regular file or other file capable of seeking, the actual writing
of data proceeds from the position in the file indicated by the file
- offset associated with fildes. Before successful return from write(),
- the file offset is incremented by the number of bytes actually written.
- On a regular file, if this incremented file offset is greater than the
- length of the file, the length of the file will be set to this file
- offset.
+ pointer associated with fildes. Before successful return from write(),
+ the file pointer is incremented by the number of bytes actually writ-
+ ten. On a regular file, if the resulting file pointer is incremented to
+ a position past the current length of the file, the file length is
+ updated as well.
If the O_SYNC bit has been set, write I/O operations on the file
@@ -43,19 +43,19 @@
pletion.
- If fildes refers to a socket, write() is equivalent to send. with no
+ If fildes refers to a socket, write() is equivalent to send(3C) with no
flags set.
On a file not capable of seeking, writing always takes place starting
- at the current position. The value of a file offset associated with
- such a device is undefined.
+ at the current position. The value of a file pointer associated with
+ such a file is undefined.
- If the O_APPEND flag of the file status flags is set, the file offset
+ If the O_APPEND flag of the file status flags is set, the file pointer
will be set to the end of the file prior to each write and no interven-
ing file modification operation will occur between changing the file
- offset and the write operation.
+ pointer and the write operation.
For regular files, no data transfer will occur past the offset maximum
@@ -114,7 +114,7 @@
Write requests to a pipe or FIFO are handled the same as a regular file
with the following exceptions:
- o There is no file offset associated with a pipe, hence each
+ o There is no file pointer associated with a pipe, hence each
write request appends to the end of the pipe.
@@ -169,7 +169,7 @@
mode may be cleared.
- For streams files (see Intro(2) and streamio(4I)), the operation of
+ For STREAMS files (see Intro(2) and streamio(4I)), the operation of
write() is determined by the values of the minimum and maximum nbyte
range ("packet size") accepted by the stream. These values are con-
tained in the topmost stream module, and can not be set or tested from
@@ -214,9 +214,9 @@
reflects the prior error.
pwrite()
- The pwrite() function is equivalent to write(), except that it writes
- into a given position and does not change the file offset (regardless
- of whether O_APPEND is set). The first three arguments to pwrite() are
+ The pwrite() function is equivalent to write(), except that the write
+ occurs at a user specified offset, without regard for O_APPEND, and the
+ file pointer is not changed. The first three arguments to pwrite() are
the same as write(), with the addition of a fourth argument offset for
the desired position inside the file.
@@ -251,12 +251,18 @@
RETURN VALUES
Upon successful completion, write() returns the number of bytes actu-
ally written to the file associated with fildes. This number is never
- greater than nbyte. Otherwise, -1 is returned, the file-pointer remains
+ greater than nbyte. Otherwise, -1 is returned, the file pointer remains
unchanged, and errno is set to indicate the error.
+ Upon successful completion, pwrite() returns the number of bytes actu-
+ ally written to the file associated with fildes. This number is never
+ greater than nbyte. Otherwise, -1 is returned, and errno is set to
+ indicate the error.
+
+
Upon successful completion, writev() returns the number of bytes actu-
- ally written. Otherwise, it returns -1, the file-pointer remains
+ ally written. Otherwise, it returns -1, the file pointer remains
unchanged, and errno is set to indicate an error.
ERRORS
@@ -360,10 +366,10 @@
- The pwrite() function fails and the file pointer remains unchanged if:
+ The pwrite() function fails if:
- ESPIPE The fildes argument is associated with a pipe or FIFO or
- socket.
+ ESPIPE The fildes argument is associated with a file that is inca-
+ pable of seeking, such as a pipe, FIFO, or socket.
@@ -407,16 +413,23 @@
+-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
- |MT-Level |write() is Async-Signal-Safe |
+ |MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
|Standard |See standards(7). |
+-----------------------------+-----------------------------+
SEE ALSO
chmod(2), creat(2), dup(2), fcntl(2), getrlimit(2), Intro(2), ioctl(2),
- lseek(2), open(2), pipe(2), ulimit(2), streamio(4I), attributes(7),
- lf64(7), standards(7), sysattr(7)
+ lseek(2), open(2), pipe(2), ulimit(2), send(3C), streamio(4I),
+ attributes(7), lf64(7), standards(7), sysattr(7)
+
+HISTORY
+ The pwrite() function was added to Solaris in Solaris 2.0.
+
+
+ The write() and writev() functions have been included in all Sun and
+ Oracle releases of Solaris.
-Oracle Solaris 11.4 21 Mar 2022 write(2)
+Oracle Solaris 11.4 30 Jan 2023 write(2)
diff -NurbBw 11.4.54/man2/writev.2 11.4.57/man2/writev.2
--- 11.4.54/man2/writev.2 2023-05-24 15:26:50.204683308 -0700
+++ 11.4.57/man2/writev.2 2023-05-24 15:27:29.529445258 -0700
@@ -31,11 +31,11 @@
On a regular file or other file capable of seeking, the actual writing
of data proceeds from the position in the file indicated by the file
- offset associated with fildes. Before successful return from write(),
- the file offset is incremented by the number of bytes actually written.
- On a regular file, if this incremented file offset is greater than the
- length of the file, the length of the file will be set to this file
- offset.
+ pointer associated with fildes. Before successful return from write(),
+ the file pointer is incremented by the number of bytes actually writ-
+ ten. On a regular file, if the resulting file pointer is incremented to
+ a position past the current length of the file, the file length is
+ updated as well.
If the O_SYNC bit has been set, write I/O operations on the file
@@ -43,19 +43,19 @@
pletion.
- If fildes refers to a socket, write() is equivalent to send. with no
+ If fildes refers to a socket, write() is equivalent to send(3C) with no
flags set.
On a file not capable of seeking, writing always takes place starting
- at the current position. The value of a file offset associated with
- such a device is undefined.
+ at the current position. The value of a file pointer associated with
+ such a file is undefined.
- If the O_APPEND flag of the file status flags is set, the file offset
+ If the O_APPEND flag of the file status flags is set, the file pointer
will be set to the end of the file prior to each write and no interven-
ing file modification operation will occur between changing the file
- offset and the write operation.
+ pointer and the write operation.
For regular files, no data transfer will occur past the offset maximum
@@ -114,7 +114,7 @@
Write requests to a pipe or FIFO are handled the same as a regular file
with the following exceptions:
- o There is no file offset associated with a pipe, hence each
+ o There is no file pointer associated with a pipe, hence each
write request appends to the end of the pipe.
@@ -169,7 +169,7 @@
mode may be cleared.
- For streams files (see Intro(2) and streamio(4I)), the operation of
+ For STREAMS files (see Intro(2) and streamio(4I)), the operation of
write() is determined by the values of the minimum and maximum nbyte
range ("packet size") accepted by the stream. These values are con-
tained in the topmost stream module, and can not be set or tested from
@@ -214,9 +214,9 @@
reflects the prior error.
pwrite()
- The pwrite() function is equivalent to write(), except that it writes
- into a given position and does not change the file offset (regardless
- of whether O_APPEND is set). The first three arguments to pwrite() are
+ The pwrite() function is equivalent to write(), except that the write
+ occurs at a user specified offset, without regard for O_APPEND, and the
+ file pointer is not changed. The first three arguments to pwrite() are
the same as write(), with the addition of a fourth argument offset for
the desired position inside the file.
@@ -251,12 +251,18 @@
RETURN VALUES
Upon successful completion, write() returns the number of bytes actu-
ally written to the file associated with fildes. This number is never
- greater than nbyte. Otherwise, -1 is returned, the file-pointer remains
+ greater than nbyte. Otherwise, -1 is returned, the file pointer remains
unchanged, and errno is set to indicate the error.
+ Upon successful completion, pwrite() returns the number of bytes actu-
+ ally written to the file associated with fildes. This number is never
+ greater than nbyte. Otherwise, -1 is returned, and errno is set to
+ indicate the error.
+
+
Upon successful completion, writev() returns the number of bytes actu-
- ally written. Otherwise, it returns -1, the file-pointer remains
+ ally written. Otherwise, it returns -1, the file pointer remains
unchanged, and errno is set to indicate an error.
ERRORS
@@ -360,10 +366,10 @@
- The pwrite() function fails and the file pointer remains unchanged if:
+ The pwrite() function fails if:
- ESPIPE The fildes argument is associated with a pipe or FIFO or
- socket.
+ ESPIPE The fildes argument is associated with a file that is inca-
+ pable of seeking, such as a pipe, FIFO, or socket.
@@ -407,16 +413,23 @@
+-----------------------------+-----------------------------+
|Interface Stability |Committed |
+-----------------------------+-----------------------------+
- |MT-Level |write() is Async-Signal-Safe |
+ |MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
|Standard |See standards(7). |
+-----------------------------+-----------------------------+
SEE ALSO
chmod(2), creat(2), dup(2), fcntl(2), getrlimit(2), Intro(2), ioctl(2),
- lseek(2), open(2), pipe(2), ulimit(2), streamio(4I), attributes(7),
- lf64(7), standards(7), sysattr(7)
+ lseek(2), open(2), pipe(2), ulimit(2), send(3C), streamio(4I),
+ attributes(7), lf64(7), standards(7), sysattr(7)
+
+HISTORY
+ The pwrite() function was added to Solaris in Solaris 2.0.
+
+
+ The write() and writev() functions have been included in all Sun and
+ Oracle releases of Solaris.
-Oracle Solaris 11.4 21 Mar 2022 write(2)
+Oracle Solaris 11.4 30 Jan 2023 write(2)
diff -NurbBw 11.4.54/man3c/core_get_process_content.3c 11.4.57/man3c/core_get_process_content.3c
--- 11.4.54/man3c/core_get_process_content.3c 2023-05-24 15:26:50.237201789 -0700
+++ 11.4.57/man3c/core_get_process_content.3c 2023-05-24 15:27:29.558016869 -0700
@@ -113,8 +113,8 @@
EINVAL Invalid path
- ENOSUP Privileged user tries to enable writing core file in a set-id
- process, but set-id core files global property is not
+ ENOTSUP Privileged user tries to enable writing core file in a set-
+ id process, but set-id core files global property is not
enabled. See coreadm(8).
@@ -255,5 +255,5 @@
-Oracle Solaris 11.4 4 April 2022
+Oracle Solaris 11.4 23 Jan 2023
core_set_process_content(3C)
diff -NurbBw 11.4.54/man3c/core_get_process_path.3c 11.4.57/man3c/core_get_process_path.3c
--- 11.4.54/man3c/core_get_process_path.3c 2023-05-24 15:26:50.266064381 -0700
+++ 11.4.57/man3c/core_get_process_path.3c 2023-05-24 15:27:29.588938476 -0700
@@ -113,8 +113,8 @@
EINVAL Invalid path
- ENOSUP Privileged user tries to enable writing core file in a set-id
- process, but set-id core files global property is not
+ ENOTSUP Privileged user tries to enable writing core file in a set-
+ id process, but set-id core files global property is not
enabled. See coreadm(8).
@@ -255,5 +255,5 @@
-Oracle Solaris 11.4 4 April 2022
+Oracle Solaris 11.4 23 Jan 2023
core_set_process_content(3C)
diff -NurbBw 11.4.54/man3c/core_set_process_content.3c 11.4.57/man3c/core_set_process_content.3c
--- 11.4.54/man3c/core_set_process_content.3c 2023-05-24 15:26:50.300445205 -0700
+++ 11.4.57/man3c/core_set_process_content.3c 2023-05-24 15:27:29.638462710 -0700
@@ -113,8 +113,8 @@
EINVAL Invalid path
- ENOSUP Privileged user tries to enable writing core file in a set-id
- process, but set-id core files global property is not
+ ENOTSUP Privileged user tries to enable writing core file in a set-
+ id process, but set-id core files global property is not
enabled. See coreadm(8).
@@ -255,5 +255,5 @@
-Oracle Solaris 11.4 4 April 2022
+Oracle Solaris 11.4 23 Jan 2023
core_set_process_content(3C)
diff -NurbBw 11.4.54/man3c/core_set_process_path.3c 11.4.57/man3c/core_set_process_path.3c
--- 11.4.54/man3c/core_set_process_path.3c 2023-05-24 15:26:50.349272754 -0700
+++ 11.4.57/man3c/core_set_process_path.3c 2023-05-24 15:27:29.710642436 -0700
@@ -113,8 +113,8 @@
EINVAL Invalid path
- ENOSUP Privileged user tries to enable writing core file in a set-id
- process, but set-id core files global property is not
+ ENOTSUP Privileged user tries to enable writing core file in a set-
+ id process, but set-id core files global property is not
enabled. See coreadm(8).
@@ -255,5 +255,5 @@
-Oracle Solaris 11.4 4 April 2022
+Oracle Solaris 11.4 23 Jan 2023
core_set_process_content(3C)
diff -NurbBw 11.4.54/man3c/dlmopen.3c 11.4.57/man3c/dlmopen.3c
--- 11.4.54/man3c/dlmopen.3c 2023-05-24 15:26:50.413578108 -0700
+++ 11.4.57/man3c/dlmopen.3c 2023-05-24 15:27:29.755865698 -0700
@@ -280,17 +280,39 @@
Oracle Solaris 11.4 Linkers and Libraries Guide
NOTES
- If pathname has dependencies on other objects, these objects are auto-
- matically loaded by dlopen(). The directory search path used to find
- pathname and any dependencies can be affected by setting the environ-
- ment variable LD_LIBRARY_PATH. Any LD_LIBRARY_PATH variable is analyzed
- once at process startup. The search path can also be affected from a
- runpath setting within the object from which the call to dlopen() orig-
- inates. These search rules will only be applied to path names that do
- not contain an embedded '/'. Objects whose names resolve to the same
- absolute path name or relative path name can be opened any number of
- times using dlopen(). However, the object that is referenced will only
- be loaded once into the address space of the current process.
+ dlopen() provides a callable interface to the standard object loading
+ functionality provided by the runtime linker. If pathname has dependen-
+ cies on other objects, these objects are automatically loaded by
+ dlopen() in the usual manner. See ld.so.1(1), and Directories Searched
+ by the Link-Editor in Oracle Solaris 11.4 Linkers and Libraries Guide.
+
+ o The directory search path used to find pathname and any
+ dependencies can be affected by setting environment vari-
+ ables such as LD_LIBRARY_PATH. Such environment variables
+ are are analyzed once at process startup.
+
+
+ o The search path can also be affected from a runpath setting
+ within the object from which the call to dlopen() origi-
+ nates.
+
+
+ o As with any object load operation, dependencies of dependen-
+ cies are also loaded. The search for such subdependencies is
+ carried out in the usual manner, using the runpath contained
+ in the objects that require them.
+
+
+ o These search rules will only be applied to path names that
+ do not contain an embedded '/'. If an embedded '/' is
+ present, the path is loaded as given.
+
+
+
+ Objects whose names resolve to the same absolute path name or relative
+ path name can be opened any number of times using dlopen(). However,
+ the object that is referenced will only be loaded once into the address
+ space of the current process.
When loading shared objects, the application should open a specific
@@ -337,4 +359,4 @@
-Oracle Solaris 11.4 11 May 2021 dlopen(3C)
+Oracle Solaris 11.4 21 February 2023 dlopen(3C)
diff -NurbBw 11.4.54/man3c/dlopen.3c 11.4.57/man3c/dlopen.3c
--- 11.4.54/man3c/dlopen.3c 2023-05-24 15:26:50.463238472 -0700
+++ 11.4.57/man3c/dlopen.3c 2023-05-24 15:27:29.799252860 -0700
@@ -280,17 +280,39 @@
Oracle Solaris 11.4 Linkers and Libraries Guide
NOTES
- If pathname has dependencies on other objects, these objects are auto-
- matically loaded by dlopen(). The directory search path used to find
- pathname and any dependencies can be affected by setting the environ-
- ment variable LD_LIBRARY_PATH. Any LD_LIBRARY_PATH variable is analyzed
- once at process startup. The search path can also be affected from a
- runpath setting within the object from which the call to dlopen() orig-
- inates. These search rules will only be applied to path names that do
- not contain an embedded '/'. Objects whose names resolve to the same
- absolute path name or relative path name can be opened any number of
- times using dlopen(). However, the object that is referenced will only
- be loaded once into the address space of the current process.
+ dlopen() provides a callable interface to the standard object loading
+ functionality provided by the runtime linker. If pathname has dependen-
+ cies on other objects, these objects are automatically loaded by
+ dlopen() in the usual manner. See ld.so.1(1), and Directories Searched
+ by the Link-Editor in Oracle Solaris 11.4 Linkers and Libraries Guide.
+
+ o The directory search path used to find pathname and any
+ dependencies can be affected by setting environment vari-
+ ables such as LD_LIBRARY_PATH. Such environment variables
+ are are analyzed once at process startup.
+
+
+ o The search path can also be affected from a runpath setting
+ within the object from which the call to dlopen() origi-
+ nates.
+
+
+ o As with any object load operation, dependencies of dependen-
+ cies are also loaded. The search for such subdependencies is
+ carried out in the usual manner, using the runpath contained
+ in the objects that require them.
+
+
+ o These search rules will only be applied to path names that
+ do not contain an embedded '/'. If an embedded '/' is
+ present, the path is loaded as given.
+
+
+
+ Objects whose names resolve to the same absolute path name or relative
+ path name can be opened any number of times using dlopen(). However,
+ the object that is referenced will only be loaded once into the address
+ space of the current process.
When loading shared objects, the application should open a specific
@@ -337,4 +359,4 @@
-Oracle Solaris 11.4 11 May 2021 dlopen(3C)
+Oracle Solaris 11.4 21 February 2023 dlopen(3C)
diff -NurbBw 11.4.54/man3c/enable_extended_FILE_stdio.3c 11.4.57/man3c/enable_extended_FILE_stdio.3c
--- 11.4.54/man3c/enable_extended_FILE_stdio.3c 2023-05-24 15:26:50.515309605 -0700
+++ 11.4.57/man3c/enable_extended_FILE_stdio.3c 2023-05-24 15:27:29.828809188 -0700
@@ -268,11 +268,11 @@
in the Solaris 10 8/07 (Update 4) release.
- The system library was modified to automatically call the the
+ The system library was modified to automatically call the
enable_extended_FILE_stdio() function as described above in the Oracle
Solaris 11.4.0 release.
-Oracle Solaris 11.4 4 Aug 2022
+Oracle Solaris 11.4 10 Mar 2023
enable_extended_FILE_stdio(3C)
diff -NurbBw 11.4.54/man3devinfo/devfs_dev_to_prom_name.3devinfo 11.4.57/man3devinfo/devfs_dev_to_prom_name.3devinfo
--- 11.4.54/man3devinfo/devfs_dev_to_prom_name.3devinfo 2023-05-24 15:26:50.554683281 -0700
+++ 11.4.57/man3devinfo/devfs_dev_to_prom_name.3devinfo 2023-05-24 15:27:29.867115370 -0700
@@ -43,7 +43,7 @@
If dev_path is invalid.
- DEVFS_NOTUUP Prom is not supported on the platform.
+ DEVFS_NOTSUP Prom is not supported on the platform.
DEVFS_PERM No permission to read prom.
@@ -57,5 +57,5 @@
-Oracle Solaris 11.4 22 May 2017
+Oracle Solaris 11.4 23 Jan 2023
devfs_dev_to_prom_name(3DEVINFO)
diff -NurbBw 11.4.54/man3exacct/ea_alloc.3exacct 11.4.57/man3exacct/ea_alloc.3exacct
--- 11.4.54/man3exacct/ea_alloc.3exacct 2023-05-24 15:26:50.582690792 -0700
+++ 11.4.57/man3exacct/ea_alloc.3exacct 2023-05-24 15:27:29.906923557 -0700
@@ -110,11 +110,11 @@
tions may fail if:
EXR_SYSCALL_FAIL A system call invoked by the function failed. The
- errno variable contains the error value set by
- the underlying call.
+ errno variable contains the error value set by the
+ underlying call.
- EXR_INVALID_OBJECT The passed object is of an incorrect type, for
+ EXR_INVALID_OBJ The passed object is of an incorrect type, for
example passing a group object to ea_set_item().
@@ -168,4 +168,4 @@
-Oracle Solaris 11.4 28 Nov 2001 ea_set_item(3EXACCT)
+Oracle Solaris 11.4 23 Jan 2023 ea_set_item(3EXACCT)
diff -NurbBw 11.4.54/man3exacct/ea_attach_to_group.3exacct 11.4.57/man3exacct/ea_attach_to_group.3exacct
--- 11.4.54/man3exacct/ea_attach_to_group.3exacct 2023-05-24 15:26:50.638605589 -0700
+++ 11.4.57/man3exacct/ea_attach_to_group.3exacct 2023-05-24 15:27:29.943429089 -0700
@@ -110,11 +110,11 @@
tions may fail if:
EXR_SYSCALL_FAIL A system call invoked by the function failed. The
- errno variable contains the error value set by
- the underlying call.
+ errno variable contains the error value set by the
+ underlying call.
- EXR_INVALID_OBJECT The passed object is of an incorrect type, for
+ EXR_INVALID_OBJ The passed object is of an incorrect type, for
example passing a group object to ea_set_item().
@@ -168,4 +168,4 @@
-Oracle Solaris 11.4 28 Nov 2001 ea_set_item(3EXACCT)
+Oracle Solaris 11.4 23 Jan 2023 ea_set_item(3EXACCT)
diff -NurbBw 11.4.54/man3exacct/ea_attach_to_object.3exacct 11.4.57/man3exacct/ea_attach_to_object.3exacct
--- 11.4.54/man3exacct/ea_attach_to_object.3exacct 2023-05-24 15:26:50.691484952 -0700
+++ 11.4.57/man3exacct/ea_attach_to_object.3exacct 2023-05-24 15:27:29.979982936 -0700
@@ -110,11 +110,11 @@
tions may fail if:
EXR_SYSCALL_FAIL A system call invoked by the function failed. The
- errno variable contains the error value set by
- the underlying call.
+ errno variable contains the error value set by the
+ underlying call.
- EXR_INVALID_OBJECT The passed object is of an incorrect type, for
+ EXR_INVALID_OBJ The passed object is of an incorrect type, for
example passing a group object to ea_set_item().
@@ -168,4 +168,4 @@
-Oracle Solaris 11.4 28 Nov 2001 ea_set_item(3EXACCT)
+Oracle Solaris 11.4 23 Jan 2023 ea_set_item(3EXACCT)
diff -NurbBw 11.4.54/man3exacct/ea_free_item.3exacct 11.4.57/man3exacct/ea_free_item.3exacct
--- 11.4.54/man3exacct/ea_free_item.3exacct 2023-05-24 15:26:50.747154540 -0700
+++ 11.4.57/man3exacct/ea_free_item.3exacct 2023-05-24 15:27:30.009469348 -0700
@@ -110,11 +110,11 @@
tions may fail if:
EXR_SYSCALL_FAIL A system call invoked by the function failed. The
- errno variable contains the error value set by
- the underlying call.
+ errno variable contains the error value set by the
+ underlying call.
- EXR_INVALID_OBJECT The passed object is of an incorrect type, for
+ EXR_INVALID_OBJ The passed object is of an incorrect type, for
example passing a group object to ea_set_item().
@@ -168,4 +168,4 @@
-Oracle Solaris 11.4 28 Nov 2001 ea_set_item(3EXACCT)
+Oracle Solaris 11.4 23 Jan 2023 ea_set_item(3EXACCT)
diff -NurbBw 11.4.54/man3exacct/ea_free_object.3exacct 11.4.57/man3exacct/ea_free_object.3exacct
--- 11.4.54/man3exacct/ea_free_object.3exacct 2023-05-24 15:26:50.795138350 -0700
+++ 11.4.57/man3exacct/ea_free_object.3exacct 2023-05-24 15:27:30.039286027 -0700
@@ -110,11 +110,11 @@
tions may fail if:
EXR_SYSCALL_FAIL A system call invoked by the function failed. The
- errno variable contains the error value set by
- the underlying call.
+ errno variable contains the error value set by the
+ underlying call.
- EXR_INVALID_OBJECT The passed object is of an incorrect type, for
+ EXR_INVALID_OBJ The passed object is of an incorrect type, for
example passing a group object to ea_set_item().
@@ -168,4 +168,4 @@
-Oracle Solaris 11.4 28 Nov 2001 ea_set_item(3EXACCT)
+Oracle Solaris 11.4 23 Jan 2023 ea_set_item(3EXACCT)
diff -NurbBw 11.4.54/man3exacct/ea_free.3exacct 11.4.57/man3exacct/ea_free.3exacct
--- 11.4.54/man3exacct/ea_free.3exacct 2023-05-24 15:26:50.836365141 -0700
+++ 11.4.57/man3exacct/ea_free.3exacct 2023-05-24 15:27:30.078880918 -0700
@@ -110,11 +110,11 @@
tions may fail if:
EXR_SYSCALL_FAIL A system call invoked by the function failed. The
- errno variable contains the error value set by
- the underlying call.
+ errno variable contains the error value set by the
+ underlying call.
- EXR_INVALID_OBJECT The passed object is of an incorrect type, for
+ EXR_INVALID_OBJ The passed object is of an incorrect type, for
example passing a group object to ea_set_item().
@@ -168,4 +168,4 @@
-Oracle Solaris 11.4 28 Nov 2001 ea_set_item(3EXACCT)
+Oracle Solaris 11.4 23 Jan 2023 ea_set_item(3EXACCT)
diff -NurbBw 11.4.54/man3exacct/ea_match_object_catalog.3exacct 11.4.57/man3exacct/ea_match_object_catalog.3exacct
--- 11.4.54/man3exacct/ea_match_object_catalog.3exacct 2023-05-24 15:26:50.869332258 -0700
+++ 11.4.57/man3exacct/ea_match_object_catalog.3exacct 2023-05-24 15:27:30.108534208 -0700
@@ -110,11 +110,11 @@
tions may fail if:
EXR_SYSCALL_FAIL A system call invoked by the function failed. The
- errno variable contains the error value set by
- the underlying call.
+ errno variable contains the error value set by the
+ underlying call.
- EXR_INVALID_OBJECT The passed object is of an incorrect type, for
+ EXR_INVALID_OBJ The passed object is of an incorrect type, for
example passing a group object to ea_set_item().
@@ -168,4 +168,4 @@
-Oracle Solaris 11.4 28 Nov 2001 ea_set_item(3EXACCT)
+Oracle Solaris 11.4 23 Jan 2023 ea_set_item(3EXACCT)
diff -NurbBw 11.4.54/man3exacct/ea_set_group.3exacct 11.4.57/man3exacct/ea_set_group.3exacct
--- 11.4.54/man3exacct/ea_set_group.3exacct 2023-05-24 15:26:50.905901406 -0700
+++ 11.4.57/man3exacct/ea_set_group.3exacct 2023-05-24 15:27:30.141656029 -0700
@@ -110,11 +110,11 @@
tions may fail if:
EXR_SYSCALL_FAIL A system call invoked by the function failed. The
- errno variable contains the error value set by
- the underlying call.
+ errno variable contains the error value set by the
+ underlying call.
- EXR_INVALID_OBJECT The passed object is of an incorrect type, for
+ EXR_INVALID_OBJ The passed object is of an incorrect type, for
example passing a group object to ea_set_item().
@@ -168,4 +168,4 @@
-Oracle Solaris 11.4 28 Nov 2001 ea_set_item(3EXACCT)
+Oracle Solaris 11.4 23 Jan 2023 ea_set_item(3EXACCT)
diff -NurbBw 11.4.54/man3exacct/ea_set_item.3exacct 11.4.57/man3exacct/ea_set_item.3exacct
--- 11.4.54/man3exacct/ea_set_item.3exacct 2023-05-24 15:26:50.933334174 -0700
+++ 11.4.57/man3exacct/ea_set_item.3exacct 2023-05-24 15:27:30.170271798 -0700
@@ -110,11 +110,11 @@
tions may fail if:
EXR_SYSCALL_FAIL A system call invoked by the function failed. The
- errno variable contains the error value set by
- the underlying call.
+ errno variable contains the error value set by the
+ underlying call.
- EXR_INVALID_OBJECT The passed object is of an incorrect type, for
+ EXR_INVALID_OBJ The passed object is of an incorrect type, for
example passing a group object to ea_set_item().
@@ -168,4 +168,4 @@
-Oracle Solaris 11.4 28 Nov 2001 ea_set_item(3EXACCT)
+Oracle Solaris 11.4 23 Jan 2023 ea_set_item(3EXACCT)
diff -NurbBw 11.4.54/man3exacct/ea_strdup.3exacct 11.4.57/man3exacct/ea_strdup.3exacct
--- 11.4.54/man3exacct/ea_strdup.3exacct 2023-05-24 15:26:50.962472956 -0700
+++ 11.4.57/man3exacct/ea_strdup.3exacct 2023-05-24 15:27:30.200038829 -0700
@@ -110,11 +110,11 @@
tions may fail if:
EXR_SYSCALL_FAIL A system call invoked by the function failed. The
- errno variable contains the error value set by
- the underlying call.
+ errno variable contains the error value set by the
+ underlying call.
- EXR_INVALID_OBJECT The passed object is of an incorrect type, for
+ EXR_INVALID_OBJ The passed object is of an incorrect type, for
example passing a group object to ea_set_item().
@@ -168,4 +168,4 @@
-Oracle Solaris 11.4 28 Nov 2001 ea_set_item(3EXACCT)
+Oracle Solaris 11.4 23 Jan 2023 ea_set_item(3EXACCT)
diff -NurbBw 11.4.54/man3exacct/ea_strfree.3exacct 11.4.57/man3exacct/ea_strfree.3exacct
--- 11.4.54/man3exacct/ea_strfree.3exacct 2023-05-24 15:26:50.994954425 -0700
+++ 11.4.57/man3exacct/ea_strfree.3exacct 2023-05-24 15:27:30.230941705 -0700
@@ -110,11 +110,11 @@
tions may fail if:
EXR_SYSCALL_FAIL A system call invoked by the function failed. The
- errno variable contains the error value set by
- the underlying call.
+ errno variable contains the error value set by the
+ underlying call.
- EXR_INVALID_OBJECT The passed object is of an incorrect type, for
+ EXR_INVALID_OBJ The passed object is of an incorrect type, for
example passing a group object to ea_set_item().
@@ -168,4 +168,4 @@
-Oracle Solaris 11.4 28 Nov 2001 ea_set_item(3EXACCT)
+Oracle Solaris 11.4 23 Jan 2023 ea_set_item(3EXACCT)
diff -NurbBw 11.4.54/man3ext/read_extvtoc.3ext 11.4.57/man3ext/read_extvtoc.3ext
--- 11.4.54/man3ext/read_extvtoc.3ext 2023-05-24 15:26:51.031104491 -0700
+++ 11.4.57/man3ext/read_extvtoc.3ext 2023-05-24 15:27:30.259926997 -0700
@@ -50,8 +50,9 @@
VT_ERROR An unknown error occurred.
- VT_OVERFLOW The caller attempted an operation that is illegal on the
- disk and may overflow the fields in the data structure.
+ VT_EOVERFLOW The caller attempted an operation that is illegal on
+ the disk and may overflow the fields in the data struc-
+ ture.
@@ -71,8 +72,9 @@
VT_ERROR An unknown error occurred.
- VT_OVERFLOW The caller attempted an operation that is illegal on the
- disk and may overflow the fields in the data structure.
+ VT_EOVERFLOW The caller attempted an operation that is illegal on
+ the disk and may overflow the fields in the data struc-
+ ture.
ATTRIBUTES
@@ -95,4 +97,4 @@
-Oracle Solaris 11.4 23 Mar 2017 read_vtoc(3EXT)
+Oracle Solaris 11.4 23 Jan 2023 read_vtoc(3EXT)
diff -NurbBw 11.4.54/man3ext/read_vtoc.3ext 11.4.57/man3ext/read_vtoc.3ext
--- 11.4.54/man3ext/read_vtoc.3ext 2023-05-24 15:26:51.066720947 -0700
+++ 11.4.57/man3ext/read_vtoc.3ext 2023-05-24 15:27:30.289245213 -0700
@@ -50,8 +50,9 @@
VT_ERROR An unknown error occurred.
- VT_OVERFLOW The caller attempted an operation that is illegal on the
- disk and may overflow the fields in the data structure.
+ VT_EOVERFLOW The caller attempted an operation that is illegal on
+ the disk and may overflow the fields in the data struc-
+ ture.
@@ -71,8 +72,9 @@
VT_ERROR An unknown error occurred.
- VT_OVERFLOW The caller attempted an operation that is illegal on the
- disk and may overflow the fields in the data structure.
+ VT_EOVERFLOW The caller attempted an operation that is illegal on
+ the disk and may overflow the fields in the data struc-
+ ture.
ATTRIBUTES
@@ -95,4 +97,4 @@
-Oracle Solaris 11.4 23 Mar 2017 read_vtoc(3EXT)
+Oracle Solaris 11.4 23 Jan 2023 read_vtoc(3EXT)
diff -NurbBw 11.4.54/man3ext/write_extvtoc.3ext 11.4.57/man3ext/write_extvtoc.3ext
--- 11.4.54/man3ext/write_extvtoc.3ext 2023-05-24 15:26:51.099134037 -0700
+++ 11.4.57/man3ext/write_extvtoc.3ext 2023-05-24 15:27:30.317733022 -0700
@@ -50,8 +50,9 @@
VT_ERROR An unknown error occurred.
- VT_OVERFLOW The caller attempted an operation that is illegal on the
- disk and may overflow the fields in the data structure.
+ VT_EOVERFLOW The caller attempted an operation that is illegal on
+ the disk and may overflow the fields in the data struc-
+ ture.
@@ -71,8 +72,9 @@
VT_ERROR An unknown error occurred.
- VT_OVERFLOW The caller attempted an operation that is illegal on the
- disk and may overflow the fields in the data structure.
+ VT_EOVERFLOW The caller attempted an operation that is illegal on
+ the disk and may overflow the fields in the data struc-
+ ture.
ATTRIBUTES
@@ -95,4 +97,4 @@
-Oracle Solaris 11.4 23 Mar 2017 read_vtoc(3EXT)
+Oracle Solaris 11.4 23 Jan 2023 read_vtoc(3EXT)
diff -NurbBw 11.4.54/man3ext/write_vtoc.3ext 11.4.57/man3ext/write_vtoc.3ext
--- 11.4.54/man3ext/write_vtoc.3ext 2023-05-24 15:26:51.142345835 -0700
+++ 11.4.57/man3ext/write_vtoc.3ext 2023-05-24 15:27:30.346201241 -0700
@@ -50,8 +50,9 @@
VT_ERROR An unknown error occurred.
- VT_OVERFLOW The caller attempted an operation that is illegal on the
- disk and may overflow the fields in the data structure.
+ VT_EOVERFLOW The caller attempted an operation that is illegal on
+ the disk and may overflow the fields in the data struc-
+ ture.
@@ -71,8 +72,9 @@
VT_ERROR An unknown error occurred.
- VT_OVERFLOW The caller attempted an operation that is illegal on the
- disk and may overflow the fields in the data structure.
+ VT_EOVERFLOW The caller attempted an operation that is illegal on
+ the disk and may overflow the fields in the data struc-
+ ture.
ATTRIBUTES
@@ -95,4 +97,4 @@
-Oracle Solaris 11.4 23 Mar 2017 read_vtoc(3EXT)
+Oracle Solaris 11.4 23 Jan 2023 read_vtoc(3EXT)
diff -NurbBw 11.4.54/man3ima/IMA_GetPnpStatistics.3ima 11.4.57/man3ima/IMA_GetPnpStatistics.3ima
--- 11.4.54/man3ima/IMA_GetPnpStatistics.3ima 2023-05-24 15:26:51.169955398 -0700
+++ 11.4.57/man3ima/IMA_GetPnpStatistics.3ima 2023-05-24 15:27:30.375621724 -0700
@@ -79,5 +79,5 @@
-Oracle Solaris 11.4 21 July 20176
+Oracle Solaris 11.4 21 July 2016
IMA_GetPnpStatistics(3IMA)
diff -NurbBw 11.4.54/man3kstat2/kstat2_optional_list_free.3kstat2 11.4.57/man3kstat2/kstat2_optional_list_free.3kstat2
--- 11.4.54/man3kstat2/kstat2_optional_list_free.3kstat2 2023-05-24 15:26:51.219678016 -0700
+++ 11.4.57/man3kstat2/kstat2_optional_list_free.3kstat2 2023-05-24 15:27:30.406507486 -0700
@@ -70,7 +70,7 @@
The kstat2_optional_list() function will fail if:
- KSTAT_S_INVAL_ARG Handle, opt_array or entries are NULL
+ KSTAT2_S_INVAL_ARG Handle, opt_array or entries are NULL
KSTAT2_S_NO_MEM Not enough memory available to process the
@@ -82,7 +82,7 @@
The kstat2_optional_list_free() function will fail if:
- KSTAT_S_INVAL_ARG opt_array is NULL
+ KSTAT2_S_INVAL_ARG opt_array is NULL
@@ -119,5 +119,5 @@
-Oracle Solaris 11.4 06 Jul 2017
+Oracle Solaris 11.4 23 Jan 2023
kstat2_optional_set_state(3KSTAT2)
diff -NurbBw 11.4.54/man3kstat2/kstat2_optional_list.3kstat2 11.4.57/man3kstat2/kstat2_optional_list.3kstat2
--- 11.4.54/man3kstat2/kstat2_optional_list.3kstat2 2023-05-24 15:26:51.256460872 -0700
+++ 11.4.57/man3kstat2/kstat2_optional_list.3kstat2 2023-05-24 15:27:30.434570548 -0700
@@ -70,7 +70,7 @@
The kstat2_optional_list() function will fail if:
- KSTAT_S_INVAL_ARG Handle, opt_array or entries are NULL
+ KSTAT2_S_INVAL_ARG Handle, opt_array or entries are NULL
KSTAT2_S_NO_MEM Not enough memory available to process the
@@ -82,7 +82,7 @@
The kstat2_optional_list_free() function will fail if:
- KSTAT_S_INVAL_ARG opt_array is NULL
+ KSTAT2_S_INVAL_ARG opt_array is NULL
@@ -119,5 +119,5 @@
-Oracle Solaris 11.4 06 Jul 2017
+Oracle Solaris 11.4 23 Jan 2023
kstat2_optional_set_state(3KSTAT2)
diff -NurbBw 11.4.54/man3kstat2/kstat2_optional_set_state.3kstat2 11.4.57/man3kstat2/kstat2_optional_set_state.3kstat2
--- 11.4.54/man3kstat2/kstat2_optional_set_state.3kstat2 2023-05-24 15:26:51.283953699 -0700
+++ 11.4.57/man3kstat2/kstat2_optional_set_state.3kstat2 2023-05-24 15:27:30.463962308 -0700
@@ -70,7 +70,7 @@
The kstat2_optional_list() function will fail if:
- KSTAT_S_INVAL_ARG Handle, opt_array or entries are NULL
+ KSTAT2_S_INVAL_ARG Handle, opt_array or entries are NULL
KSTAT2_S_NO_MEM Not enough memory available to process the
@@ -82,7 +82,7 @@
The kstat2_optional_list_free() function will fail if:
- KSTAT_S_INVAL_ARG opt_array is NULL
+ KSTAT2_S_INVAL_ARG opt_array is NULL
@@ -119,5 +119,5 @@
-Oracle Solaris 11.4 06 Jul 2017
+Oracle Solaris 11.4 23 Jan 2023
kstat2_optional_set_state(3KSTAT2)
diff -NurbBw 11.4.54/man3sandbox/sandbox_create.3sandbox 11.4.57/man3sandbox/sandbox_create.3sandbox
--- 11.4.54/man3sandbox/sandbox_create.3sandbox 2023-05-24 15:26:51.331844362 -0700
+++ 11.4.57/man3sandbox/sandbox_create.3sandbox 2023-05-24 15:27:30.494210805 -0700
@@ -189,7 +189,7 @@
ENOENT The specified pathname does not exist.
- ENOSUP The filesystem does not support labeling.
+ ENOTSUP The filesystem does not support labeling.
EPERM Insufficient process privileges.
@@ -233,4 +233,4 @@
-Oracle Solaris 11.4 15 Apr 2019 sandbox_create(3SANDBOX)
+Oracle Solaris 11.4 23 Jan 2023 sandbox_create(3SANDBOX)
diff -NurbBw 11.4.54/man3sandbox/sandbox_destroy.3sandbox 11.4.57/man3sandbox/sandbox_destroy.3sandbox
--- 11.4.54/man3sandbox/sandbox_destroy.3sandbox 2023-05-24 15:26:51.360948594 -0700
+++ 11.4.57/man3sandbox/sandbox_destroy.3sandbox 2023-05-24 15:27:30.525082541 -0700
@@ -189,7 +189,7 @@
ENOENT The specified pathname does not exist.
- ENOSUP The filesystem does not support labeling.
+ ENOTSUP The filesystem does not support labeling.
EPERM Insufficient process privileges.
@@ -233,4 +233,4 @@
-Oracle Solaris 11.4 15 Apr 2019 sandbox_create(3SANDBOX)
+Oracle Solaris 11.4 23 Jan 2023 sandbox_create(3SANDBOX)
diff -NurbBw 11.4.54/man3sandbox/sandbox_enter.3sandbox 11.4.57/man3sandbox/sandbox_enter.3sandbox
--- 11.4.54/man3sandbox/sandbox_enter.3sandbox 2023-05-24 15:26:51.391199882 -0700
+++ 11.4.57/man3sandbox/sandbox_enter.3sandbox 2023-05-24 15:27:30.553874491 -0700
@@ -189,7 +189,7 @@
ENOENT The specified pathname does not exist.
- ENOSUP The filesystem does not support labeling.
+ ENOTSUP The filesystem does not support labeling.
EPERM Insufficient process privileges.
@@ -233,4 +233,4 @@
-Oracle Solaris 11.4 15 Apr 2019 sandbox_create(3SANDBOX)
+Oracle Solaris 11.4 23 Jan 2023 sandbox_create(3SANDBOX)
diff -NurbBw 11.4.54/man3sandbox/sandbox_exit.3sandbox 11.4.57/man3sandbox/sandbox_exit.3sandbox
--- 11.4.54/man3sandbox/sandbox_exit.3sandbox 2023-05-24 15:26:51.421875730 -0700
+++ 11.4.57/man3sandbox/sandbox_exit.3sandbox 2023-05-24 15:27:30.583360276 -0700
@@ -189,7 +189,7 @@
ENOENT The specified pathname does not exist.
- ENOSUP The filesystem does not support labeling.
+ ENOTSUP The filesystem does not support labeling.
EPERM Insufficient process privileges.
@@ -233,4 +233,4 @@
-Oracle Solaris 11.4 15 Apr 2019 sandbox_create(3SANDBOX)
+Oracle Solaris 11.4 23 Jan 2023 sandbox_create(3SANDBOX)
diff -NurbBw 11.4.54/man3sandbox/sandbox_getattrs.3sandbox 11.4.57/man3sandbox/sandbox_getattrs.3sandbox
--- 11.4.54/man3sandbox/sandbox_getattrs.3sandbox 2023-05-24 15:26:51.459805782 -0700
+++ 11.4.57/man3sandbox/sandbox_getattrs.3sandbox 2023-05-24 15:27:30.617211584 -0700
@@ -189,7 +189,7 @@
ENOENT The specified pathname does not exist.
- ENOSUP The filesystem does not support labeling.
+ ENOTSUP The filesystem does not support labeling.
EPERM Insufficient process privileges.
@@ -233,4 +233,4 @@
-Oracle Solaris 11.4 15 Apr 2019 sandbox_create(3SANDBOX)
+Oracle Solaris 11.4 23 Jan 2023 sandbox_create(3SANDBOX)
diff -NurbBw 11.4.54/man3sandbox/sandbox_getchildren.3sandbox 11.4.57/man3sandbox/sandbox_getchildren.3sandbox
--- 11.4.54/man3sandbox/sandbox_getchildren.3sandbox 2023-05-24 15:26:51.591065206 -0700
+++ 11.4.57/man3sandbox/sandbox_getchildren.3sandbox 2023-05-24 15:27:30.674871927 -0700
@@ -189,7 +189,7 @@
ENOENT The specified pathname does not exist.
- ENOSUP The filesystem does not support labeling.
+ ENOTSUP The filesystem does not support labeling.
EPERM Insufficient process privileges.
@@ -233,4 +233,4 @@
-Oracle Solaris 11.4 15 Apr 2019 sandbox_create(3SANDBOX)
+Oracle Solaris 11.4 23 Jan 2023 sandbox_create(3SANDBOX)
diff -NurbBw 11.4.54/man3sandbox/sandbox_getname.3sandbox 11.4.57/man3sandbox/sandbox_getname.3sandbox
--- 11.4.54/man3sandbox/sandbox_getname.3sandbox 2023-05-24 15:26:51.656095411 -0700
+++ 11.4.57/man3sandbox/sandbox_getname.3sandbox 2023-05-24 15:27:30.747658859 -0700
@@ -189,7 +189,7 @@
ENOENT The specified pathname does not exist.
- ENOSUP The filesystem does not support labeling.
+ ENOTSUP The filesystem does not support labeling.
EPERM Insufficient process privileges.
@@ -233,4 +233,4 @@
-Oracle Solaris 11.4 15 Apr 2019 sandbox_create(3SANDBOX)
+Oracle Solaris 11.4 23 Jan 2023 sandbox_create(3SANDBOX)
diff -NurbBw 11.4.54/man3sandbox/sandbox_getparents.3sandbox 11.4.57/man3sandbox/sandbox_getparents.3sandbox
--- 11.4.54/man3sandbox/sandbox_getparents.3sandbox 2023-05-24 15:26:51.713842353 -0700
+++ 11.4.57/man3sandbox/sandbox_getparents.3sandbox 2023-05-24 15:27:30.780554195 -0700
@@ -189,7 +189,7 @@
ENOENT The specified pathname does not exist.
- ENOSUP The filesystem does not support labeling.
+ ENOTSUP The filesystem does not support labeling.
EPERM Insufficient process privileges.
@@ -233,4 +233,4 @@
-Oracle Solaris 11.4 15 Apr 2019 sandbox_create(3SANDBOX)
+Oracle Solaris 11.4 23 Jan 2023 sandbox_create(3SANDBOX)
diff -NurbBw 11.4.54/man3sandbox/sandbox_labelfile.3sandbox 11.4.57/man3sandbox/sandbox_labelfile.3sandbox
--- 11.4.54/man3sandbox/sandbox_labelfile.3sandbox 2023-05-24 15:26:51.744004191 -0700
+++ 11.4.57/man3sandbox/sandbox_labelfile.3sandbox 2023-05-24 15:27:30.811054247 -0700
@@ -189,7 +189,7 @@
ENOENT The specified pathname does not exist.
- ENOSUP The filesystem does not support labeling.
+ ENOTSUP The filesystem does not support labeling.
EPERM Insufficient process privileges.
@@ -233,4 +233,4 @@
-Oracle Solaris 11.4 15 Apr 2019 sandbox_create(3SANDBOX)
+Oracle Solaris 11.4 23 Jan 2023 sandbox_create(3SANDBOX)
diff -NurbBw 11.4.54/man3sandbox/sandbox_labelosm.3sandbox 11.4.57/man3sandbox/sandbox_labelosm.3sandbox
--- 11.4.54/man3sandbox/sandbox_labelosm.3sandbox 2023-05-24 15:26:51.773557936 -0700
+++ 11.4.57/man3sandbox/sandbox_labelosm.3sandbox 2023-05-24 15:27:30.862586303 -0700
@@ -189,7 +189,7 @@
ENOENT The specified pathname does not exist.
- ENOSUP The filesystem does not support labeling.
+ ENOTSUP The filesystem does not support labeling.
EPERM Insufficient process privileges.
@@ -233,4 +233,4 @@
-Oracle Solaris 11.4 15 Apr 2019 sandbox_create(3SANDBOX)
+Oracle Solaris 11.4 23 Jan 2023 sandbox_create(3SANDBOX)
diff -NurbBw 11.4.54/man3sstore/sstore_data_alloc.3sstore 11.4.57/man3sstore/sstore_data_alloc.3sstore
--- 11.4.54/man3sstore/sstore_data_alloc.3sstore 2023-05-24 15:26:51.855353275 -0700
+++ 11.4.57/man3sstore/sstore_data_alloc.3sstore 2023-05-24 15:27:30.912375481 -0700
@@ -304,7 +304,7 @@
The sstore_data_add() function fails if:
- ESSOTE_ARG_INVALID One of the following reasons:
+ ESSTORE_ARG_INVALID One of the following reasons:
o Required arguments are missing
@@ -1287,5 +1287,5 @@
-Oracle Solaris 11.4 27 Nov 2017
+Oracle Solaris 11.4 23 Jan 2023
sstore_data_attach(3SSTORE)
diff -NurbBw 11.4.54/man3sstore/sstore_data_attach_histogram.3sstore 11.4.57/man3sstore/sstore_data_attach_histogram.3sstore
--- 11.4.54/man3sstore/sstore_data_attach_histogram.3sstore 2023-05-24 15:26:51.911013279 -0700
+++ 11.4.57/man3sstore/sstore_data_attach_histogram.3sstore 2023-05-24 15:27:30.955817150 -0700
@@ -304,7 +304,7 @@
The sstore_data_add() function fails if:
- ESSOTE_ARG_INVALID One of the following reasons:
+ ESSTORE_ARG_INVALID One of the following reasons:
o Required arguments are missing
@@ -1287,5 +1287,5 @@
-Oracle Solaris 11.4 27 Nov 2017
+Oracle Solaris 11.4 23 Jan 2023
sstore_data_attach(3SSTORE)
diff -NurbBw 11.4.54/man3sstore/sstore_data_attach.3sstore 11.4.57/man3sstore/sstore_data_attach.3sstore
--- 11.4.54/man3sstore/sstore_data_attach.3sstore 2023-05-24 15:26:51.961601757 -0700
+++ 11.4.57/man3sstore/sstore_data_attach.3sstore 2023-05-24 15:27:30.993816789 -0700
@@ -304,7 +304,7 @@
The sstore_data_add() function fails if:
- ESSOTE_ARG_INVALID One of the following reasons:
+ ESSTORE_ARG_INVALID One of the following reasons:
o Required arguments are missing
@@ -1287,5 +1287,5 @@
-Oracle Solaris 11.4 27 Nov 2017
+Oracle Solaris 11.4 23 Jan 2023
sstore_data_attach(3SSTORE)
diff -NurbBw 11.4.54/man3sstore/sstore_data_bulk_update.3sstore 11.4.57/man3sstore/sstore_data_bulk_update.3sstore
--- 11.4.54/man3sstore/sstore_data_bulk_update.3sstore 2023-05-24 15:26:52.027537986 -0700
+++ 11.4.57/man3sstore/sstore_data_bulk_update.3sstore 2023-05-24 15:27:31.061129868 -0700
@@ -304,7 +304,7 @@
The sstore_data_add() function fails if:
- ESSOTE_ARG_INVALID One of the following reasons:
+ ESSTORE_ARG_INVALID One of the following reasons:
o Required arguments are missing
@@ -1287,5 +1287,5 @@
-Oracle Solaris 11.4 27 Nov 2017
+Oracle Solaris 11.4 23 Jan 2023
sstore_data_attach(3SSTORE)
diff -NurbBw 11.4.54/man3sstore/sstore_data_free.3sstore 11.4.57/man3sstore/sstore_data_free.3sstore
--- 11.4.54/man3sstore/sstore_data_free.3sstore 2023-05-24 15:26:52.121948125 -0700
+++ 11.4.57/man3sstore/sstore_data_free.3sstore 2023-05-24 15:27:31.130196639 -0700
@@ -304,7 +304,7 @@
The sstore_data_add() function fails if:
- ESSOTE_ARG_INVALID One of the following reasons:
+ ESSTORE_ARG_INVALID One of the following reasons:
o Required arguments are missing
@@ -1287,5 +1287,5 @@
-Oracle Solaris 11.4 27 Nov 2017
+Oracle Solaris 11.4 23 Jan 2023
sstore_data_attach(3SSTORE)
diff -NurbBw 11.4.54/man3sstore/sstore_data_reset.3sstore 11.4.57/man3sstore/sstore_data_reset.3sstore
--- 11.4.54/man3sstore/sstore_data_reset.3sstore 2023-05-24 15:26:52.173085281 -0700
+++ 11.4.57/man3sstore/sstore_data_reset.3sstore 2023-05-24 15:27:31.171123837 -0700
@@ -304,7 +304,7 @@
The sstore_data_add() function fails if:
- ESSOTE_ARG_INVALID One of the following reasons:
+ ESSTORE_ARG_INVALID One of the following reasons:
o Required arguments are missing
@@ -1287,5 +1287,5 @@
-Oracle Solaris 11.4 27 Nov 2017
+Oracle Solaris 11.4 23 Jan 2023
sstore_data_attach(3SSTORE)
diff -NurbBw 11.4.54/man3sstore/sstore_data_update.3sstore 11.4.57/man3sstore/sstore_data_update.3sstore
--- 11.4.54/man3sstore/sstore_data_update.3sstore 2023-05-24 15:26:52.216973203 -0700
+++ 11.4.57/man3sstore/sstore_data_update.3sstore 2023-05-24 15:27:31.209731633 -0700
@@ -304,7 +304,7 @@
The sstore_data_add() function fails if:
- ESSOTE_ARG_INVALID One of the following reasons:
+ ESSTORE_ARG_INVALID One of the following reasons:
o Required arguments are missing
@@ -1287,5 +1287,5 @@
-Oracle Solaris 11.4 27 Nov 2017
+Oracle Solaris 11.4 23 Jan 2023
sstore_data_attach(3SSTORE)
diff -NurbBw 11.4.54/man4d/ipmi.4d 11.4.57/man4d/ipmi.4d
--- 11.4.54/man4d/ipmi.4d 2023-05-24 15:26:52.264651782 -0700
+++ 11.4.57/man4d/ipmi.4d 2023-05-24 15:27:31.242039645 -0700
@@ -202,7 +202,7 @@
EFAULT An address is invalid.
- ENOIOCTL Invalid ioctl.
+ EINVAL Invalid ioctl.
FILES
@@ -252,4 +252,4 @@
-Oracle Solaris 11.4 27 Nov 2017 ipmi(4D)
+Oracle Solaris 11.4 23 Jan 2023 ipmi(4D)
diff -NurbBw 11.4.54/man4i/hdio.4i 11.4.57/man4i/hdio.4i
--- 11.4.54/man4i/hdio.4i 2023-05-24 15:26:52.291872671 -0700
+++ 11.4.57/man4i/hdio.4i 2023-05-24 15:27:31.277646853 -0700
@@ -13,7 +13,7 @@
- The SMC and IPI drivers have been discontinued. dkio(4I) is now the
+ The SMD and IPI drivers have been discontinued. dkio(4I) is now the
preferred method for retrieving disk information.
@@ -84,4 +84,4 @@
-Oracle Solaris 11.4 13 Aug 2002 hdio(4I)
+Oracle Solaris 11.4 13 Mar 2023 hdio(4I)
diff -NurbBw 11.4.54/man4p/if_tcp.4p 11.4.57/man4p/if_tcp.4p
--- 11.4.54/man4p/if_tcp.4p 2023-05-24 15:26:52.344472576 -0700
+++ 11.4.57/man4p/if_tcp.4p 2023-05-24 15:27:31.313916328 -0700
@@ -642,32 +642,37 @@
EPERM Calling process has insufficient privileges.
- ENXIO The lifr_name member of the lifreq structure contains an
- invalid value.
+ ENXIO The lifr_name member of the lifreq structure contains
+ an invalid value.
- For SIOCGLIFSRCOF, the lifs_ifindex member of the lifsrcof
- structure contains an invalid value.
+ For SIOCGLIFSRCOF, the lifs_ifindex member of the lif-
+ srcof structure contains an invalid value.
For SIOCSLIFUSESRC, this error is returned if the
lifr_index is set to an invalid value.
- EBADADDR Wrong address family or malformed address.
+ EADDRNOTAVAIL Cannot assign requested address.
- EINVAL For SIOCSLIFMTU, this error is returned when the requested
- MTU size is invalid. This error indicates the MTU size is
- greater than the MTU size supported by the DLPI provider or
- less than 68 (for IPv4) or less than 1280 (for IPv6).
+ EAFNOSUPPORT Wrong address family or malformed address.
- For SIOCSLIFUSESRC, this error is returned if either the
- lifr_index or lifr_name identify interfaces that are
- already part of an existing IPMP group.
+ EINVAL For SIOCSLIFMTU, this error is returned when the
+ requested MTU size is invalid. This error indicates
+ the MTU size is greater than the MTU size supported by
+ the DLPI provider or less than 68 (for IPv4) or less
+ than 1280 (for IPv6).
- EEXIST For SIOCLIFADDIF, this error is returned if the lifr_name
- member in the lifreq structure corresponds to an interface
- that already has the PPA specified by lifr_ppa plumbed.
+ For SIOCSLIFUSESRC, this error is returned if either
+ the lifr_index or lifr_name identify interfaces that
+ are already part of an existing IPMP group.
+
+
+ EEXIST For SIOCLIFADDIF, this error is returned if the
+ lifr_name member in the lifreq structure corresponds
+ to an interface that already has the PPA specified by
+ lifr_ppa plumbed.
SEE ALSO
@@ -676,4 +681,4 @@
-Oracle Solaris 11.4 27 Nov 2017 if_tcp(4P)
+Oracle Solaris 11.4 23 Jan 2023 if_tcp(4P)
diff -NurbBw 11.4.54/man4p/if.4p 11.4.57/man4p/if.4p
--- 11.4.54/man4p/if.4p 2023-05-24 15:26:52.387093932 -0700
+++ 11.4.57/man4p/if.4p 2023-05-24 15:27:31.398448264 -0700
@@ -642,32 +642,37 @@
EPERM Calling process has insufficient privileges.
- ENXIO The lifr_name member of the lifreq structure contains an
- invalid value.
+ ENXIO The lifr_name member of the lifreq structure contains
+ an invalid value.
- For SIOCGLIFSRCOF, the lifs_ifindex member of the lifsrcof
- structure contains an invalid value.
+ For SIOCGLIFSRCOF, the lifs_ifindex member of the lif-
+ srcof structure contains an invalid value.
For SIOCSLIFUSESRC, this error is returned if the
lifr_index is set to an invalid value.
- EBADADDR Wrong address family or malformed address.
+ EADDRNOTAVAIL Cannot assign requested address.
- EINVAL For SIOCSLIFMTU, this error is returned when the requested
- MTU size is invalid. This error indicates the MTU size is
- greater than the MTU size supported by the DLPI provider or
- less than 68 (for IPv4) or less than 1280 (for IPv6).
+ EAFNOSUPPORT Wrong address family or malformed address.
- For SIOCSLIFUSESRC, this error is returned if either the
- lifr_index or lifr_name identify interfaces that are
- already part of an existing IPMP group.
+ EINVAL For SIOCSLIFMTU, this error is returned when the
+ requested MTU size is invalid. This error indicates
+ the MTU size is greater than the MTU size supported by
+ the DLPI provider or less than 68 (for IPv4) or less
+ than 1280 (for IPv6).
- EEXIST For SIOCLIFADDIF, this error is returned if the lifr_name
- member in the lifreq structure corresponds to an interface
- that already has the PPA specified by lifr_ppa plumbed.
+ For SIOCSLIFUSESRC, this error is returned if either
+ the lifr_index or lifr_name identify interfaces that
+ are already part of an existing IPMP group.
+
+
+ EEXIST For SIOCLIFADDIF, this error is returned if the
+ lifr_name member in the lifreq structure corresponds
+ to an interface that already has the PPA specified by
+ lifr_ppa plumbed.
SEE ALSO
@@ -676,4 +681,4 @@
-Oracle Solaris 11.4 27 Nov 2017 if_tcp(4P)
+Oracle Solaris 11.4 23 Jan 2023 if_tcp(4P)
diff -NurbBw 11.4.54/man4p/pf_key.4p 11.4.57/man4p/pf_key.4p
--- 11.4.54/man4p/pf_key.4p 2023-05-24 15:26:52.454098615 -0700
+++ 11.4.57/man4p/pf_key.4p 2023-05-24 15:27:31.452868098 -0700
@@ -404,18 +404,19 @@
event of an error, an extended diagnostic can be set (see DIAGNOSTICS).
Typical errors include:
- EINVAL Various message improprieties, including SPI ranges that are
- malformed, weak keys, and others. If EINVAL is returned, an
- application should look at the sadb_x_msg_diagnostic field
- of the sadb_msg structure. It contains one of many possible
- causes for EINVAL. See net/pfkeyv2.h for values, all of the
- form SADB_X_DIAGNOSTIC_.
+ EINVAL Various message improprieties, including SPI ranges that
+ are malformed, weak keys, and others. If EINVAL is
+ returned, an application should look at the
+ sadb_x_msg_diagnostic field of the sadb_msg structure. It
+ contains one of many possible causes for EINVAL. See
+ net/pfkeyv2.h for values, all of the form SADB_X_DIAGNOS-
+ TIC_.
ENOMEM Needed memory was not available.
- ENSGSIZ Message exceeds the maximum length allowed.
+ EMSGSIZE Message exceeds the maximum length allowed.
EEXIST SA (that is being added or created with GETSPI) already
@@ -781,4 +782,4 @@
-Oracle Solaris 11.4 3 Nov 2021 pf_key(4P)
+Oracle Solaris 11.4 23 Jan 2023 pf_key(4P)
diff -NurbBw 11.4.54/man5/nscd.conf.5 11.4.57/man5/nscd.conf.5
--- 11.4.54/man5/nscd.conf.5 2023-05-24 15:26:52.496656220 -0700
+++ 11.4.57/man5/nscd.conf.5 2023-05-24 15:27:31.571563905 -0700
@@ -260,5 +260,9 @@
rations to function correctly.
+ Starting with Oracle Solaris 11.4.57, the obsolete svc:/system/name-
+ service-cache was removed.
-Oracle Solaris 11.4 5 Nov 2021 nscd.conf(5)
+
+
+Oracle Solaris 11.4 16 Feb 2023 nscd.conf(5)
diff -NurbBw 11.4.54/man5/policy.conf.5 11.4.57/man5/policy.conf.5
--- 11.4.54/man5/policy.conf.5 2023-05-24 15:26:52.538275851 -0700
+++ 11.4.57/man5/policy.conf.5 2023-05-24 15:27:31.644917161 -0700
@@ -17,9 +17,9 @@
key=value
- The /etc/security/policy.conf file is obsolete. Instead, you can use
- the svc:/system/security/account-policy:default service to set the cor-
- responding SMF properties.
+ The /etc/security/policy.conf file is obsolete. The use of the
+ svc:/system/account-policy:default service to set the corresponding SMF
+ properties is preferred.
The following table lists the mapping between the properties in the
@@ -269,4 +269,4 @@
-Oracle Solaris 11.4 6 Oct 2022 policy.conf(5)
+Oracle Solaris 11.4 10 Mar 2023 policy.conf(5)
diff -NurbBw 11.4.54/man7/filesystem.7 11.4.57/man7/filesystem.7
--- 11.4.54/man7/filesystem.7 2023-05-24 15:26:52.573710151 -0700
+++ 11.4.57/man7/filesystem.7 2023-05-24 15:27:31.689809771 -0700
@@ -91,6 +91,20 @@
tion location for bundled Solaris software.
+ /etc/dfs/sharetab
+
+ The file is a mounted sharefs(4FS) file system that provides read-
+ only access to the state of all shares currently loaded by the ker-
+ nel.
+
+
+ /etc/mnttab
+
+ The file is a mounted file system that provides read-only access to
+ the table of mounted file systems for the current host. Its format
+ is documented in mnttab(5).
+
+
/export/home or /home
Directory or file system mount point for user home directories,
@@ -166,10 +180,22 @@
Symbolic link to the /usr/sbin directory.
- /system
+ /system/contract
+
+ Mount point directory for the contract file system. See ctfs(4FS).
+
+
+ /system/object
+
+ Mount point directory for the kernel object file system. See
+ objfs(4FS).
+
+
+ /system/volatile
- Mount point directory for the contract (CTFS) and object (OBJFS)
- file systems.
+ Mount point for a writable tmpfs(4FS) file system available immedi-
+ ately after boot. Primarily for system specific use but also avail-
+ able for use by 3rd party.
/system/zones
@@ -350,4 +376,4 @@
-Oracle Solaris 11.4 30 Sep 2020 filesystem(7)
+Oracle Solaris 11.4 19 Jan 2023 filesystem(7)
diff -NurbBw 11.4.54/man7/pam_deny.7 11.4.57/man7/pam_deny.7
--- 11.4.54/man7/pam_deny.7 2023-05-24 15:26:52.622129147 -0700
+++ 11.4.57/man7/pam_deny.7 2023-05-24 15:27:31.724162742 -0700
@@ -30,7 +30,7 @@
PAM_AUTH_ERR If pam_sm_authenticate is called.
- PAM_AUTHOK_ERR If pam_sm_chauthtok is called.
+ PAM_AUTHTOK_ERR If pam_sm_chauthtok is called.
PAM_CRED_ERR If pam_sm_setcred is called.
@@ -128,4 +128,4 @@
-Oracle Solaris 11.4 22 May 2012 pam_deny(7)
+Oracle Solaris 11.4 23 Jan 2023 pam_deny(7)
diff -NurbBw 11.4.54/man7/pam_ldap.7 11.4.57/man7/pam_ldap.7
--- 11.4.54/man7/pam_ldap.7 2023-05-24 15:26:52.661437002 -0700
+++ 11.4.57/man7/pam_ldap.7 2023-05-24 15:27:31.779514800 -0700
@@ -163,7 +163,7 @@
PAM_USER_UNKNOWN No account is present for the user.
- PAM_BUF_ERROR A memory buffer error occurred.
+ PAM_BUF_ERR A memory buffer error occurred.
PAM_SYSTEM_ERR A system error occurred.
@@ -419,4 +419,4 @@
-Oracle Solaris 11.4 11 May 2021 pam_ldap(7)
+Oracle Solaris 11.4 23 Jan 2023 pam_ldap(7)
diff -NurbBw 11.4.54/man7/pam_unix_account.7 11.4.57/man7/pam_unix_account.7
--- 11.4.54/man7/pam_unix_account.7 2023-05-24 15:26:52.709311327 -0700
+++ 11.4.57/man7/pam_unix_account.7 2023-05-24 15:27:31.815830883 -0700
@@ -56,7 +56,7 @@
ERRORS
The following values are returned:
- PAM_UNIX_ACCOUNT User account has expired
+ PAM_ACCT_EXPIRED User account has expired
PAM_AUTHTOK_EXPIRED Password expired and no longer usable
@@ -116,4 +116,4 @@
-Oracle Solaris 11.4 11 May 2021 pam_unix_account(7)
+Oracle Solaris 11.4 23 Jan 2023 pam_unix_account(7)
diff -NurbBw 11.4.54/man7/solaris-kz.7 11.4.57/man7/solaris-kz.7
--- 11.4.54/man7/solaris-kz.7 2023-05-24 15:26:52.758020115 -0700
+++ 11.4.57/man7/solaris-kz.7 2023-05-24 15:27:31.872209633 -0700
@@ -3,6 +3,9 @@
+>>>>>>> source
+
+
NAME
solaris-kz - solaris kernel zone
@@ -412,10 +415,23 @@
Can be empty. See lgrpinfo(1).
+ config/npt-reservation Kernel zones on SPARC require memory for
+ Nested Page Tables (NPTs) to be allocated
+ using 4M pages. If a host system is experi-
+ encing memory contention or fragmentation, 4M
+ pages may be unavailable at the time a kernel
+ zone is booted. To better guarantee NPT mem-
+ ory resources are available, a MRP service
+ can be configured to reserve NPT memory
+ resources by setting value of this property
+ to the number of kernel zones expected to be
+ concurrently running.
+
+
Here is an example on how to configure and enable the kernel zone MRP
- service to reserve 80G of memory using the pagesize-policy set to
- largest-available.
+ service to reserve 80G of memory using the config/pagesize-policy set
+ to largest-available.
# svccfg -s svc:/system/memory-reserve:zones
@@ -430,6 +446,19 @@
+ On SPARC platforms, the following extends the preceeding example to
+ configure the MRP service to reserve NPT memory for up to 4 concur-
+ rently running kernel zones.
+
+
+ # svccfg -s svc:/system/memory-reserve:zones
+ svc:/system/memory-reserve:zones> setprop config/npt-reservation=4
+ svc:/system/memory-reserve:zones> refresh
+ svc:/system/memory-reserve:zones> exit
+
+
+
+
To configure a kernel zone to have its memory allocated from a MRP, the
memory-reserve property under the capped-memory resource must be set to
the MRP service instance name (e.g. 'zones'). This property cannot be
@@ -479,10 +508,18 @@
CPU Configuration
As described in zonecfg(8), virtual CPU and dedicated CPU resources,
and the resource pool property can be used to define the CPUs available
- to the kernel zone. Typically, the dedicated-cpu resource is used to
- isolate CPU resources for the sole use of the kernel zone, while the
- virtual-cpu resource is used when sharing CPUs to provide finer-grained
- control over CPUs available in the kernel zone.
+ to the kernel zone. Use the dedicated-cpu resource or the pool property
+ to isolate CPU resources for the sole use of the specified kernel zone
+ or kernel zones. When you share CPUs, use the virtual-cpu resource to
+ provide finer-grained control over the CPUs that are available in the
+ kernel zone.
+
+
+ If you configure the dedicated-cpu resource, the kernel zone creates
+ and binds a temporary resource pool on boot called SYSzone_zonename.
+ That temporary resource pool exists only while the kernel zone is run-
+ ning. Do not change the temporary resource pool's configuration or bind
+ it to any process or to other kernel zones.
Note that the dedicated-cpu resource and the pool property are mutually
@@ -494,9 +531,10 @@
If none of the virtual-cpu, dedicated-cpu, nor pool are specified:
- The kernel zone gets four virtual CPU threads that compete for com-
- pute time with all other application threads on the physical host
- system.
+ If the virtual-cpu resource, the dedicated-cpu resource, and the
+ pool property are not configured, the kernel zone gets four virtual
+ CPU threads that compete for compute time with all other applica-
+ tion threads on the physical host system.
If virtual-cpu is specified but not the dedicated-cpu nor pool:
@@ -522,6 +560,19 @@
will use CPUs of the pset but these CPUs can be shared with other
threads bound to the same pset running on the physical host.
+ The number of virtual CPUs is determined when the kernel zone boots
+ and is the same as the current number of CPUs in the resource pool.
+ When you use the poolcfg(8) command to remove a CPU from the
+ resource pool, the CPU becomes immediately unavailable to the vir-
+ tual CPU threads. However, the threads are not scheduled automati-
+ cally on any CPUs you add to the pool. You can re-establish the
+ optimal mapping between the virtual CPU thread or threads and the
+ CPUs of the resource pool by running the zoneadm apply command or
+ by using the commit command in the live mode of the zonecfg(8) com-
+ mand. This action adds or removes one or more virtual CPUs so that
+ their number matches the number of CPUs in the resource pool and it
+ binds virtual CPU threads to all CPUs of the resource pool.
+
However, if the pool is associated with the default pset, it is
equivalent to not setting the pool property at all.
@@ -541,16 +592,39 @@
resource.
+ If both virtual-cpu and pool are specified:
+
+ If both the virtual-cpu resource and the pool property are config-
+ ured, executing zoneadm apply or zonecfg commit in the live mode is
+ required to re-establish the virtual CPU thread binding to the CPUs
+ newly added to the pool. However, the number of virtual CPU threads
+ configured based on the virtual-cpu settings is not modified.
+
+
+
+ It is not recommended to use the range of CPUs (ncpus) that is speci-
+ fied by the dedicated-cpu resource. If the virtual-cpu resource is not
+ configured, the number of virtual CPUs created for a kernel zone is
+ fixed at the time you boot the kernel zone. For a zone that has the
+ dedicated-cpu:ncpus resource set to a range, the number of CPUs lies
+ anywhere in the specified range. If more CPUs are added automatically
+ to the zone's temporary resource pool's pset, the kernel zone becomes
+ unable to use the CPUs, which causes them to sit idle. If CPUs are
+ removed automatically from the zone's temporary resource pool's pset,
+ the guest can become severely over committed and exhibit poor perfor-
+ mance.
- Using a range for the dedicated-cpu resource is not recommended. The
- number of virtual CPUs created for a kernel zone is fixed at the time
- the kernel zone is booted. For a zone with the dedicated-cpu ncpus
- property set to a range, the number of CPUs lie anywhere in the range.
- If more CPUs are automatically added to the zones pset, the kernel zone
- will be unable to use the CPUs causing them to sit idle. If CPUs are
- automatically removed from the zones pset, the guest can become severe-
- ly overcommitted, that is, with more virtual CPUs than physical CPUs,
- resulting in poor performance.
+
+ Update the kernel zone virtual CPU binding when the following circum-
+ stances are true for that kernel zone:
+
+ o Uses a resource pool that is specified by the pool property
+
+ o Defines the pset of that pool as a range (pset.min and
+ pset.max)
+
+ o Has the actual number of CPUs in the resource pool increas-
+ ing
Suspend, Resume, and Warm Migration
Kernel zones may be suspended by executing the zoneadm suspend command.
@@ -603,12 +677,6 @@
ported for live and cold migration.
- Note: on x86 platforms, live reconfiguration of the virtual-cpu
- resource is disabled after the kernel zone has been resumed or has been
- warm or live migrated. To re-enable live reconfiguration of the vir-
- tual-cpu resource, the kernel zone must be rebooted.
-
-
The source and the destination host must be the same platform. On x86,
the vendor (AMD/Intel) as well as the CPU model name must match. On
SPARC, the hardware platform must be the same. For example, you cannot
@@ -799,8 +867,10 @@
types for migration are iscsi, lu, and nfs.
Live Storage Migration
- Kernel zones support live storage migration of its root ZFS pool. See
- zoneadm(8) move subcommand for more information.
+ Kernel zones support live storage migration of its root ZFS pool, and
+ also support adding, replacing, and removing individual devices within
+ the root ZFS pool. See zoneadm(8) move subcommand for more informa-
+ tion.
Auxiliary State
The following auxiliary states (as shown by zoneadm list -is) are
@@ -1061,4 +1131,4 @@
-Oracle Solaris 11.4 15 Jul 2022 solaris-kz(7)
+Oracle Solaris 11.4 1 Jan 2023 solaris-kz(7)
diff -NurbBw 11.4.54/man7/solaris10.7 11.4.57/man7/solaris10.7
--- 11.4.54/man7/solaris10.7 2023-05-24 15:26:52.799914222 -0700
+++ 11.4.57/man7/solaris10.7 2023-05-24 15:27:31.911056513 -0700
@@ -411,7 +411,7 @@
# zoneadm -z s10z install -u -a /net/somehost/s10u5.flar \
- -P `pwd`/10_Recommanded_CPU_2018_07
+ -P `pwd`/10_Recommended_CPU_2018_07
@@ -452,4 +452,4 @@
-Oracle Solaris 11.4 10 Jan 2022 solaris10(7)
+Oracle Solaris 11.4 10 Mar 2023 solaris10(7)
diff -NurbBw 11.4.54/man7/zones.7 11.4.57/man7/zones.7
--- 11.4.54/man7/zones.7 2023-05-24 15:26:52.830584376 -0700
+++ 11.4.57/man7/zones.7 2023-05-24 15:27:31.955413266 -0700
@@ -64,7 +64,9 @@
INCOMPLETE
Indicates that the zone is in the midst of being installed or unin-
- stalled, or was interrupted in the midst of such a transition.
+ stalled, or was interrupted in the midst of such a transition, or
+ its configuration is non-existent. In case of a non-existent zone
+ configuration, the zone's auxiliary state is set to no-config.
INSTALLED
@@ -335,4 +337,4 @@
-Oracle Solaris 11.4 11 May 2021 zones(7)
+Oracle Solaris 11.4 5 Dec 2022 zones(7)
diff -NurbBw 11.4.54/man8/acct.8 11.4.57/man8/acct.8
--- 11.4.54/man8/acct.8 2023-05-24 15:26:52.873592182 -0700
+++ 11.4.57/man8/acct.8 2023-05-24 15:27:31.983779328 -0700
@@ -138,7 +138,7 @@
/var/adm/wtmpx History of user access and administration informa-
- tion..
+ tion.
ATTRIBUTES
@@ -158,4 +158,4 @@
-Oracle Solaris 11.4 11 May 2021 acct(8)
+Oracle Solaris 11.4 10 Mar 2023 acct(8)
diff -NurbBw 11.4.54/man8/acctdisk.8 11.4.57/man8/acctdisk.8
--- 11.4.54/man8/acctdisk.8 2023-05-24 15:26:52.914835655 -0700
+++ 11.4.57/man8/acctdisk.8 2023-05-24 15:27:32.011535042 -0700
@@ -138,7 +138,7 @@
/var/adm/wtmpx History of user access and administration informa-
- tion..
+ tion.
ATTRIBUTES
@@ -158,4 +158,4 @@
-Oracle Solaris 11.4 11 May 2021 acct(8)
+Oracle Solaris 11.4 10 Mar 2023 acct(8)
diff -NurbBw 11.4.54/man8/acctdusg.8 11.4.57/man8/acctdusg.8
--- 11.4.54/man8/acctdusg.8 2023-05-24 15:26:52.945951392 -0700
+++ 11.4.57/man8/acctdusg.8 2023-05-24 15:27:32.041932472 -0700
@@ -138,7 +138,7 @@
/var/adm/wtmpx History of user access and administration informa-
- tion..
+ tion.
ATTRIBUTES
@@ -158,4 +158,4 @@
-Oracle Solaris 11.4 11 May 2021 acct(8)
+Oracle Solaris 11.4 10 Mar 2023 acct(8)
diff -NurbBw 11.4.54/man8/accton.8 11.4.57/man8/accton.8
--- 11.4.54/man8/accton.8 2023-05-24 15:26:52.975684591 -0700
+++ 11.4.57/man8/accton.8 2023-05-24 15:27:32.085615754 -0700
@@ -138,7 +138,7 @@
/var/adm/wtmpx History of user access and administration informa-
- tion..
+ tion.
ATTRIBUTES
@@ -158,4 +158,4 @@
-Oracle Solaris 11.4 11 May 2021 acct(8)
+Oracle Solaris 11.4 10 Mar 2023 acct(8)
diff -NurbBw 11.4.54/man8/acctwtmp.8 11.4.57/man8/acctwtmp.8
--- 11.4.54/man8/acctwtmp.8 2023-05-24 15:26:53.010996149 -0700
+++ 11.4.57/man8/acctwtmp.8 2023-05-24 15:27:32.148462689 -0700
@@ -138,7 +138,7 @@
/var/adm/wtmpx History of user access and administration informa-
- tion..
+ tion.
ATTRIBUTES
@@ -158,4 +158,4 @@
-Oracle Solaris 11.4 11 May 2021 acct(8)
+Oracle Solaris 11.4 10 Mar 2023 acct(8)
diff -NurbBw 11.4.54/man8/asradm.8 11.4.57/man8/asradm.8
--- 11.4.54/man8/asradm.8 2023-05-24 15:26:53.054446459 -0700
+++ 11.4.57/man8/asradm.8 2023-05-24 15:27:32.188648345 -0700
@@ -206,7 +206,7 @@
- This is similar to set--proxy example, above. The difference is that
+ This is similar to the set-proxy example, above. The difference is that
the MOS user name and password are specified by means of the command
line.
@@ -276,4 +276,4 @@
-Oracle Solaris 11.4 27 Nov 2017 asradm(8)
+Oracle Solaris 11.4 10 Mar 2023 asradm(8)
diff -NurbBw 11.4.54/man8/closewtmp.8 11.4.57/man8/closewtmp.8
--- 11.4.54/man8/closewtmp.8 2023-05-24 15:26:53.086385855 -0700
+++ 11.4.57/man8/closewtmp.8 2023-05-24 15:27:32.218299498 -0700
@@ -138,7 +138,7 @@
/var/adm/wtmpx History of user access and administration informa-
- tion..
+ tion.
ATTRIBUTES
@@ -158,4 +158,4 @@
-Oracle Solaris 11.4 11 May 2021 acct(8)
+Oracle Solaris 11.4 10 Mar 2023 acct(8)
diff -NurbBw 11.4.54/man8/dladm.8 11.4.57/man8/dladm.8
--- 11.4.54/man8/dladm.8 2023-05-24 15:26:53.245749297 -0700
+++ 11.4.57/man8/dladm.8 2023-05-24 15:27:32.390201420 -0700
@@ -5614,28 +5614,28 @@
- To configure a data-link over an aggregation of devices bge0 (linkname
- net0) and bge1 (linkname net1) with key 1, enter the following command:
+ To configure an IEEE 802.3ad link aggregation of devices e1000g1
+ (linkname net0) and e1000g2 (linkname net1) with the name aggr1, enter
+ the following command:
- # dladm create-aggr -l net0 -l net1 1
+ # dladm create-aggr -l net0 -l net1 aggr1
- To configure an IEEE 802.3ad link aggregation of devices e1000g1
- (linkname net0) and e1000g2 (linkname net1) with the name aggr1, enter
- following command:
+ For backward compatibility the following form, which specifies an
+ aggregration key instead of a name, is also supported:
- # dladm create-aggr -l net0 -l net1 aggr1
+ # dladm create-aggr -l net0 -l net1 1
- To configure an Datalink Multipathing (dlmp) link aggregation of
- devices ixgbe1 (linkame net2) and ixgbe2 (linkname net3) with the name
- aggr2 enter following command:
+ To configure a Datalink Multipathing (dlmp) link aggregation of devices
+ ixgbe1 (linkame net2) and ixgbe2 (linkname net3) with the name aggr2
+ enter the following command:
# dladm create-aggr -m dlmp -l net2 -l net3 aggr2
@@ -7024,4 +7024,4 @@
-Oracle Solaris 11.4 11 May 2021 dladm(8)
+Oracle Solaris 11.4 31 January 2023 dladm(8)
diff -NurbBw 11.4.54/man8/fdisk.8 11.4.57/man8/fdisk.8
--- 11.4.54/man8/fdisk.8 2023-05-24 15:26:53.346555828 -0700
+++ 11.4.57/man8/fdisk.8 2023-05-24 15:27:32.476377807 -0700
@@ -8,7 +8,7 @@
SYNOPSIS
fdisk [-o offset] [-s size] [-P fill_patt] [-S geom_file]
[-w | -r | -d | -n | -I | -B | -t | -T | -g | -G | -R | -E]
- [--F fdisk_file] [ [-v] -W {fdisk_file | -}]
+ [-F fdisk_file] [ [-v] -W {fdisk_file | -}]
[-h] [-b masterboot]
[-A id : act : bhead : bsect : bcyl : ehead : esect :
ecyl : rsect : numsect]
@@ -510,4 +510,4 @@
-Oracle Solaris 11.4 12 Jul 2021 fdisk(8)
+Oracle Solaris 11.4 10 Mar 2023 fdisk(8)
diff -NurbBw 11.4.54/man8/fstyp.8 11.4.57/man8/fstyp.8
--- 11.4.54/man8/fstyp.8 2023-05-24 15:26:53.410537923 -0700
+++ 11.4.57/man8/fstyp.8 2023-05-24 15:27:32.514649314 -0700
@@ -113,8 +113,8 @@
mkfs_ufs(8), tunefs(8)
NOTES
- The use of heuristics implies that the result offstyp is not guaranteed
- to be accurate.
+ The use of heuristics implies that the result of fstyp is not guaran-
+ teed to be accurate.
This command is unreliable and its results should not be used to make
@@ -123,4 +123,4 @@
-Oracle Solaris 11.4 4 Feb 2015 fstyp(8)
+Oracle Solaris 11.4 10 Mar 2023 fstyp(8)
diff -NurbBw 11.4.54/man8/halt.8 11.4.57/man8/halt.8
--- 11.4.54/man8/halt.8 2023-05-24 15:26:53.463258517 -0700
+++ 11.4.57/man8/halt.8 2023-05-24 15:27:32.547068603 -0700
@@ -6,10 +6,10 @@
halt, poweroff - stop the processor
SYNOPSIS
- /usr/sbin/halt [-dlnqy]
+ /usr/sbin/halt [-dlnqy][-c comment]
- /usr/sbin/poweroff [-dlnqy]
+ /usr/sbin/poweroff [-dlnqy][-c comment]
DESCRIPTION
The halt and poweroff utilities write any pending information to the
@@ -25,12 +25,20 @@
OPTIONS
The following options are supported:
- -d Force a system crash dump before rebooting. See dumpadm(8) for
- information on configuring system crash dumps.
+ -c comment Include the supplied comment in any messages logged and
+ as much of the comment as will fit into the wtmpx record.
+ If a crash dump is being forced make the comment avail-
+ able in the crash dump. The comment will need to be
+ quoted according to the shell's quoting rules.
- -l Suppress sending a message to the system log daemon, syslogd(8),
- about who executed halt.
+ -d Force a system crash dump before rebooting. See
+ dumpadm(8) for information on configuring system crash
+ dumps.
+
+
+ -l Suppress sending a message to the system log daemon, sys-
+ logd(8), about who executed halt.
-n Prevent the sync(8) before stopping.
@@ -66,4 +74,4 @@
-Oracle Solaris 11.4 28 Feb 2012 halt(8)
+Oracle Solaris 11.4 16 Dec 2022 halt(8)
diff -NurbBw 11.4.54/man8/in.rexecd.8 11.4.57/man8/in.rexecd.8
--- 11.4.54/man8/in.rexecd.8 2023-05-24 15:26:53.493371816 -0700
+++ 11.4.57/man8/in.rexecd.8 2023-05-24 15:27:32.591715301 -0700
@@ -73,15 +73,14 @@
in.rexecd uses pam(3PAM) for authentication, account management, and
session management. The PAM configuration policy, configured in
/etc/pam.conf or per-service files in /etc/pam.d/, specifies the mod-
- ules to be used for in.rexeced via the service name rexec. If there are
+ ules to be used for in.rexecd via the service name rexec. If there are
no entries for the rexec service, then the entries for the "other" ser-
vice will be used.
If the rexec configuration results in any PAM conversation prompts
other than for the UNIX password, the conversation will fail and
- in.rexeced will report an authentication error and abort the connec-
- tion.
+ in.rexecd will report an authentication error and abort the connection.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
@@ -161,4 +160,4 @@
-Oracle Solaris 11.4 12 May 2022 in.rexecd(8)
+Oracle Solaris 11.4 10 Mar 2023 in.rexecd(8)
diff -NurbBw 11.4.54/man8/in.routed.8 11.4.57/man8/in.routed.8
--- 11.4.54/man8/in.routed.8 2023-05-24 15:26:53.548161900 -0700
+++ 11.4.57/man8/in.routed.8 2023-05-24 15:27:32.629532642 -0700
@@ -85,7 +85,7 @@
checks the routing table entries. If an entry has not been updated for
3 minutes, the entry's metric is set to infinity and marked for dele-
tion. Deletions are delayed until the route has been advertised with an
- infnite metric to ensure the invalidation is propagated throughout the
+ infinite metric to ensure the invalidation is propagated throughout the
local internet. This is a form of poison reverse.
@@ -406,4 +406,4 @@
-Oracle Solaris 11.4 11 Dec 2020 in.routed(8)
+Oracle Solaris 11.4 10 Mar 2023 in.routed(8)
diff -NurbBw 11.4.54/man8/installadm.8 11.4.57/man8/installadm.8
--- 11.4.54/man8/installadm.8 2023-05-24 15:26:53.658291495 -0700
+++ 11.4.57/man8/installadm.8 2023-05-24 15:27:32.743003498 -0700
@@ -4335,4 +4335,4 @@
-Oracle Solaris 11.4 24 Mar 2020 installadm(8)
+Oracle Solaris 11.4 10 Mar 2023 installadm(8)
diff -NurbBw 11.4.54/man8/intrstat.8 11.4.57/man8/intrstat.8
--- 11.4.54/man8/intrstat.8 2023-05-24 15:26:53.699940877 -0700
+++ 11.4.57/man8/intrstat.8 2023-05-24 15:27:32.773002464 -0700
@@ -47,8 +47,8 @@
intrstat induces a small system-wide performance degradation. As a
result, only the super-user can run intrstat by default. The Oracle
Solaris 11.4 DTrace (Dynamic Tracing) Guide explains how administrators
- can grant privileges to other users to permit them to run intrstat com-
- mand.
+ can grant privileges to other users to permit them to run the intrstat
+ command.
OPTIONS
The following options are supported:
@@ -184,4 +184,4 @@
-Oracle Solaris 11.4 11 May 2021 intrstat(8)
+Oracle Solaris 11.4 10 Mar 2023 intrstat(8)
diff -NurbBw 11.4.54/man8/ldm.8 11.4.57/man8/ldm.8
--- 11.4.54/man8/ldm.8 2023-05-24 15:26:53.963785930 -0700
+++ 11.4.57/man8/ldm.8 2023-05-24 15:27:32.984121413 -0700
@@ -452,7 +452,6 @@
[boot-policy=enforce|none|warning] [master=master-ldom1,...,master-ldom4]
[max-cores=[num|unlimited]] [uuid=uuid] [shutdown-group=num] [rc-add-policy=[iov]]
[perf-counters=counter-set] [fj-software-limit-pagesize=page-size] domain-name
- [calculate-effective-max-pagesize=[<on|off>]] domain-name
ldm add-domain domain-name...
@@ -712,12 +711,6 @@
o domain-name specifies the logical domain to be added.
- o calculate-effective-max-pagesize enables or disables the
- pagesize limit pre-determined by Oracle Solaris for a
- domain. By default, calculate-effective-max-pagesize is
- enabled.
-
-
Set Options for Domains
The set-domain subcommand enables you to modify properties such as
boot-policy, mac-addr, hostid, failure-policy, extended-mapin-space,
@@ -742,7 +735,6 @@
[extended-mapin-space=[on|off]] [boot-policy=enforce|none|warning]
[master=[master-ldom1,...,master-ldom4]] [max-cores=[num|unlimited]] [shutdown-group=num]
[rc-add-policy=[iov]] [perf-counters=[counter-set]] [fj-software-limit-pagesize=page-size] domain-name
- [calculate-effective-max-pagesize=[<on|off>]] domain-name
@@ -1007,12 +999,6 @@
which you want to set options.
- o calculate-effective-max-pagesize enables or disables the
- pagesize limit pre-determined by Oracle Solaris for a
- domain. By default, calculate-effective-max-pagesize is
- enabled.
-
-
Remove Domains
The remove-domain subcommand removes one or more logical domains.
@@ -6696,17 +6682,17 @@
primary# ldm list-hba -l ldg1
NAME VSAN
---- ----
- /SYS/MB/SASHBA0/HBA0/PORT1
+ /SYS/MB/SASHBA0/scsi@0/iport@1
[/pci@300/pci@1/pci@0/pci@2/scsi@0/iport@1]
- /SYS/MB/SASHBA0/HBA0/PORT2
+ /SYS/MB/SASHBA0/scsi@0/iport@2
[/pci@300/pci@1/pci@0/pci@2/scsi@0/iport@2]
- /SYS/MB/SASHBA0/HBA0/PORT4
+ /SYS/MB/SASHBA0/scsi@0/iport@4
[/pci@300/pci@1/pci@0/pci@2/scsi@0/iport@4]
- /SYS/MB/SASHBA0/HBA0/PORT8
+ /SYS/MB/SASHBA0/scsi@0/iport@8
[/pci@300/pci@1/pci@0/pci@2/scsi@0/iport@8]
- /SYS/MB/PCIE1/HBA0/PORT0,0
+ /SYS/MB/PCIE1/SUNW,emlxs@0/fp@0,0
[/pci@300/pci@1/pci@0/pci@4/SUNW,emlxs@0/fp@0,0]
- /SYS/MB/PCIE1/HBA0,1/PORT0,0
+ /SYS/MB/PCIE1/SUNW,emlxs@0,1/fp@0,0
[/pci@300/pci@1/pci@0/pci@4/SUNW,emlxs@0,1/fp@0,0]
@@ -6716,8 +6702,8 @@
devices associated with the last initiator port in the list.
- primary# ldm add-vsan /SYS/MB/PCIE1/HBA0,1/PORT0,0 port0 ldg1
- /SYS/MB/PCIE1/HBA0,1/PORT0,0 resolved to device: /pci@300/pci@1/pci@0/pci@4/SUNW,emlxs@0,1/fp@0,0
+ primary# ldm add-vsan /SYS/MB/PCIE1/SUNW,emlxs@0,1/fp@0,0 port0 ldg1
+ /SYS/MB/PCIE1/SUNW,emlxs@0,1/fp@0,0 resolved to device: /pci@300/pci@1/pci@0/pci@4/SUNW,emlxs@0,1/fp@0,0
@@ -7202,4 +7188,4 @@
-Oracle Solaris 11.4 03 Nov 2021 ldm(8)
+Oracle Solaris 11.4 04 Jan 2023 ldm(8)
diff -NurbBw 11.4.54/man8/modinfo.8 11.4.57/man8/modinfo.8
--- 11.4.54/man8/modinfo.8 2023-05-24 15:26:53.992773403 -0700
+++ 11.4.57/man8/modinfo.8 2023-05-24 15:27:33.034881294 -0700
@@ -159,7 +159,6 @@
8 1 dls LOADED/INSTALLED
9 1 mac LOADED/INSTALLED
10 1 procfs LOADED/INSTALLED
- 11 0 lbl_edition UNLOADED/UNINSTALLED
Example 4 Using the -o and -p Options
@@ -199,4 +198,4 @@
-Oracle Solaris 11.4 11 May 2021 modinfo(8)
+Oracle Solaris 11.4 28 November 2022 modinfo(8)
diff -NurbBw 11.4.54/man8/nscd.8 11.4.57/man8/nscd.8
--- 11.4.54/man8/nscd.8 2023-05-24 15:26:54.031719742 -0700
+++ 11.4.57/man8/nscd.8 2023-05-24 15:27:33.079561690 -0700
@@ -308,13 +308,6 @@
You can use the svccfg command to configure this service. See
nscd.conf(5).
-
- The obsolete service svc:/system/name-service-cache has been retained
- for backward compatibility with scripts that might reference it. Its
- only purpose is to serve as an optional_all dependency on the service
- svc:/system/name-service/cache. The obsolete service name will be
- removed in a future release.
-
HISTORY
The Solaris 2.5 OS introduced the /usr/sbin/nscd command that provides
cached lookups for the passwd, group, and hosts databases for a limited
@@ -331,4 +324,4 @@
-Oracle Solaris 11.4 4 Nov 2021 nscd(8)
+Oracle Solaris 11.4 15 Feb 2023 nscd(8)
diff -NurbBw 11.4.54/man8/nscfg.8 11.4.57/man8/nscfg.8
--- 11.4.54/man8/nscfg.8 2023-05-24 15:26:54.071282994 -0700
+++ 11.4.57/man8/nscfg.8 2023-05-24 15:27:33.126627396 -0700
@@ -101,11 +101,6 @@
NIS server update service (rpc.ypupdated)
- svc:/system/name-service/upgrade:default
-
- Import legacy configuration files into SMF service.
-
-
SUB-COMMANDS
The nscfg utility supports the subcommands described below. Options are
described in the context of the subcommands.
@@ -275,4 +270,4 @@
-Oracle Solaris 11.4 24 Dec 2014 nscfg(8)
+Oracle Solaris 11.4 15 Feb 2023 nscfg(8)
diff -NurbBw 11.4.54/man8/pbind.8 11.4.57/man8/pbind.8
--- 11.4.54/man8/pbind.8 2023-05-24 15:26:54.105898513 -0700
+++ 11.4.57/man8/pbind.8 2023-05-24 15:27:33.180986965 -0700
@@ -177,6 +177,11 @@
equal to an ID from the list. Zone names are also sup-
ported instead of zone IDs.
+
+ -i ctid idlist is a list of contract IDs. The binding command
+ applies to all processes with an effective contract ID
+ equal to an ID from the list.
+
Note that The P_MYID identifier can be used in conjunction with any
of the ID types above to indicate that the desired ID is that of
the calling LWP for the given type (for example, P_PID and P_MYID
@@ -208,9 +213,9 @@
Displays the CPU bindings of the specified processes or of all pro-
cesses. If a process is composed of multiple LWPs which have dif-
ferent bindings and the LWPs are not explicitly specified, the
- bindings of only one of the bound LWPs will be displayed. The bind-
- ings of a subset of LWPs can be displayed by appending /lwpids to
- the process IDs. Multiple LWPs may be selected using - and , delim-
+ bindings of all of the bound LWPs will be displayed. The bindings
+ of a subset of LWPs can be displayed by appending /lwpids to the
+ process IDs. Multiple LWPs may be selected using - and , delim-
iters.
Additionally, the -gl options may be included to request that the
@@ -533,4 +538,4 @@
-Oracle Solaris 11.4 3 Nov 2021 pbind(8)
+Oracle Solaris 11.4 3 Dec 2022 pbind(8)
diff -NurbBw 11.4.54/man8/poolcfg.8 11.4.57/man8/poolcfg.8
--- 11.4.54/man8/poolcfg.8 2023-05-24 15:26:54.144512402 -0700
+++ 11.4.57/man8/poolcfg.8 2023-05-24 15:27:33.236865341 -0700
@@ -271,6 +271,13 @@
on the system, each of which has a numeric name
equal to its cpuid.
+ Kernel zones reserve some pools and psets for
+ internal use. The names for these pools and psets
+ begin with the SYSzone_ prefix. Because the zone
+ framework manages these pools and psets fully, do
+ not change the entity's configuration, bind it to
+ any process, or bind it to other kernel zones.
+
prop-type It can be any one of the following:
diff -NurbBw 11.4.54/man8/poweroff.8 11.4.57/man8/poweroff.8
--- 11.4.54/man8/poweroff.8 2023-05-24 15:26:54.174298368 -0700
+++ 11.4.57/man8/poweroff.8 2023-05-24 15:27:33.292481060 -0700
@@ -6,10 +6,10 @@
halt, poweroff - stop the processor
SYNOPSIS
- /usr/sbin/halt [-dlnqy]
+ /usr/sbin/halt [-dlnqy][-c comment]
- /usr/sbin/poweroff [-dlnqy]
+ /usr/sbin/poweroff [-dlnqy][-c comment]
DESCRIPTION
The halt and poweroff utilities write any pending information to the
@@ -25,12 +25,20 @@
OPTIONS
The following options are supported:
- -d Force a system crash dump before rebooting. See dumpadm(8) for
- information on configuring system crash dumps.
+ -c comment Include the supplied comment in any messages logged and
+ as much of the comment as will fit into the wtmpx record.
+ If a crash dump is being forced make the comment avail-
+ able in the crash dump. The comment will need to be
+ quoted according to the shell's quoting rules.
- -l Suppress sending a message to the system log daemon, syslogd(8),
- about who executed halt.
+ -d Force a system crash dump before rebooting. See
+ dumpadm(8) for information on configuring system crash
+ dumps.
+
+
+ -l Suppress sending a message to the system log daemon, sys-
+ logd(8), about who executed halt.
-n Prevent the sync(8) before stopping.
@@ -66,4 +74,4 @@
-Oracle Solaris 11.4 28 Feb 2012 halt(8)
+Oracle Solaris 11.4 16 Dec 2022 halt(8)
diff -NurbBw 11.4.54/man8/reboot.8 11.4.57/man8/reboot.8
--- 11.4.54/man8/reboot.8 2023-05-24 15:26:54.212498616 -0700
+++ 11.4.57/man8/reboot.8 2023-05-24 15:27:33.331266912 -0700
@@ -6,10 +6,10 @@
reboot - restart the operating system
SYNOPSIS
- /usr/sbin/reboot [-dlnq] [-f | -p] [boot_arguments]
+ /usr/sbin/reboot [-dlnq] [-c comment] [-f | -p] [boot_arguments]
- /usr/sbin/reboot [-f [-e environment] | -p] [-dlnq] [boot_arguments]
+ /usr/sbin/reboot [-c comment] [-f [-e environment] | -p] [-dlnq] [boot_arguments]
DESCRIPTION
The reboot utility restarts the kernel. The kernel is loaded into mem-
@@ -47,6 +47,14 @@
OPTIONS
The following options are supported:
+ -c comment
+
+ Include the supplied comment in any messages logged and as much of
+ the comment as will fit into the wtmpx record. If a crash dump is
+ being forced make the comment available in the crash dump. The com-
+ ment will need to be quoted according to the shell's quoting rules.
+
+
-d
Force a system crash dump before rebooting. See dumpadm(8) for
@@ -271,4 +279,4 @@
-Oracle Solaris 11.4 3 Nov 2021 reboot(8)
+Oracle Solaris 11.4 16 Dec 2022 reboot(8)
diff -NurbBw 11.4.54/man8/rexecd.8 11.4.57/man8/rexecd.8
--- 11.4.54/man8/rexecd.8 2023-05-24 15:26:54.258760655 -0700
+++ 11.4.57/man8/rexecd.8 2023-05-24 15:27:33.360566335 -0700
@@ -73,15 +73,14 @@
in.rexecd uses pam(3PAM) for authentication, account management, and
session management. The PAM configuration policy, configured in
/etc/pam.conf or per-service files in /etc/pam.d/, specifies the mod-
- ules to be used for in.rexeced via the service name rexec. If there are
+ ules to be used for in.rexecd via the service name rexec. If there are
no entries for the rexec service, then the entries for the "other" ser-
vice will be used.
If the rexec configuration results in any PAM conversation prompts
other than for the UNIX password, the conversation will fail and
- in.rexeced will report an authentication error and abort the connec-
- tion.
+ in.rexecd will report an authentication error and abort the connection.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
@@ -161,4 +160,4 @@
-Oracle Solaris 11.4 12 May 2022 in.rexecd(8)
+Oracle Solaris 11.4 10 Mar 2023 in.rexecd(8)
diff -NurbBw 11.4.54/man8/routed.8 11.4.57/man8/routed.8
--- 11.4.54/man8/routed.8 2023-05-24 15:26:54.291093488 -0700
+++ 11.4.57/man8/routed.8 2023-05-24 15:27:33.406180767 -0700
@@ -85,7 +85,7 @@
checks the routing table entries. If an entry has not been updated for
3 minutes, the entry's metric is set to infinity and marked for dele-
tion. Deletions are delayed until the route has been advertised with an
- infnite metric to ensure the invalidation is propagated throughout the
+ infinite metric to ensure the invalidation is propagated throughout the
local internet. This is a form of poison reverse.
@@ -406,4 +406,4 @@
-Oracle Solaris 11.4 11 Dec 2020 in.routed(8)
+Oracle Solaris 11.4 10 Mar 2023 in.routed(8)
diff -NurbBw 11.4.54/man8/sharectl.8 11.4.57/man8/sharectl.8
--- 11.4.54/man8/sharectl.8 2023-05-24 15:26:54.320248595 -0700
+++ 11.4.57/man8/sharectl.8 2023-05-24 15:27:33.459644306 -0700
@@ -197,8 +192,7 @@
the location specified for that service in automountd(8).
- # sharectl set trace=1 autofs
-
+ # sharectl set -p trace=1 autofs
Example 7 Requiring Client to Use a Reserved Port for NFS Calls Shared
@@ -244,4 +237,4 @@
-Oracle Solaris 11.4 12 Sept 2022 sharectl(8)
+Oracle Solaris 11.4 10 Mar 2023 sharectl(8)
diff -NurbBw 11.4.54/man8/svc.zones.8 11.4.57/man8/svc.zones.8
--- 11.4.54/man8/svc.zones.8 2023-05-24 15:26:54.355761134 -0700
+++ 11.4.57/man8/svc.zones.8 2023-05-24 15:27:33.535420854 -0700
@@ -36,7 +36,7 @@
- Failures during the infrastructure setup of a particular zone, will
+ Failures during the infrastructure setup of a particular zone will
place that zone in maintenance. The zones delegated restarter will
retry the infrastructure setup on svcadm(8) clear for zones in mainte-
nance because of failures in its infrastructure setup.
@@ -56,10 +56,10 @@
the "Zones Delegated Restarter Properties" below.
Zone SMF Dependencies
- The set of SMF FMRIs that constitute the zone dependencies will be
- defined by a new zonecfg(8) resource dependency. It is comprised of
- grouping properties and FMRI properties. All SMF dependencies for a
- zone will be of type service, and have restart_on attribute as none.
+ The set of SMF FMRIs that constitute the zone dependencies is defined
+ in zonecfg(8) resource smf-dependency. It is comprised of grouping
+ properties and FMRI properties. All SMF dependencies for a zone will be
+ of type service, and have restart_on attribute as none.
The following zonecfg(8) commands creates SMF dependencies:
@@ -85,6 +85,10 @@
The default for grouping is require_all and must not be explicitly set.
The FMRI values will be validated against libscf(3LIB) SCF_TYPE_FMRI.
+
+ A zone may be manually booted even if its SMF dependencies have not
+ been satisfied.
+
Zones Boot Ordering
There are two ways to establish the zone's boot order:
@@ -267,4 +271,4 @@
-Oracle Solaris 11.4 11 May 2021 svc.zones(8)
+Oracle Solaris 11.4 19 Jan 2023 svc.zones(8)
diff -NurbBw 11.4.54/man8/sxadm.8 11.4.57/man8/sxadm.8
--- 11.4.54/man8/sxadm.8 2023-05-24 15:26:54.408194824 -0700
+++ 11.4.57/man8/sxadm.8 2023-05-24 15:27:33.641995499 -0700
@@ -132,6 +132,40 @@
position-independent executable are also randomized under ASLR.
+ FB_CLEAR - Fill Buffer Clear Mitigation
+
+ FB_CLEAR is a mitigation that explicitly overwrites fill buffers to
+ clear no longer needed data as part of the mitigation for the Fill
+ Buffer Stale Data Propagator (FBSDP) and Device Register Partial
+ Write (DRPW, CVE-2022-21166) for Intel CPUs only. This prevents
+ unwanted or stale data from being propagated to a location where it
+ could be read or sampled by a potentially malicious process. It is
+ enabled by default on systems where it is required and supported.
+ Some Intel CPUs may allow this mitigation to be disabled. On those
+ CPUs FB_CLEAR can be configured through sxadm, otherwise FB_CLEAR
+ will be a readonly extension.
+
+ A reboot is required after enabling or disabling FB_CLEAR for the
+ changes to take effect.
+
+
+ FBSDP_NO - Fill Buffer Stale Data Propagator Mitigation
+
+ FBSDP_NO is a readonly extension that is only enabled if the CPU is
+ not vulnerable to the Fill Buffer Stale Data Propagator (FBSDP)
+ vulnerabilities that are mitigated in software by the FB_CLEAR
+ extension.
+
+ Note -
+
+
+
+ On Intel CPUs that have the FBSDP_NO mitigation enabled, the
+ FB_CLEAR extension will always be enabled as a readonly exten-
+ sion.
+
+
+
HW_BTI - Hardware BTI Mitigation
HW_BTI provides hardware-based mitigation for CVE-2017-5715 (Branch
@@ -294,6 +328,13 @@
instead.
+ PSDP_NO - Primary Stale Data Propagator Mitigation
+
+ PSDP_NO is a readonly extension that is only enabled if the CPU is
+ not vulnerable to Primary Stale Data Propagator (PSDP) vulnerabili-
+ ties.
+
+
RDCL_NO - Rogue Data Cache Avoidance Mitigation
RDCL_NO is a readonly extension that is only enabled if the CPU is
@@ -359,6 +400,15 @@
warding Disable (PSFD) mitigation for CVE-2021-0145.
+ SBDR_SSDP_NO - Shared Buffer Data Read and Sideband Stale Data Propaga-
+ tor Mitigation
+
+ SBDR_SSDP_NO is a readonly extension that is only enabled if the
+ CPU is not vulnerable to either the Shared Buffer Data Read (SBDR,
+ CVE-2022-21123) or the Sideband Stale Data Propagator (SSDP) vul-
+ nerabilities.
+
+
TAA_NO - Intel TSX Asynchronous Abort (TAA) Hardware Avoidance Mitiga-
tion
@@ -799,6 +849,8 @@
+-------------------------------------------------+---------+
| EXTENSION |RELEASE |
+-------------------------------------------------+---------+
+ |FB_CLEAR, FBSDP_NO, PSDP_NO, SBDR_SSDP_NO |11.4.57 |
+ +-------------------------------------------------+---------+
|UMIP |11.4.30 |
+-------------------------------------------------+---------+
|TAA_NO, TSX_DISABLE |11.4.25 |
@@ -830,4 +882,4 @@
-Oracle Solaris 11.4 19 Sep 2022 sxadm(8)
+Oracle Solaris 11.4 7 Mar 2023 sxadm(8)
diff -NurbBw 11.4.54/man8/update_drv.8 11.4.57/man8/update_drv.8
--- 11.4.54/man8/update_drv.8 2023-05-24 15:26:54.463674015 -0700
+++ 11.4.57/man8/update_drv.8 2023-05-24 15:27:33.689029564 -0700
@@ -122,7 +122,7 @@
plete device policies. For the -d option, policy is a white space
separated list of minor device specifications. The minor device
specifications are matched exactly against the entries in
- /etc/security/device_policy, that is., no wildcard matching is per-
+ /etc/security/device_policy, that is, no wildcard matching is per-
formed.
@@ -292,4 +292,4 @@
-Oracle Solaris 11.4 27 Nov 2017 update_drv(8)
+Oracle Solaris 11.4 10 Mar 2023 update_drv(8)
diff -NurbBw 11.4.54/man8/utmp2wtmp.8 11.4.57/man8/utmp2wtmp.8
--- 11.4.54/man8/utmp2wtmp.8 2023-05-24 15:26:54.502620283 -0700
+++ 11.4.57/man8/utmp2wtmp.8 2023-05-24 15:27:33.739430737 -0700
@@ -138,7 +138,7 @@
/var/adm/wtmpx History of user access and administration informa-
- tion..
+ tion.
ATTRIBUTES
@@ -158,4 +158,4 @@
-Oracle Solaris 11.4 11 May 2021 acct(8)
+Oracle Solaris 11.4 10 Mar 2023 acct(8)
diff -NurbBw 11.4.54/man8/zfs_encrypt.8 11.4.57/man8/zfs_encrypt.8
--- 11.4.54/man8/zfs_encrypt.8 2023-05-24 15:26:54.561418054 -0700
+++ 11.4.57/man8/zfs_encrypt.8 2023-05-24 15:27:33.797009977 -0700
@@ -81,6 +81,11 @@
inheritance from the destination) only when received into a zpool at
zpool version 46 or above: Compact File Metadata for Encryption.
+
+ A send stream created with the -w crypto option can only be received
+ into a destination pool that is at version 50 (Raw Crypto Replication)
+ or above.
+
Native ZFS Encryption Properties
The following native properties related to ZFS encryption consist of
read-only statistics about the dataset. These properties cannot be set
@@ -851,8 +856,8 @@
For information about using other ZFS features, see zfs_allow(8),
zfs_share(8), zfs(8), and the Managing ZFS File Systems in Oracle
- Solaris 11.4.
+ Solaris 11.4 book.
-Oracle Solaris 11.4 17 Nov 2020 zfs_encrypt(8)
+Oracle Solaris 11.4 10 Mar 2023 zfs_encrypt(8)
diff -NurbBw 11.4.54/man8/zfs.8 11.4.57/man8/zfs.8
--- 11.4.54/man8/zfs.8 2023-05-24 15:26:54.667975146 -0700
+++ 11.4.57/man8/zfs.8 2023-05-24 15:27:33.886483269 -0700
@@ -135,12 +135,12 @@
zfs rollback [-rRf] snapshot
- zfs send [-vbpnC] [-Rr[c]] [-w compress|none]
+ zfs send [-vbpnC] [-Rr[c]] [-w compress|crypto|none]
[-D [-m memsize]]
[-iI snapshot] [-s subopt] snapshot
- zfs set [-r] property=value filesystem|volume|snapshot ...
+ zfs set [-f|-r] property=value filesystem|volume|snapshot ...
zfs share -u [-o property=value] filesystem%share
@@ -1391,15 +1391,15 @@
grace period it is automatically retained for the period specified
by retention.period.default.
- On mandatory retention filesystems, once automatic retention is
- enabled, it cannot be turned off. That is, the grace period value,
- once changed from zero to a positive integer, cannot be set back to
- zero. Further, on mandatory retention filesystems, the grace period
- value may never be increased, but may be reduced with a minimum of
- 1 second.
+ On mandatory retention policy filesystems, once automatic retention
+ is enabled, it cannot be turned off. That is, the grace period
+ value, once changed from zero to a positive integer, cannot be set
+ back to zero. Further, on mandatory retention policy filesystems,
+ the grace period value may never be increased, but may be reduced
+ with a minimum of 1 second.
- On privileged retention filesystems, the grace period value may be
- adjusted as desired.
+ On a filesystem with privileged retention policy, the grace period
+ value may be adjusted as desired.
Retention period values must be less than 100 years.
@@ -1411,6 +1411,10 @@
erty will also display (expired) indicating that all file reten-
tions have expired.
+ The expiry provides no protection from destruction for privileged
+ retention policy filesystems, and therefore is not maintained. It
+ will always appear as 0.
+
retention.status.files
@@ -2322,7 +2326,7 @@
zfs send -R -[iI]), destroy snapshots and file systems that do
not exist on the sending side.
- This is not allowed on mandatory retention filesystems.
+ This is not allowed on mandatory retention policy filesystems.
-n
@@ -2557,8 +2561,8 @@
- zfs send [-vbpnC] [-[Rr[c]]] [-w compress|none] [-D [-m memsize]]
- [-[iI] snapshot] [-s subopt] snapshot
+ zfs send [-vbpnC] [-[Rr[c]]] [-w compress|crypto|none] [-D [-m mem-
+ size]] [-[iI] snapshot] [-s subopt] snapshot
Creates a stream representation of the second snapshot, which is
written to standard output. The output can be redirected to a file
@@ -2734,15 +2738,26 @@
ated.
- -w
+ -w compress
+
+ Send the compressed filesystem blocks compressed in the stream,
+ that is, without decompressing them. compress also implicitly
+ enables the -p option, and is mutually exclusive with the -D
+ option. compress is the default argument when the -w option is
+ not specified.
+
+
+ -w crypto
+
+ Send filesystem blocks as they are on disk, without decompress-
+ ing or decrypting them. crypto also implicitly enables the -p
+ and -compress options, and is mutually exclusive with the -D
+ option.
+
- Specifies the compress argument. The compressed filesystem
- blocks are sent compressed in the stream, that is, without
- decompressing them. compress also implicitly enables the -p
- option, and is mutually exclusive with the -D option.
+ -w none
- The none argument disables the compress behaviour. none is the
- default argument, when the -w option is not specified.
+ The none argument disables the compress behaviour.
-m memsize
@@ -2782,8 +2797,7 @@
erty.
-
- zfs set [-r] property=value filesystem|volume|snapshot ...
+ zfs set [-f|-r] property=value filesystem|volume|snapshot ...
Sets the property to the given value for each dataset. Only some
properties can be edited. See the "Properties" section for more
@@ -2794,6 +2808,16 @@
zettabytes, respectively). User properties can be set on snapshots.
For more information, see the "User Properties" section.
+ -f
+
+ Force the setting of the value. This only applies when setting
+ the volsize to shrink a volume. Extreme caution should be used
+ when using this option as most consumers of devices don't
+ expect them to shrink and those that do usually require advance
+ preparation. Shrinking volumes can result in permanent loss of
+ data.
+
+
-r
Recursively apply the effective value of the setting throughout
@@ -3486,4 +3510,4 @@
-Oracle Solaris 11.4 21 Mar 2022 zfs(8)
+Oracle Solaris 11.4 18 Jan 2023 zfs(8)
diff -NurbBw 11.4.54/man8/zoneadm.8 11.4.57/man8/zoneadm.8
--- 11.4.54/man8/zoneadm.8 2023-05-24 15:26:54.814258369 -0700
+++ 11.4.57/man8/zoneadm.8 2023-05-24 15:27:33.944722636 -0700
@@ -6,17 +6,11 @@
zoneadm - administer zones
SYNOPSIS
- zoneadm -z zonename [-u uuid-match] subcommand [subcommand-options]
+ zoneadm -z zonename [-u uuid-match] subcommand [subcommand-arguments]
zoneadm [-R root] [-z zonename] [-u uuid-match] list [list-options]
-
- zoneadm -z zonename [-u uuid-match] mark incomplete
-
-
- zoneadm -z zonename [-u uuid-match] mark unavailable
-
DESCRIPTION
The zoneadm utility is used to administer system zones. A zone is an
operating system container that is maintained by the operating system
@@ -52,7 +46,7 @@
-R root
Specify an alternate root (boot environment). This option can only
- be used in conjunction with the list and mark subcommands.
+ be used in conjunction with the list subcommand.
-u uuid-match
@@ -87,8 +81,7 @@
The following subcommands are supported:
- zoneadm attach [-u] [-F] [-x extended-options] [-n path] [brand-spe-
- cific options]
+ zoneadm attach [-n path] [brand-specific options]
The attach subcommand takes a zone that has been detached from one
system and attaches the zone onto a new system. Therefore, it is
@@ -102,17 +95,6 @@
is unable to perform such a transition, the zone will remain in the
unavailable state.
- The -F option can be used to force the zone into the installed
- state with no software compatibility tests. This option should be
- used with care since it can leave the zone in an unsupportable
- state if it was moved from a source system to a target system that
- is unable to properly host the zone. The -n option can be used to
- perform a dry run of the attach subcommand. It uses the output of
- the detach -n subcommand as input and is useful to identify any
- conflicting issues, such as the network device being incompatible,
- and can also determine whether the host is capable of supporting
- the zone. The path can be -, to read the input from standard input.
-
For additional brand specific options for this subcommand, see
Brand-Specific sections below.
@@ -122,35 +104,17 @@
Use the following command to attach a zone:
- # zoneadm -z my-zone attach
-
- Use the following command to attach and update a zone:
+ # zoneadm -z my-zone attach [brand-specific-options]
-
- # zoneadm -z my-zone attach -u
-
- In the absence of -n (as above), the source zone must be halted
- before this subcommand can be used.
+ In the absence of -n, the source zone must be halted before this
+ subcommand can be used.
-n path
- Read the zone manifest and verify that the target machine has
- the correct configuration to host the zone without actually
- performing an attach. The zone on the target system does not
- have to be configured on the new host before doing a trial-run
- attach.
-
-
- -u
-
- Update the attached zone.
-
-
- -x force-zpool-import
-
- Specify this option to forcibly reuse existing zpool resources
- that may appear to be in in-use.
+ The option uses the output of the detach -n subcommand as input
+ and can determine whether the host is capable of supporting the
+ zone. The path can be -, to read the input from standard input.
The attach subcommand might fail if the system in maintenance
state. For more information on maintenance state, see the sysadm(8)
@@ -259,7 +223,7 @@
-x force-zpool-create=root-pool-name
- where root-pool-name is the name of the root zpool in the
+ where root-pool-name is the name of the root ZFS pool in the
source zone. Kernel zones do not support -x force-zpool-create-
all.
@@ -413,8 +377,7 @@
Brand-Specific sections below.
- zoneadm list [list-options]
- zoneadm list [-c] [-i] [[-p] | [-s] | [-v]] [-d] [-b brandlist]
+ zoneadm list [-b brandlist] [-c] [-d] [-i] [[-p] | [-s] | [-v]]
Display the name of the current zones, or the specified zone if
indicated.
@@ -429,12 +392,29 @@
The following list-options are supported:
+ -b brand[,brand]
+
+ Display only the brand(s) specified by this option.
+
+
-c
Display all configured zones. This option overrides the -i
option.
+ -d
+
+ Display zone description. This option works separately, and in
+ combination with -v, -c and -i by adding a rightmost column to
+ display the zone description.
+
+ The -s and -d options are mutually exclusive.
+
+ The -p and -d options cannot be used together as -p implies
+ printing the description.
+
+
-i
Expand the display to all installed zones.
@@ -499,24 +479,6 @@
The -s, -v, and -p options are mutually exclusive.
- -d
-
- Display zone description. This option works separately, and in
- combination with -v, -c and -i by adding a rightmost column to
- display the zone description.
-
- The -s and -d options are mutually exclusive.
-
- The -p and -d options cannot be used together as -p implies
- printing the description.
-
-
- -b brand[,brand]
-
- Display only the brand(s) specified by this option.
-
-
-
zoneadm apply [-n] [-q] [-x extended-options]
@@ -865,7 +827,7 @@
rootzpool, zpool
- All zpools configured are online on the system for a zone in
+ All ZFS pools configured are online on the system for a zone in
the installed state.
For a zone in configured state, it verifies that none of the
@@ -876,9 +838,10 @@
solaris Brand-Specific Subcommands
The following solaris brand-specific subcommand options are supported.
- zoneadm attach [-z ZBE] [-u | -U] [-c config_profile.xml | dir] [-x
- destroy-orphan-zbes | force-zbe-clone | deny-zbe-clone | attach-last-
- booted-zbe | attach-matched-zbe | attach-last-mounted-zbe]
+ zoneadm attach [-z ZBE] [-F] [-u | -U] [-c config_profile.xml | dir]
+ [-x force-zpool-import] [-x destroy-orphan-zbes | force-zbe-clone |
+ deny-zbe-clone | attach-last-booted-zbe | attach-matched-zbe | attach-
+ last-mounted-zbe]
Attach the specified solaris branded zone image into the zone.
zoneadm checks package levels on the machine to which the zone is
@@ -940,7 +903,16 @@
-x deny-zbe-clone
- For more details on -x options, see below:
+ For more details on -x options, see below.
+
+ -F
+
+ This option can be used to force the zone into the installed
+ state with no software compatibility tests. The option should
+ be used with care since it can leave the zone in an unsupport-
+ able state if it was moved from a source system to a target
+ system that is unable to properly host the zone.
+
-u
@@ -978,6 +950,12 @@
is attached.
+ -x force-zpool-import
+
+ Specify this option to forcibly reuse existing rootzpool and
+ zpool resources that may appear to be in in-use.
+
+
-x destroy-orphan-zbes
Destroys all zone boot environments that are not associated
@@ -1156,11 +1134,11 @@
o fs or dataset resource is configured
- o Device resource does not have the storage property set
+ o device resource does not have the storage property set
o The npiv:over-hba property is set and there is no zone
- config on the destination system
+ configuration on the destination system
For more information, see the attach sub-command section above for
the -z, -u, -U and -x option descriptions and the ZBE selection
@@ -1189,11 +1167,12 @@
local file system.
The move subcommand may also be used to change just the zonepath
- without otherwise changing the zone installation itself.
+ property to new-zonepath without otherwise changing the zone
+ installation itself.
The zone must be halted before this subcommand can be used. The
- zonepath must be a valid pathname and normal restrictions for a
- zonepath apply.
+ new-zonepath must be a valid pathname and usual restrictions for
+ the zonepath property apply.
The following options are supported:
@@ -1214,21 +1193,21 @@
-x force-zpool-destroy=rpool
- Specify this option to forcibly destroy the zpool associated
- with the original rootzpool resource after the zone installa-
- tion has been moved.
+ Specify this option to forcibly destroy the ZFS root pool rpool
+ associated with the original rootzpool resource after the zone
+ installation has been moved.
-x force-zpool-import
- Specify this option to forcibly reuse the existing zpool as the
- rootzpool resource.
+ Specify this option to forcibly reuse the existing ZFS root
+ pool as the rootzpool resource.
-x force-zpool-create=rpool
- Specify this option to forcibly create the zpool for the
- rootzpool resource.
+ Specify this option to forcibly create the ZFS root pool for
+ the rootzpool resource.
-x create-size=storage-size
@@ -1409,10 +1388,14 @@
-x install-size=size
Explicitly set the size of the root file system (default is
- 16g). The size can be specified with trailing letters such as
- 't', 'g', 'm', 'k', or 'b', or without any trailing letters to
- indicate bytes. The maximum size depends on the free space of
- the rpool.
+ 16g) when performing the default installation into a ZFS volume
+ dataset. The size can be specified with trailing letters such
+ as 't', 'g', 'm', 'k', or 'b', or without any trailing letters
+ to indicate bytes. The maximum size depends on the free space
+ of the root ZFS pool. This property is ignored for storage not
+ based on ZFS volumes (e.g. iscsi storage URI based volumes).
+ See also the create-size property for the zonecfg(8) device
+ resource.
-x no-auto-shutdown
@@ -1453,10 +1436,10 @@
-c cipher
Use the specified cipher to encrypt memory transfer. The value
- "none" disables encryption. The value "list" may be used to
- list supported ciphers. If not specified, a cipher will be
- automatically chosen based on the source and destination capa-
- bilities.
+ none disables encryption. The value list may be used to list
+ supported ciphers. If not specified, the cipher will be auto-
+ matically chosen based on the source and destination capabili-
+ ties.
-t auto | live
@@ -1469,7 +1452,7 @@
- zoneadm move [-v] -p URI [-x id=n] [-p URI [-x id=n] ...] [-x force-
+ zoneadm move [-av] [-p URI [-x id=n] ...] [-P URI ...] [-x force-
zpool-attach]
The move subcommand enables you to migrate storage on a running
@@ -1482,22 +1465,25 @@
In addition, you must be able to use the zlogin command to access
the kernel zone.
- The subcommand replaces all the devices that form a kernel zone's
- ZFS root pool with devices that you specify by using the -p
- option(s). Each device is represented as a URI. Ensure that any
- device you specify exists before you initiate the move operation.
- The number of devices you specify might not match the number of
- devices in the existing root pool. If you specify more than one
- device, the subcommand forms a mirror unless a mirror already
- exists. See solaris-kz(7).
-
- The move operation first attaches all new devices to the zone root
- zpool and then detaches all of the original devices. If you specify
- a device that is part of another ZFS pool, use the -x force-zpool-
- attach option to force that device to attach. While the newly
- attached disks are being resilvered, the root zpool status is
- DEGRADED. See zpool(8) for information about common restrictions
- when replacing disks in a ZFS pool.
+ The subcommand allows you to replace all devices that form a kernel
+ zone ZFS root pool with devices that you specify by using the -p
+ option(s). It can also add, replace, or remove individual devices
+ within its root ZFS pool. Each device is represented as a URI.
+ Ensure that any device to be added exists before you initiate the
+ move operation. When migrating the whole root ZFS pool, the number
+ of devices you specify via the -p options might not match the num-
+ ber of devices in the existing root ZFS pool. If the resulting num-
+ ber of root ZFS pool devices is greater than one, the subcommand
+ forms a mirror unless a mirror already exists. See solaris-kz(7).
+
+ The move operation first attaches all new devices, if applicable,
+ to the zone root ZFS pool and then detaches all of devices to be
+ removed, if applicable. If you specify a device that is part of
+ another ZFS pool, use the -x force-zpool-attach option to force
+ that device to attach. While the newly attached devices are being
+ resilvered, the root ZFS pool status is DEGRADED. See zpool(8) for
+ information about common restrictions when replacing devices in a
+ ZFS pool.
During the move operation, a failure or a SIGINT or SIGTERM signal
interruption triggers an attempt to restore the zone configuration
@@ -1508,11 +1494,28 @@
The move subcommand uses the following options:
+ -a
+
+ Requires -p. No devices are removed with this option. Use it to
+ form a root ZFS pool mirror or add more devices to an existing
+ mirror.
+
+
-p URI
- Specifies a URI that represents a device.
+ Specifies a URI that represents a device to be added to the
+ root ZFS pool. The device must already exist. If neither -a nor
+ -P is specified, devices represented by URIs specified by the
+ -p options replace all devices that presently form the kernel
+ zone root ZFS pool.
- You must use at least one -p option.
+
+ -P URI
+
+ Specifies a URI that represents a device to be removed from the
+ kernel zone root ZFS pool. The device must exist in the pool.
+ Multiple -P options are allowed. May be combined with -p
+ options.
-v
@@ -1522,7 +1525,7 @@
-x force-zpool-attach
- Forces the device to attach to the root zpool.
+ Forces the device to attach to the root ZFS pool.
-x id=n
@@ -1538,11 +1541,28 @@
The following solaris10 brand-specific subcommand options are sup-
ported.
- zoneadm attach [-c sysidcfg]
+ zoneadm attach [-F] [-z ZBE] [-x force-zpool-import]
Attach the specified solaris10 branded zone image into the branded
zone.
+ -F
+
+ See the option description for zoneadm attach in the solaris
+ brand section.
+
+
+ -z ZBE
+
+ Attach the specified existing zone boot environment ZBE.
+
+
+ -x force-zpool-import
+
+ See the option description for zoneadm attach in the solaris
+ brand section.
+
+
zoneadm clone [-c sysidcfg]
@@ -1814,8 +1834,8 @@
- The following command illustrates cold migration of a solaris zone to a
- new host.
+ The following command illustrates cold migration of a solaris branded
+ zone to a new host.
@@ -1827,6 +1847,40 @@
+ Example 11 Live Storage Migration of Kernel Zone
+
+
+
+ The following shows how to replace all devices in a running Kernel
+ Zone's ZFS root pool with a new set of devices, using verbose output.
+ After the operation finishes, the ZFS root pool will be represented by
+ a two-way mirror.
+
+
+
+ # zoneadm -z mykz move -v \
+ -p iscsi://10.10.10.9/luname.naa.600144f03d70c60000004ea57dacd122 \
+ -p iscsi://10.10.20.9/luname.naa.600144f03d70c80000004ea57da10001
+
+
+
+ Example 12 Replacing Single Device in Running Kernel Zone's ZFS Root
+ Pool
+
+
+
+ The following command shows how to replace one specific device in a
+ running Kernel Zone's ZFS root pool with a new device, using verbose
+ output.
+
+
+
+ # zoneadm -z mykz move -v \
+ -P iscsi://10.10.10.9/luname.naa.600144f03d70c60000004ea57dacd122 \
+ -p iscsi://10.10.20.9/luname.naa.600144f03d70c80000004ea57da10001
+
+
+
EXIT STATUS
The following exit values are returned:
@@ -1886,4 +1940,4 @@
-Oracle Solaris 11.4 4 Aug 2022 zoneadm(8)
+Oracle Solaris 11.4 19 Jan 2023 zoneadm(8)
diff -NurbBw 11.4.54/man8/zonecfg.8 11.4.57/man8/zonecfg.8
--- 11.4.54/man8/zonecfg.8 2023-05-24 15:26:54.966233188 -0700
+++ 11.4.57/man8/zonecfg.8 2023-05-24 15:27:34.142519825 -0700
@@ -644,12 +644,12 @@
To continue using your zones, please convert any zones which have
ip-type set to shared to have ip-type set to exclusive. In most
- cases this will involve replacing zonecfg(8) "net" resources with
- "anet" resources. If you have shared IP zones that are using inter-
+ cases this will involve replacing zonecfg(8) net resources with
+ anet resources. If you have shared IP zones that are using inter-
faces which are part of a global zone IPMP group, then you should
switch to using DLMP aggregations. In the global zone create a DLMP
aggregation on old IPMP interfaces and then then create a
- zonecfg(8) "anet" resource where the lower-link points to the DLMP
+ zonecfg(8) anet resource where the lower-link points to the DLMP
aggregation. Limited shared-IP support will be retained for certain
multilevel server Trusted Extensions configurations.
@@ -1408,8 +1408,8 @@
slot, maxbw, bwshare, and priority.
- o iov can only be "off" or "auto" if lower-link is a
- link aggregation.
+ o iov can only be off or auto if lower-link is a link
+ aggregation.
@@ -1633,13 +1633,17 @@
match property is not supported. For more information, see the
solaris-kz(7) man page.
- If the storage URI supports creation of the device, then create-
- size may be set to describe the size of the device to be created.
- If the storage URI exists and create-size is set, then create-size
- is ignored.
+ If the storage URI supports creation of the device (e.g. nfs stor-
+ age URI based volumes), then create-size may be set to describe the
+ size of the device to be created. If the object represented by the
+ storage URI exists and create-size is set, then create-size is
+ ignored. The property is ignored for storage URIs without the
+ device creation support (e.g. iscsi URIs). See also the -x storage-
+ create-missing and -x install-size extended options for the
+ zoneadm(8) install subcommand.
- allow-partition, allow-raw-io, and allow-mhd can be set to true or
- false, and default to false. See NOTES.
+ Properties allow-partition, allow-raw-io, and allow-mhd can be set
+ to true or false, and default to false. See NOTES.
Note -
@@ -3081,9 +3085,9 @@
The following example creates a new zone with a zpool resource dele-
- gated to the zone comprised of two storage resources. The zpool will be
- automatically created or a pre-created zpool will be imported during
- zone installation. The name will be zoss_mypool.
+ gated to the zone comprised of two storage resources. The ZFS pool will
+ be automatically created or a pre-created ZFS pool will be imported
+ during zone installation. Its name will be zoss_mypool.
@@ -3823,4 +3827,4 @@
-Oracle Solaris 11.4 15 Jul 2022 zonecfg(8)
+Oracle Solaris 11.4 19 Jan 2023 zonecfg(8)
diff -NurbBw 11.4.54/man8s/memory-reserve.8s 11.4.57/man8s/memory-reserve.8s
--- 11.4.54/man8s/memory-reserve.8s 2023-05-24 15:26:55.030400355 -0700
+++ 11.4.57/man8s/memory-reserve.8s 2023-05-24 15:27:34.209065790 -0700
@@ -70,6 +70,12 @@
types by the zonecfg(8) capped-memory:pagesize-policy and con-
fig/size properties.
+ The config/npt-reservation property can be set to reserve addi-
+ tional memory for SPARC kernel zones Nested Page Tables. The
+ value of this property should be set to the number of kernel
+ zones expected to be running concurrently. This property is
+ only supported on SPARC platforms.
+
The config/granule-size property is ignored for this instance
type.
@@ -91,8 +97,8 @@
A655E968-61F2-441B-97B3-61BE6A6487C1) for recommended granule
size.
- The config/pagesize-policy and config/lgrps properties are
- ignored for this instance type.
+ The config/pagesize-policy, config/lgrps and config/npt-reser-
+ vation properties are ignored for this instance type.
@@ -102,4 +108,4 @@
-Oracle Solaris 11.4 1 Nov 2021 memory-reserve(8s)
+Oracle Solaris 11.4 1 Jan 2023 memory-reserve(8s)
diff -NurbBw 11.4.54/man8s/network-nfs-cleanup.8s 11.4.57/man8s/network-nfs-cleanup.8s
--- 11.4.54/man8s/network-nfs-cleanup.8s 2023-05-24 15:26:55.067185835 -0700
+++ 11.4.57/man8s/network-nfs-cleanup.8s 2023-05-24 15:27:34.247104950 -0700
@@ -24,20 +24,15 @@
NFS service is disabled.
- Earlier releases of the Oracle Solaris removed .nfs files by using a
- root cron job. When upgrading to a new release, the treatment of this
- cron job depends on whether local changes have been made to the root
- crontab. If there have been no local changes, the cron job is removed
- at upgrade. If there have been local changes to the root crontab but
- not to this cron job, the first run of the svc:/network/nfs/cleanup-
- upgrade service will remove the cron job from the root crontab. Other-
- wise, the first run of the svc:/network/nfs/cleanup-upgrade service
- will comment out that job and subsequently svc:/network/nfs/cleanup
- service will place itself into the DEGRADED state during its first
- scheduled run. After (optionally) changing the schedule of the
- nfs/cleanup service to match the old cron job, the system administrator
- can remove the old job from the root crontab. You can use svcadm clear
- command to move the nfs/cleanup service out of the DEGRADED state.
+ Earlier releases of the Oracle Solaris system removed .nfs files by
+ using a root cron job. During the upgrade to Oracle Solaris 11.4, if
+ there had been local changes to that cron job, the upgrade process
+ would have commented it out. This would result in the svc:/net-
+ work/nfs/cleanup service placing itself into the DEGRADED state. After
+ (optionally) changing the schedule of the nfs/cleanup service to match
+ the old cron job, the system administrator can remove the old job from
+ the root crontab. You can use the svcadm clear command to move the
+ nfs/cleanup service out of the DEGRADED state.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
@@ -54,4 +49,4 @@
-Oracle Solaris 11.4 10 Aug 2017 network-nfs-cleanup(8S)
+Oracle Solaris 11.4 8 Feb 2023 network-nfs-cleanup(8S)
diff -NurbBw 11.4.54/man9f/bioaligned.9f 11.4.57/man9f/bioaligned.9f
--- 11.4.54/man9f/bioaligned.9f 2023-05-24 15:26:55.110452477 -0700
+++ 11.4.57/man9f/bioaligned.9f 2023-05-24 15:27:34.296598300 -0700
@@ -51,9 +51,9 @@
+-----------------------------+-----------------------------+
SEE ALSO
- attributes(7), biodone(9F), bp_mapin(9F), freerbuf(9F), getrbuf(9F),
- buf(9S)
+ attributes(7), biodone(9F), bp_mapin(9F), bp_copyin(9F), bp_copy-
+ out(9F), freerbuf(9F), getrbuf(9F), buf(9S)
-Oracle Solaris 11.4 17 Aug 2018 bioaligned(9F)
+Oracle Solaris 11.4 23 Feb 2023 bioaligned(9F)
diff -NurbBw 11.4.54/man9f/bioclone.9f 11.4.57/man9f/bioclone.9f
--- 11.4.54/man9f/bioclone.9f 2023-05-24 15:26:55.139957352 -0700
+++ 11.4.57/man9f/bioclone.9f 2023-05-24 15:27:34.332304774 -0700
@@ -145,11 +145,12 @@
SEE ALSO
- biodone(9F), bp_mapin(9F), freerbuf(9F), getrbuf(9F), buf(9S)
+ biodone(9F), bp_mapin(9F), bp_copyin(9F), bp_copyout(9F), freerbuf(9F),
+ getrbuf(9F), buf(9S)
Writing Device Drivers in Oracle Solaris 11.4
-Oracle Solaris 11.4 13 Nov 2020 bioclone(9F)
+Oracle Solaris 11.4 28 Feb 2023 bioclone(9F)
diff -NurbBw 11.4.54/man9f/biomodified.9f 11.4.57/man9f/biomodified.9f
--- 11.4.54/man9f/biomodified.9f 2023-05-24 15:26:55.194403720 -0700
+++ 11.4.57/man9f/biomodified.9f 2023-05-24 15:27:34.358619472 -0700
@@ -57,11 +57,11 @@
biomodified() can be called from any context.
SEE ALSO
- bioaligned(9F), bp_mapin(9F), buf(9S)
+ bioaligned(9F), bp_mapin(9F), bp_copyin(9F), bp_copyout(9F), buf(9S)
Writing Device Drivers in Oracle Solaris 11.4
-Oracle Solaris 11.4 27 Nov 2017 biomodified(9F)
+Oracle Solaris 11.4 23 Febv 2023 biomodified(9F)
diff -NurbBw 11.4.54/man9f/bp_mapin.9f 11.4.57/man9f/bp_mapin.9f
--- 11.4.54/man9f/bp_mapin.9f 2023-05-24 15:26:55.223600335 -0700
+++ 11.4.57/man9f/bp_mapin.9f 2023-05-24 15:27:34.384229197 -0700
@@ -36,7 +36,7 @@
The bp_mapin() function can be called from user and kernel contexts.
SEE ALSO
- bioaligned(9F), bp_mapout(9F), buf(9S)
+ bioaligned(9F), bp_mapout(9F), bp_copyin(9F), bp_copyout(9F), buf(9S)
Writing Device Drivers in Oracle Solaris 11.4
@@ -57,4 +57,4 @@
-Oracle Solaris 11.4 21 Dec 2010 bp_mapin(9F)
+Oracle Solaris 11.4 23 Feb 2023 bp_mapin(9F)
diff -NurbBw 11.4.54/man9f/bp_mapout.9f 11.4.57/man9f/bp_mapout.9f
--- 11.4.54/man9f/bp_mapout.9f 2023-05-24 15:26:55.251283767 -0700
+++ 11.4.57/man9f/bp_mapout.9f 2023-05-24 15:27:34.410346587 -0700
@@ -31,11 +31,11 @@
bp_mapout() can be called from user context only.
SEE ALSO
- strategy(9E), bp_mapin(9F), buf(9S)
+ strategy(9E), bp_mapin(9F), bp_copyin(9F), bp_copyout(9F), buf(9S)
Writing Device Drivers in Oracle Solaris 11.4
-Oracle Solaris 11.4 15 Nov 1996 bp_mapout(9F)
+Oracle Solaris 11.4 23 Feb 2023 bp_mapout(9F)
diff -NurbBw 11.4.54/man9s/buf.9s 11.4.57/man9s/buf.9s
--- 11.4.54/man9s/buf.9s 2023-05-24 15:26:55.292232179 -0700
+++ 11.4.57/man9s/buf.9s 2023-05-24 15:27:34.463035047 -0700
@@ -221,9 +221,9 @@
SEE ALSO
strategy(9E), aphysio(9F), bioaligned(9F), bioclone(9F), biodone(9F),
- bioerror(9F), bioxerror(9F), bioinit(9F), bp_mapin(9F), clrbuf(9F),
- geterror(9F), getxerror(9F), getrbuf(9F), physio(9F), iovec(9S),
- uio(9S)
+ bioerror(9F), bioxerror(9F), bioinit(9F), bp_mapin(9F), bp_copyin(9F),
+ bp_copyout(9F),clrbuf(9F), geterror(9F), getxerror(9F), getrbuf(9F),
+ physio(9F), iovec(9S), uio(9S)
Writing Device Drivers in Oracle Solaris 11.4
@@ -236,4 +236,4 @@
-Oracle Solaris 11.4 26 Jan 2018 buf(9S)
+Oracle Solaris 11.4 23 Feb 2023 buf(9S)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment