tag:blogger.com,1999:blog-31746318963174118262026-04-27T05:39:33.054+02:00Linux man-pagesMichael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.comBlogger174125tag:blogger.com,1999:blog-3174631896317411826.post-59272142500576138842021-08-27T23:07:00.000+02:002021-08-27T23:07:02.992+02:00man-pages-5.13 releasedAlex Colomar and I have released released <i>man-pages-5.13</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from 40 contributors. The release includes around 200 commits that changed around 120 manual pages.<br />
<br />
The most notable of the <a href="http://man7.org/linux/man-pages/changelog.html#release_5.13">changes in <span style="font-style: italic;">man-pages-5.13</span></a> are the following:<br />
<ul><li>A new <i><a href="https://man7.org/linux/man-pages/man2/mount_setattr.2.html">mount_setattr(2)</a></i> page, written by Christian Brauner, that documents the <i>mount_setattr()</i> system call added in Linux 5.12.</li><li>I added documentation of the <span style="font-family: courier;">/proc/PID/projid_map</span> file to the <a href="https://man7.org/linux/man-pages/man7/user_namespaces.7.html"><i>user_namespaces(7)</i></a> page.</li><li>I added a greatly expanded description of the concept of locked mounts in the <a href="https://man7.org/linux/man-pages/man7/mount_namespaces.7.html"><i>mount_namespaces(7)</i></a> page.</li></ul><p>Special thanks again to Alex, who kept track of a lot of patches while I was unavailable.<br /></p>
Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-46025489165421884372021-06-22T02:47:00.005+02:002021-06-22T02:48:52.475+02:00man-pages-5.12 releasedAlex Colomar and I have released released <i>man-pages-5.12</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from around 40 contributors. The release includes more than 300 commits that changed around 180 manual pages.<br />
<br />
The most notable of the <a href="http://man7.org/linux/man-pages/changelog.html#release_5.12">changes in <span style="font-style: italic;">man-pages-5.12</span></a> are the following:<br />
<ul><li>A very large number of global edits by Alex Colomar to the SYNOPSIS section of many manual pages. These include changes to the way the system calls that have no wrapper function in <i>glibc</i> are documented, as well more precise information about which header files are needed, and why, by various APIs.<br /></li><li>A new <a href="https://man7.org/linux/man-pages/man2/seccomp_unotify.2.html"><i>seccomp_unotify(2)</i></a> page, written by me (with help from Tycho Andersen, Jann Horn, Kees Cook, Christian Brauner, and Sargun Dhillon), that documents the seccomp user-space notification feature.</li><li>Alex Colomar wrote a new <a href="https://man7.org/linux/man-pages/man3/MAX.3.html"><i>MAX(3)</i></a> manual page documenting the <i>MAX()</i> and <i>MIN()</i> functions provided by <i>glibc</i>.<br /></li><li>Alex Colomar added a documentation of a number of further types to the <a href="https://man7.org/linux/man-pages/man7/system_data_types.7.html"><i>system_data_types(7)</i></a> page.</li></ul><p>Special thanks to Alex, who was once again the largest contributor in this release!<br /></p>
Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-41703488329165805322021-03-22T11:27:00.000+01:002021-03-22T11:27:25.463+01:00man-pages-5.11 is releasedAlex Colomar and I have released released <i>man-pages-5.11</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from around 40 contributors. A number of wide-ranging global edits by Alex and me have resulted in one of the largest releases since I became involved with <i>man-pages</i> some 20 years ago. The release includes around 480 commits that changed around 950 (more than 90% of the) manual pages. The diff runs to more than 50k lines (which makes it the third largest release measured by lines changed).<br />
<br />
The most notable of the <a href="http://man7.org/linux/man-pages/changelog.html#release_5.11">changes in <span style="font-style: italic;">man-pages-5.11</span></a> are the following:<br />
<ul><li>A new <a href="https://man7.org/linux/man-pages/man2/close_range.2.html"><i>close_range(2)</i></a> page, written by Stephen Kitt and me, documents the <i>close_range()</i> system call that was added in Linux 5.9.</li><li>A new <a href="https://man7.org/linux/man-pages/man2/process_madvise.2.html"><i>process_madvise(2)</i></a> page, written by Suren Baghdasaryan and Minchan Kim, documents the <i>process_madvise()</i> system call that was added in
Linux 5.10.</li><li>Alex Colomar made a long overdue global fix to the manual pages, adding the <i>restrict</i> keyword to function signatures in the SYNOPSIS of all manual pages that required it. This resulted in changes to around 135 pages!</li><li>Alex Colomar removed the <span style="font-family: courier;"><sys/types.h></span> header file from the SYNOPSIS of many pages where that header is no longer required. (The standard removed such requirements 20+ years ago.)<br /></li><li>Willem de Bruijn added documentation of the <a href="https://man7.org/linux/man-pages/man2/epoll_wait.2.html"><i>epoll_pwait2()</i></a> system call (new in Linux 5.11) to the <a href="https://man7.org/linux/man-pages/man2/epoll_wait.2.html"><i>epoll_wait(2)</i></a> page.</li><li>Gabriel Krisman Bertazi added documentation of the <a href="https://lwn.net/Articles/826313/">Syscall User Dispatch</a> mechanism to the <a href="https://man7.org/linux/man-pages/man2/prctl.2.html"><i>prctl(2)</i></a> page. <br /></li><li>I added documentation of the <i>mallinfo2()</i> function (new in glibc 2.33) to the <a href="https://man7.org/linux/man-pages/man3/mallinfo.3.html"><i>mallinfo(3)</i></a> page.</li><li>I have made global edits to improve consistency and layout in the SYNOPSIS (feature test macros), RETURN VALUE, and ATTRIBUTES in a large number of pages. A summary of many of these changes has been captured in the new FORMATTING AND WORDING CONVENTIONS section in <i><a href="https://man7.org/linux/man-pages/man7/man-pages.7.html">man-pages(7)</a></i>.<br /></li><li>A new<i> <a href="https://man7.org/linux/man-pages/man3/fileno.3.html">fileno(3)</a> </i>manual page has been created by extracting content formerly in the <a href="https://man7.org/linux/man-pages/man3/ferror.3.html"><i>ferror(3)</i></a> page. This change reflects the fact that <i>ferror()</i> is in various ways different from the other functions documented in <i>ferror(3)</i>.<br /><br /></li></ul>
Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-65736802009486102502020-12-22T10:56:00.000+01:002020-12-22T10:56:44.957+01:00man-pages-5.10 is releasedStarting with this release, Alejandro (Alex) Colomar has joined me as project comaintainer, and we've released <i>man-pages-5.10</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from around 25 contributors. The release includes just over 150 commits that changed around 140 pages.<br />
<br />
The most notable of the <a href="http://man7.org/linux/man-pages/changelog.html#release_5.10">changes in <span style="font-style: italic;">man-pages-5.10</span></a> are the following:<br />
<ul><li>I've added documentation of the <i>faccessat2()</i> system call (new in Linux 5.10) to the <a href="https://man7.org/linux/man-pages/man2/access.2.html"><i>access(2)</i></a> manual page.</li><li> I've added a new subsection to the <a href="https://man7.org/linux/man-pages/man7/signal.7.html"><i>signal(7)</i></a> manual page that provides a "big picture" of what happens when a signal handler is executed.<br /></li>
</ul>
Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com2tag:blogger.com,1999:blog-3174631896317411826.post-17570000905278079542020-11-01T23:41:00.002+01:002020-11-02T06:55:05.076+01:00man-pages-5.09 is releasedI've released <i>man-pages-5.09</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from more than 40 contributors. The release includes more than 500 commits that changed nearly 600 pages. Nine new pages were added in this release.<br />
<br />
The most notable of the <a href="http://man7.org/linux/man-pages/changelog.html#release_5.09">changes in <span style="font-style: italic;">man-pages-5.09</span></a> are the following:<br />
<ul>
<li>Alejandro Colomar created a very useful new page, <i><a href="https://man7.org/linux/man-pages/man7/system_data_types.7.html">system_data_types(7)</a></i>, which has summary information about many commonly used system data types (currently about 45 types). In addition, the pages has links for each type, so that now it is possible to type a command such as <i>man timespec</i> to to get information about that type, the header files that define it, and the primary APIs that use the type.</li><li>Alejandro also did a lot of work to split the former <i>queue(3)</i> page, which was a rather unwieldy description of dozen of APIs, into a number of smaller pages, each of which describes a subset of related APIs. The new pages are <i><a href="https://man7.org/linux/man-pages/man3/circleq.3.html">circleq(3)</a></i>, <i><a href="https://man7.org/linux/man-pages/man3/list.3.html">list(3)</a></i>, <i><a href="https://man7.org/linux/man-pages/man3/slist.3.html">slist(3)</a></i>, <i><a href="https://man7.org/linux/man-pages/man3/stailq.3.html">stailq(3)</a></i>, and <i><a href="https://man7.org/linux/man-pages/man3/tailq.3.html">tailq(3)</a></i>. The now rather smaller <i>queue(3)</i> page, which has essentially become a summary of the APIs, has migrated to become <i><a href="https://man7.org/linux/man-pages/man7/queue.7.html">queue(7)</a></i>.</li><li>In addition, Alejandro made a large number of consistency fixes across many pages, especially in the code examples, where many pieces of C code were made more correct.</li><li>I added a new <i><a href="https://man7.org/linux/man-pages/man3/pthread_attr_setsigmask_np.3.html">pthread_attr_setsigmask_np(3)</a></i> page, documenting the <i>pthread_attr_setsigmask_np(3)</i> and <i>pthread_attr_getsigmask_np(3)</i> functions that were added in <i>glibc</i> 2.32.</li><li>A new <i><a href="https://man7.org/linux/man-pages/man7/kernel_lockdown.7.html">kernel_lockdown(7)</a></i> page, written by David Howells with improvements from Heinrich Schuchardt, describes the Kernel Lockdown feature that was merged in Linux 5.4.</li><li>I added descriptions of the <i>sigabbrev_np()</i> and <i>sigdescr_np()</i> functions (new in <i>glibc</i> 2.32) to the <i><a href="https://man7.org/linux/man-pages/man3/strsignal.3.html">strsignal(3)</a></i> page.</li><li>I added descriptions of the <i>strerrorname_np()</i> and <i>strerrordesc_np()</i> functions (also new in <i>glibc</i> 2.32) to the <i><a href="https://man7.org/linux/man-pages/man3/strerror.3.html">strerror(3)</a></i> manual page.</li>
</ul><div>As is probably clear, Alejandro Colomar owns this release. With 265 commits, he was by some margin the top contributor, and I'm very happy to report that he beat me into second place as a contributor to this release (something that happened only once before since I became maintainer).</div>
Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-52809373089171296382020-08-13T13:56:00.001+02:002020-08-13T13:57:39.132+02:00man-pages-5.08 is releasedI've released <i>man-pages-5.08</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from more than 30 contributors. The release includes more than 190 commits that change around 340 pages.<br />
<br />
The most notable of the <a href="http://man7.org/linux/man-pages/changelog.html#release_5.08">changes in <span style="font-style: italic;">man-pages-5.08</span></a> are the following:<br />
<ul>
<li>Dave Martin added documentation of some arm64-specific <i>prctl()</i> operations to the <i><a href="https://man7.org/linux/man-pages/man2/prctl.2.html">prctl(2)</a></i> manual page.</li><li>Aleksa Sarai added some documentation of magic links to the <i><a href="symlink(7)">symlink(7)</a></i> page.</li><li>I've added documentation on the use of PID file descriptors with <i>setns()</i> to the <i><a href="https://man7.org/linux/man-pages/man7/symlink.7.html">setns(2)</a></i> page.</li><li>I've made various typographical fixes to many manual pages so that certain characters render better on the terminal or in PDF-format, or both.</li>
</ul>
Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-65232561198196158362020-06-09T19:09:00.000+02:002020-06-09T19:09:11.460+02:00man-pages-5.07 is releasedI've released <i>man-pages-5.07</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from more than 80 contributors. The release includes more than 380 commits that change more than 380 pages. One new page was added in this release, and one page was removed.<br />
<br />
The most notable of the <a href="http://man7.org/linux/man-pages/changelog.html#release_5.07">changes in <span style="font-style: italic;">man-pages-5.07</span></a> are the following:<br />
<ul>
<li>A new <a href="https://man7.org/linux/man-pages/man2/ioctl_fslabel.2.html"><i>ioctl_fslabel(2)</i></a> page, written by Eric Sandeen, adds documentation of <i>ioctl()</i> operations for getting and setting filesystem labels.</li><li>The <i>ioctl_list(2)</i> page has been removed. This page was first added more than 20 years ago, and provided a minimal amount of information about the <i>ioctl()</i> operations available at that time. Since that time it has seen hardly any updates, and is by now very much out of date. The fact that I received few complaints about the page is indicative that no-one really cares about its contents, and it seems appropriate to remove it.</li><li>The <i><a href="https://man7.org/linux/man-pages/man2/adjtimex.2.html">adjtimex(2)</a></i> page adds documentation of the <i>clock_adjtime()</i> system call; thanks to Arnd Bergmann.</li><li>Many updates to the <i>fanotify</i> manual pages, thanks to Amir Goldstein.</li>
</ul>
Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-62534837421352655112020-04-12T08:56:00.000+02:002020-04-12T09:25:16.810+02:00man-pages-5.06 is releasedI've released <i>man-pages-5.06</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from 39 contributors. The release includes more than 250 commits that change more than 120 pages. Three new pages were added in this release.<br />
<br />
The most notable of the <a href="http://man7.org/linux/man-pages/changelog.html#release_5.06">changes in <span style="font-style: italic;">man-pages-5.06</span></a> are the following:<br />
<ul>
<li>A new <i><a href="http://man7.org/linux/man-pages/man2/openat2.2.html">openat2(2)</a></i> manual page, written by Aleksa Sarai, documents the system call of the same name that was added in Linux 5.6.</li>
<li>A new <i><a href="http://man7.org/linux/man-pages/man2/pidfd_getfd.2.html">pidfd_getfd(2)</a></i> page, written by me, documents the system call of the same name that was added in Linux 5.6.</li>
<li>A new <i><a href="http://man7.org/linux/man-pages/man7/time_namespaces.7.html">time_namespaces(7)</a></i> page, written by me, documents time namespaces, which were added in Linux 5.6.</li>
<li>Many details were added and improved in the <i><a href="http://man7.org/linux/man-pages/man2/clock_getres.2.html">clock_getres(2)</a></i> page.</li>
<li>I have substantially revised the <i><a href="http://man7.org/linux/man-pages/man2/select.2.html">select(2)</a></i> and <i><a href="http://man7.org/linux/man-pages/man2/select_tut.2.html">select_tut(2)</a>. </i>In the process, much information that was duplicated across both pages has been consolidated into the <i><a href="http://man7.org/linux/man-pages/man2/select.2.html">select(2)</a></i> page. Existing text in <i>select(2)</i> was also substantially rewritten and restructured.</li>
<li>I have revised and trimmed the <i><a href="http://man7.org/linux/man-pages/man7/sysvipc.7.html">sysvipc(7)</a> </i>to be just a summary of the System V IPC APIs. Various details that formerly were in this page have been moved to relevant pages in section 2.</li>
<li>I've added example programs to several pages: <i><a href="http://man7.org/linux/man-pages/man2/clock_getres.2.html">clock_getres(2)</a></i>, <i><a href="http://man7.org/linux/man-pages/man2/poll.2.html">poll(2)</a></i>, <i><a href="http://man7.org/linux/man-pages/man2/semget.2.html">semget(2)</a></i>, <i><a href="http://man7.org/linux/man-pages/man2/shmop.2.html">shmop(2)</a></i>, <i><a href="http://man7.org/linux/man-pages/man3/shm_open.3.html">shm_open(3)</a></i>, and <i><a href="http://man7.org/linux/man-pages/man3/strcmp.3.html">strcmp(3)</a></i>.</li>
</ul>
Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com1tag:blogger.com,1999:blog-3174631896317411826.post-89237019770678187172020-02-09T17:55:00.001+01:002020-02-09T17:55:37.894+01:00man-pages-5.05 is releasedI've released <i>man-pages-5.05</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from more than 40 contributors. The release includes approximately 110 commits that change around 50 pages.Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-69982696972101539682019-11-19T22:04:00.000+01:002020-04-10T11:10:04.201+02:00man-pages-5.04 is releasedI've released <i>man-pages-5.04</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from 15 contributors. The release includes approximately 80 commits that change just under 30 pages.<br />
<br />
The most notable of the <a href="http://man7.org/linux/man-pages/changelog.html#release_5.04">changes in <span style="font-style: italic;">man-pages-5.04</span></a> are the following:<br />
<ul>
<li>With some help from Christian Brauner, I've added documentation of the <i>clone3()</i> system call (new in Linux 5.3) to the <i><a href="http://man7.org/linux/man-pages/man2/clone3.2.html">clone(2)</a></i> manual page. In addition, several other parts of the <i>clone(2)</i> manual page were cleaned up and reworked.</li>
<li>I've refreshed the the <i><a href="http://man7.org/linux/man-pages/man7/bpf-helpers.7.html">bpf-helpers(7)</a></i> page against the latest kernel sources; as a result, the page has grown size by about 25%.</li>
</ul>
<div>
Another small but important change is the addition of documentation of the <span style="font-family: "courier new" , "courier" , monospace;">P_PIDFD</span> <i>idtype</i> in the <a href="http://man7.org/linux/man-pages/man2/waitid.2.html"><i>waitid(2)</i></a> manual page. This feature, added in Linux 5.4, allows a parent process to wait on a child process that is referred to by a <a href="http://man7.org/linux/man-pages/man2/pidfd_open.2.html">PID file descriptor</a>, and constitutes the final cornerstone in the <i>pidfd</i> API.</div>
Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com2tag:blogger.com,1999:blog-3174631896317411826.post-69563850937968665502019-10-11T22:59:00.001+02:002019-10-11T22:59:46.263+02:00man-pages-5.03 is releasedI've released <i>man-pages-5.03</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from 45 contributors. The release includes over 200 commits that change around 80 pages.<br />
<br />
The most notable of the <a href="http://man7.org/linux/man-pages/changelog.html#release_5.03">changes in <span style="font-style: italic;">man-pages-5.03</span></a> are the following:<br />
<ul>
<li>I've written a new <i><a href="http://man7.org/linux/man-pages/man2/pidfd_send_signal.2.html">pidfd_send_signal(2)</a></i> page that documents the system call of the same name. This system call, which was added in Linux 5.1, makes it possible to send a signal to a process referred to via a file descriptor. This allows the avoidance of race conditions that can occur using traditional APIs (e.g., <i>kill(2)</i>) to signal a process, which may result in signaling the wrong process if the intended target process has already terminated and its PID has been recycled.</li>
<li>I've written a new <i><a href="http://man7.org/linux/man-pages/man2/pidfd_open.2.html">pidfd_open(2)</a></i> page that documents the system call of the same name. This system call, which was added in Linux 5.3, can be used to obtain a file descriptor for a process with a specified PID. This file descriptor can be used as argument to <i>pidfd_send_signal()</i>. Soon (Linux 5.4), it will also be possible to use this file descriptor to wait for the process using <i><a href="http://man7.org/linux/man-pages/man2/waitid.2.html">waitid(2)</a></i>.</li>
<li>I've completely rewritten the <i><a href="http://man7.org/linux/man-pages/man2/pivot_root.2.html">pivot_root(2)</a></i> manual page, adding a lot of missing details (including the use of <i>pivot_root(".", ".")</i>) and an example program. In addition, the text prevaricating on whether or not <i>pivot_root()</i> might change the root and current working directories has been eliminated, and replaced with a simple description of the behavior of the system call, which has not changed for 19 years, and will not change in the future. Many longstanding errors in the old version of the page have also been corrected.</li>
<li><a href="https://brauner.github.io/">Christian Brauner</a> added documentation of the <span style="font-family: Courier New, Courier, monospace;">CLONE_PIDFD</span> flag to the <i><a href="http://man7.org/linux/man-pages/man2/clone.2.html">clone(2)</a></i> manual page. This flag (added in Linux 5.2) can be used to obtain a file descriptor that refers to the child process created by <i>clone(2)</i>. This file descriptor can be used for the same purposes as the file descriptor returned by <i>pidfd_open(2)</i>.</li>
<li>Dmitry Levin as added documentation of a new option, <span style="font-family: Courier New, Courier, monospace;">PTRACE_GET_SYSCALL_INFO</span>, to the <i><a href="http://man7.org/linux/man-pages/man2/ptrace.2.html">ptrace(2)</a></i> manual page.</li>
<li>Two new pages, <i><a href="http://man7.org/linux/man-pages/man7/ipc_namespaces.7.html">ipc_namespaces(7)</a></i> and <i><a href="http://man7.org/linux/man-pages/man7/uts_namespaces.7.html">uts_namespaces(7)</a></i>, have been created by splitting out content that was formerly part of the <i><a href="http://man7.org/linux/man-pages/man7/namespaces.7.html">namespaces(7)</a></i> page.</li>
</ul>
Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-58681700939078716402019-08-02T11:04:00.002+02:002019-08-02T11:04:53.676+02:00man-pages-5.02 is releasedI've released <i>man-pages-5.02</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from 28 contributors. The release includes around 120 commits that change more than 50 pages.<br />
<br />
The most notable of the <a href="http://man7.org/linux/man-pages/changelog.html#release_5.02">changes in <span style="font-style: italic;">man-pages-5.02</span></a> is the following:<br />
<ul>
<li>Thanks to Matthew Bobrowski, extensive documentation of <span style="font-family: "courier new" , "courier" , monospace;">FAN_REPORT_FID</span> and directory modification events has been added to the <i><a href="http://man7.org/linux/man-pages/man7/fanotify.7.html">fanotify(7)</a></i>, <i><a href="http://man7.org/linux/man-pages/man2/fanotify_init.2.html">fanotify_init(2)</a></i>, and <i><a href="http://man7.org/linux/man-pages/man2/fanotify_mark.2.html">fanotify_mark(2)</a></i> pages.</li>
<li>I have added several details on the <i>dlopen</i> API to the <i><a href="http://man7.org/linux/man-pages/man3/dlopen.3.html">dlopen(3)</a></i> page.</li>
<li>I've corrected a few longstanding errors and omissions in the <i><a href="http://man7.org/linux/man-pages/man2/pivot_root.2.html">pivot_root(2)</a></i> manual page, and much more extensive changes for this page are in the pipeline for the next release.</li>
</ul>
<div>
<br /></div>
Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-91918259586984390062019-05-09T14:10:00.000+02:002019-05-09T14:10:27.521+02:00man-pages-5.01 is releasedI've released <i>man-pages-5.01</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from just over 20 contributors. The release is smaller release than typical; it includes just over 70 commits that changed just over 40 pages. <br />
<br />
The most notable of the <a href="http://man7.org/linux/man-pages/changelog.html#release_5.01">changes in <span style="font-style: italic;">man-pages-5.01</span></a> is the following:<br />
<ul>
<li>The <a href="http://man7.org/linux/man-pages/man3/tsearch.3.html"><i>tsearch(3)</i></a> page adds documentation of the new <i>twalk_r()</i> function that is added in the upcoming glibc 2.30 release. Thanks to Florian Weimer. </li>
</ul>
<div>
<br /></div>
Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-42120112093504422772019-03-06T18:54:00.000+01:002019-03-07T05:57:58.598+01:00man-pages-5.00 is releasedI've released <i>man-pages-5.00</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from around 130 contributors. The release is rather larger than average, since it has been nearly a year since the last release. The release includes more than 600 commits that changed nearly 400 pages. In addition, 3 new manual pages were added.<br />
<br />
Among the more significant <a href="http://man7.org/linux/man-pages/changelog.html#release_5.00">changes in <span style="font-style: italic;">man-pages-5.,00</span></a> are the following:<br />
<ul>
<li>A new page, <i><a href="http://man7.org/linux/man-pages/man7/bpf-helpers.7.html">bpf-helpers(7)</a></i>, documents the helper functions that the kernel provide for eBPF programs to call. This page is autogenerated from kernel files, and was brought to life in the man-pages project by Quentin Monnet.</li>
<li>Various updates to the <a href="http://man7.org/linux/man-pages/man2/perf_event_open.2.html"><i>perf_event_open(2)</i></a> page by Vince Weaver.</li>
<li>A new <i><a href="http://man7.org/linux/man-pages/man2/s390_guarded_storage.2.html">s390_guarded_storage(2)</a></i> page by Eugene Syromyatnikov documents the s390-specific system call of the same name.</li>
<li>The addition of many formerly absent architecture-specific system calls in the table of system calls shown <i><a href="http://man7.org/linux/man-pages/man2/syscalls.2.html">syscalls(2)</a></i>.</li>
<li>A significant overhaul of the <i><a href="http://man7.org/linux/man-pages/man4/lirc.4.html">lirc4)</a></i> page by Sean Young.</li>
<li>Many additions to the <i><a href="http://man7.org/linux/man-pages/man5/proc.5.html">proc(5)</a></i> page.</li>
<li>Much of the detail on socket address families in the rather overloaded <i><a href="http://man7.org/linux/man-pages/man2/socket.2.html">socket(2)</a></i> page has now been moved to a new <i><a href="http://man7.org/linux/man-pages/man7/address_families.7.html">address_families(7)</a></i> page.</li>
<li>A large number of additions, mostly by me, in the <i><a href="http://man7.org/linux/man-pages/man7/capabilities.7.html">capabilities(7)</a></i> page.</li>
<li>Many improvements, all by me, in the discussion of ancillary data in the <i><a href="http://man7.org/linux/man-pages/man7/unix.7.html">unix(7)</a></i> page.</li>
</ul>
<div>
In addition, two pages have been removed in this release after encouragement from Ingo Schwarze: <i>mdoc(7)</i> and <i>mdoc.samples(7)</i>. As the commit message notes, <i>groff_mdoc(7)</i> from the <i>groff</i> project provides a better equivalent of <i>mdoc.samples(7)</i> and the <i>mandoc</i> project provides a better <i>mdoc(7)</i>. And nowadays, there are virtually no pages in <i>man-pages</i> that use <i>mdoc</i> markup.<br />
<br />
Again special thanks to Eugene Syromyatnikov, who contributed nearly 30 patches to this release!</div>
Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com3tag:blogger.com,1999:blog-3174631896317411826.post-55115877349209189812018-04-30T21:24:00.001+02:002018-04-30T21:28:22.914+02:00man-pages-4.16 is releasedI've released <i>man-pages-4.16</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from 29 contributors. Somewhat more than 160 commits changed around 60 pages. A summary of the changes can be found <a href="http://man7.org/linux/man-pages/changelog.html#release_4.16">here</a>.<br />
<ul>
</ul>
<div>
</div>
Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-18377820035426707742018-02-02T16:21:00.001+01:002018-02-02T16:21:32.174+01:00man-pages-4.15 is releasedI've released <i>man-pages-4.15</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from 26 contributors. Just over 200 commits changed around 75 pages. In addition, 3 new manual pages were added.<br />
<br />
Among the more significant <a href="http://man7.org/linux/man-pages/changelog.html#release_4.15">changes in <span style="font-style: italic;">man-pages-4.15</span></a> are the following:<br />
<ul>
<li>A new <a href="http://man7.org/linux/man-pages/man7/vsock.7.html">vsock(7)</a> page, written by Stefan Hajnoczi, documents the the VSOCK socket address family.</li>
<li>A new <i><a href="http://man7.org/linux/man-pages/man7/network_namespaces.7.html">network_namespaces(7)</a></i> page, based on content moved from the existing <i><a href="http://man7.org/linux/man-pages/man7/namespaces.7.html">namespaces(7)</a></i> page with a few additions, documents network namespaces.</li>
<li>A new <i><a href="http://man7.org/linux/man-pages/man2/s390_sthyi.2.html">s390_sthyi(2)</a></i> page, written by QingFeng Hao, documents the s390 specific system call of the same name.</li>
<li>With some help from Tejun Heo and Roman Gushchin, I've substantially enhanced the <i><a href="http://man7.org/linux/man-pages/man7/cgroups.7.html">cgroups(7)</a></i> page. The page has more than doubled in size and among many other changes, it now contains a description of the "thread mode" feature added in Linux 4.14.</li>
</ul>
<div>
</div>
Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-58346987388555310482017-11-26T20:38:00.000+01:002017-11-26T20:38:02.398+01:00Next Linux/UNIX System Programming course in Munich, 5-9 February, 2018There are still some places free for my next 5-day Linux/UNIX System Programming course to take place in Munich, Germany, for the week of 5-9 February 2018. <br />
<br />
The course is intended for programmers developing system-level, embedded, or network applications for Linux and UNIX systems, or programmers porting such applications from other operating systems (e.g., proprietary embedded/realtime operaring systems or Windows) to Linux or UNIX. The course is based on my book, <a href="http://man7.org/tlpi/">The Linux Programming Interface</a> (TLPI), and covers topics such as low-level file I/O;
signals and timers; creating processes and executing programs; POSIX
threads programming; interprocess communication (pipes, FIFOs, message
queues, semaphores, shared memory), and network programming (sockets).<br />
<br />
The course has a lecture+lab format, and
devotes substantial time to working on some carefully chosen programming
exercises that put the "theory" into practice. Students receive printed and electronic copies of TLPI, along with a 600-page course book that includes all slides presented in the course. A reading knowledge of C is
assumed; no previous system programming experience is needed.<br />
<br />
Some useful links for anyone interested in the course:<br />
<ul>
<li><a href="http://man7.org/training/sys_prog/">course overview</a> (includes sample course materials, course
dates and locations, and prices); </li>
<li><a href="http://man7.org/training/sys_prog/sys_prog_course_outline.html">course topic list</a>; and </li>
<li><a href="http://man7.org/training/reasons_to_choose_man7.html">information about the trainer</a> (i.e., me).</li>
<li><a href="http://man7.org/training/sys_prog/man7.org_training_M7D-SP01.pdf">2-page PDF containing key information about the course</a></li>
</ul>
Questions about the course? Email me via <a href="mailto:training@man7.org">training@man7.org</a>.Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-13841341368486609862017-11-26T20:12:00.000+01:002017-11-26T20:14:25.704+01:00man-pages-4.14 is releasedI've released <i>man-pages-4.14</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from 71 contributors. Nearly 400 commits changed more than 160 pages. In addition, 4 new manual pages were added.<br />
<br />
Among the more significant <a href="http://man7.org/linux/man-pages/changelog.html#release_4.14">changes in <span style="font-style: italic;">man-pages-4.14</span></a> are the following:<br />
<ul>
<li>With help from several people, I've added a new <i><a href="http://man7.org/linux/man-pages/man3/pthread_spin_init.3.html">pthread_spin_init(3)</a></i> page describing <i>pthread_spin_init()</i> and <i>pthread_spin_destroy()</i>. This page provides some recommendations on when the usage of spin locks is appropriate.</li>
<li>I added a new <i><a href="http://man7.org/linux/man-pages/man3/pthread_spin_lock.3.html">pthread_spin_lock(3)</a></i> page describing <i>pthread_spin_lock()</i>, <i>pthread_spin_unlock()</i>, and <i>pthread_spin_trylock()</i>.</li>
<li>A new <i><a href="http://man7.org/linux/man-pages/man4/smartpqi.4.html">smartpqi(4)</a></i> page, written by Don Brace, documents the smartpqi SCSI controller.</li>
<li>A new <i><a href="http://man7.org/linux/man-pages/man4/veth.4.html">veth(4)</a></i> page, written by Tomáš Pospíšek, Eric Biederman, and me, documents <i>veth</i> virtual ethernet devices.</li>
<li>Substantial additions were made to the <i><a href="http://man7.org/linux/man-pages/man2/seccomp.2.html">seccomp(2)</a></i> page, by Tyler Hicks and me, documenting the many new seccomp features added in the Linux 4.14 kernel. In addition, I've added a section noting various caveats regarding the use of seccomp. (See also the LWN.net article, <a href="https://lwn.net/Articles/738694/"><i>The inherent fragility of seccomp()</i></a>, which is accompanied by a number of quite informative comments.)</li>
</ul>
<div>
</div>
Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-57678014314124583692017-09-15T15:15:00.001+02:002017-11-26T11:17:26.327+01:00man-pages-4.13 is releasedI've released <i>man-pages-4.13</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from around 40 contributors. The release is rather larger than average. (The context diff runs to more than 90k lines.) The release includes more than 350 commits and contains some fairly wide-ranging formatting fix-ups that meant that all 1028 existing manual pages saw some change(s). In addition, 5 new manual pages were added.<br />
<br />
Among the more significant <a href="http://man7.org/linux/man-pages/changelog.html#release_4.13">changes in <span style="font-style: italic;">man-pages-4.13</span></a> are the following:<br />
<ul>
<li>Two new pages, <i><a href="http://man7.org/linux/man-pages/man3/pthread_mutexattr_setrobust.3.html">pthread_mutexattr_setrobust(3)</a></i> and <i><a href="http://man7.org/linux/man-pages/man3/pthread_mutex_consistent.3.html">pthread_mutex_consistent(3)</a></i> cowritten by Yubin Ruan and myself, document the POSIX threads APIs related to robust mutexes (<i>pthread_mutexattr_setrobust()</i>, <i>pthread_mutexattr_getrobust()</i>, and <i>pthread_mutex_consistent()</i>). In conjunction with those chganges, I also added some further details on the underlying robust futexes implementation to the <a href="http://man7.org/linux/man-pages/man2/get_robust_list.2.html"><i>get_robust_list(2)</i></a> manual page.</li>
<li>I've written a new page, <i><a href="http://man7.org/linux/man-pages/man3/pthread_mutexattr_init.3.html">pthread_mutexattr_init(3)</a></i>, that documents <i>pthread_mutexattr_init()</i> and <i>pthread_mutexattr_destroy()</i> functions.</li>
<li>I've written a new page, <i><a href="http://man7.org/linux/man-pages/man3/pthread_mutexattr_getpshared.3.html">pthread_mutexattr_getpshared(3)</a></i>, that documents <i>pthread_mutexattr_getpshared()</i> and <i>pthread_mutexattr_setpshared()</i> functions.</li>
<li>At long last, I've added a <i><a href="http://man7.org/linux/man-pages/man5/sysfs.5.html">sysfs(5)</a></i> man page to start documenting the <i>sysfs</i> filesystem. This page does not yet contain details on many <i>sysfs</i> files, but hopefully that may change in the future, if people send me patches for the page.</li>
</ul>
<div>
A special thanks to Eugene Syromyatnikov, who contributed 30 patches to this release!</div>
Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-40755827855194068532017-07-21T20:13:00.000+02:002017-07-21T20:53:12.166+02:00man-pages-4.12 is releasedI've released <i>man-pages-4.12</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from around 30 contributors. It includes just under 200 commits changing around 90 pages. This is a relatively small release, with one new manual page, <i><a href="http://man7.org/linux/man-pages/man2/ioctl_getfsmap.2.html">ioctl_getfsmap(2)</a></i>. The most significant change in the release consists of a number of additions and improvements in the <i><a href="http://man7.org/linux/man-pages/man8/ld.so.8.html">ld.so(8)</a></i> page.Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-41071599890193293232017-05-23T16:14:00.001+02:002017-05-23T16:14:07.651+02:00Linux Shared Libraries course, Munich, Germany, 20 July 2017I've scheduled a public instance of my "Building and Using Shared Libraries on Linux" course to take place in Munich, Germany on 20 July 2017. This
one-day course provides a thorough introduction to building and using shared libraries. covering topics such as: the basics of creating, installing, and using shared libraries; shared library versioning and naming conventions; the role of the dynamic linker; run-time symbol resolution; controlling symbol visibility; symbol versioning; preloading shared libraries; and dynamically loaded libraries (<i>dlopen</i>). The course
format is a mixture of theory and practical. <br />
<br />
The course is aimed
at programmers who create and use shared libraries. Systems
administrators who are managing and troubleshooting applications that use shared libraries will also find the course useful. <span class="sewxpu25bbonedo"></span><span class="sewxpu25bbonedo"></span><br />
<br />
You can find out more about the course (such as expected background and course pricing) at <a href="http://man7.org/training/shlib/">http://man7.org/training/shlib/</a> and see a detailed course outline at<br />
<a href="http://man7.org/training/shlib/shlib_course_outline.html">http://man7.org/training/shlib/shlib_course_outline.html</a>.Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-36615908071447595582017-05-23T16:01:00.001+02:002017-05-23T16:01:23.005+02:00Cgroups/namespaces/seccomp/capabilities courseThere are still some places available on my "Linux Security and Isolation APIs" that will take place in Munich, Germany on 17-19 July 2017. This three-day course provides a deep understanding of the low-level Linux features (set-UID/set-GID programs, capabilities, namespaces, cgroups, and seccomp) used to implement privileged applications and build container, virtualization, and sandboxing technologies. The course format is a mixture of theory and practical.<br />
<br />
The course is aimed at designers and programmers building privileged applications, container applications, and sandboxing applications. Systems administrators who are managing such applications are also likely to find the course of benefit.<br />
<br />
You can find out more about the course (such as expected background and course pricing) at<br />
http://man7.org/training/sec_isol_apis/<br />
and see a detailed course outline at<br />
http://man7.org/training/sec_isol_apis/sec_isol_apis_course_outline.htmlMichael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-91582924521035710562017-05-03T21:58:00.000+02:002017-05-03T21:59:39.568+02:00man-pages-4.11 is releasedI've released <i>man-pages-4.11</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from over 30 contributors. It includes more than 300 commits changing over 100 pages. The changes include the addition of 5 pages, significant rewriting of 1 other page, and enhancements to many other pages.<br />
<br />
Among the more significant <a href="http://man7.org/linux/man-pages/changelog.html#release_4.11">changes in <span style="font-style: italic;">man-pages-4.11</span></a> are the following:<br />
<ul>
<li>Two new pages, <i><a href="http://man7.org/linux/man-pages/man2/userfaultfd.2.html">userfaultfd(2)</a></i> and <i><a href="http://man7.org/linux/man-pages/man2/ioctl_userfaultfd.2.html">ioctl_userfaultfd</a></i>(2), written by me and Mike Rapoport, document the <i>userfaultfd()</i> system call that was added in Linux 4.3, along with associated <i>ioctl()</i> operations that can be performed on the file descriptor returned by that system call.</li>
<li>A new <i><a href="http://man7.org/linux/man-pages/man2/statx.2.html">statx(2)</a></i> man page, written by David Howells, documents the <i>statx()</i> system call that was added in the just-released Linux 4.11 kernel.</li>
<li>A new <a href="http://man7.org/linux/man-pages/man3/pthread_atfork.3.html"><i>pthread_atfork(3)</i></a> manual page documents the <i>pthread_atfork()</i> library function.</li>
<li>The <i><a href="http://man7.org/linux/man-pages/man5/slabinfo.5.html">slabinfo(5)</a></i> has been heavily updated to reflect current kernel details.</li>
</ul>
Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-90981089275159503672017-04-26T21:24:00.000+02:002017-04-26T21:38:48.994+02:00Linux Security and Isolation APIs course in Munich (17-19 July 2017)I've scheduled the first public instance of my "Linux Security and
Isolation APIs" course to take place in Munich, Germany on 17-19 July 2017. (I've
already run the course a few times very successfully in non-public settings.) This
three-day course provides a deep understanding of the low-level Linux
features (set-UID/set-GID programs, capabilities, namespaces, cgroups,
and seccomp) used to build
container, virtualization, and sandboxing technologies. The course
format is a mixture of theory and practical. <br />
<br />
The course is aimed
at designers and programmers building privileged applications,
container applications, and sandboxing applications. Systems
administrators who are managing such applications are also likely to
find the course of benefit. <span class="sewxpu25bbonedo"></span><span class="sewxpu25bbonedo"></span><br />
<br />
You can find out more about the course (such as expected background and course pricing) at<br />
<a href="http://man7.org/training/sec_isol_apis/">http://man7.org/training/sec_isol_apis/</a><br />
and see a detailed course outline at<br />
<a href="http://man7.org/training/sec_isol_apis/sec_isol_apis_course_outline.html">http://man7.org/training/sec_isol_apis/sec_isol_apis_course_outline.html</a>Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com0tag:blogger.com,1999:blog-3174631896317411826.post-72794332981673672017-03-14T15:18:00.000+01:002017-05-03T21:41:46.041+02:00man-pages-4.10 is releasedI've released <i>man-pages-4.10</i>. The release tarball is available on <a href="http://www.kernel.org/pub/linux/docs/man-pages/">kernel.org</a>. The browsable online pages can be <a href="http://man7.org/linux/man-pages/index.html">found on man7.org</a>. The Git repository for <i>man-pages</i> is <a href="http://www.kernel.org/doc/man-pages/download.html">available on kernel.org</a>.<br />
<br />
This release resulted from patches, bug reports, reviews, and comments from over 40 contributors. This release sees a large number of changes: over 600 commits changing around 160 pages. The changes include the addition of 11 pages, significant rewrites of 3 other pages, and enhancements to many other pages.<br />
<br />
Among the more significant <a href="http://man7.org/linux/man-pages/changelog.html#release_4.10">changes in <span style="font-style: italic;">man-pages-4.10</span></a> are the following:<br />
<ul>
<li>The pages—<a href="http://man7.org/linux/man-pages/man2/add_key.2.html"><i>add_key(2)</i></a>, <a href="http://man7.org/linux/man-pages/man2/keyctl.2.html"><i>keyctl(2)</i></a>, and <a href="http://man7.org/linux/man-pages/man2/request_key.2.html"><i>request_key(2)</i></a>—describing the system calls for the kernel key-management facility have been substantially revised and extended. The <i>keyctl(2)</i> page consequently saw a tenfold increase in size. I did much of the work here, with a lot of help from Eugene Syromyatnikov.</li>
<li>In cooperation with David Howells, the maintainer of the <i>libkeyutils</i> package (and the developer of the kernel key management facility), a number of pages in the <i>libkeyutils</i> package were moved to the <i>man-pages</i> project. The rationale for this change is that these pages describe kernel interfaces, and so <i>man-pages</i> is more reasonably their home. During the migration, many of these pages were also substantially enhanced. The migrated pages are: <a href="http://man7.org/linux/man-pages/man7/keyrings.7.html"><i>keyrings(7)</i></a>, <a href="http://man7.org/linux/man-pages/man7/persistent-keyring.7.html"><i>persistent-keyring(7)</i></a>, <a href="http://man7.org/linux/man-pages/man7/process-keyring.7.html"><i>process-keyring(7)</i></a>, <a href="http://man7.org/linux/man-pages/man7/session-keyring.7.html"><i>session-keyring(7)</i></a>, <a href="http://man7.org/linux/man-pages/man7/thread-keyring.7.html"><i>thread-keyring(7)</i></a>, <a href="http://man7.org/linux/man-pages/man7/user-keyring.7.html"><i>user-keyring(7)</i></a>, and <a href="http://man7.org/linux/man-pages/man7/user-session-keyring.7.html"><i>user-session-keyring(7)</i></a>. Thanks to David Howells and Eugene Syromyatnikov for a lot of assistance with reworking the pages.</li>
<li>I've added a new <i><a href="http://man7.org/linux/man-pages/man2/ioctl_iflags.2.html">ioctl_iflags(2)</a></i> page which describes inode flags (the attributes manipulated by the <i><a href="http://man7.org/linux/man-pages/man1/chattr.1.html">chattr(1)</a></i> command) and the ioctl() operations for working with those flags.</li>
<li>The details on the ioctl() operations that can be used with namespaces have been moved from the <i><a href="http://man7.org/linux/man-pages/man7/namespaces.7.html">namespaces(7)</a></i> page into a new <a href="http://man7.org/linux/man-pages/man2/ioctl_ns.2.html"><i>ioctl_ns(2)</i></a> page</li>
<li>I've written a <a href="http://man7.org/linux/man-pages/man3/getentropy.3.html"><i>getentropy(3)</i></a> page, which describes the new <i>getentropy()</i> function added in glibc version 2.25. This function, layered on top of the <i><a href="http://man7.org/linux/man-pages/man2/getrandom.2.html">getrandom(2)</a></i> system call, enables the caller to obtain bytes of randomness.</li>
<li>The discussion of async-signal-safety has been moved out of the <i><a href="http://man7.org/linux/man-pages/man7/signal.7.html">signal(7)</a></i> manual page into a new new <a href="http://man7.org/linux/man-pages/man7/signal-safety.7.html"><i>signal-safety(7)</i></a> page. Along the way, some details have been added to the page, including discussion of a few glibc deviations from the POSIX standard.</li>
</ul>
Michael Kerriskhttp://www.blogger.com/profile/15114340316819733116noreply@blogger.com3