summaryrefslogtreecommitdiffstats
path: root/Changes
blob: 1167bafb4093411e0abef512b2892324102f378c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
==================== Changes in man-pages-3.14 ====================

Released: ????-??-??, Bucaramanga


Contributors
------------

The following people contributed notes, ideas, or patches that have
been incorporated in changes in this release:

Andreas Henriksson <andreas@fatal.se>
Bert Wesarg <bert.wesarg@googlemail.com>
Cedric Le Goater <clg@fr.ibm.com>
Chris Heath <chris@heathens.co.nz>
Eric Biederman <ebiederm@xmission.com>
Eugen Dedu <Eugen.Dedu@pu-pm.univ-fcomte.fr>
Ivana Varekova <varekova@redhat.com>
Jen Axboe <jens.axboe@oracle.com>
Jens Axboe <jens.axboe@oracle.com>
Loïc Domaigne <tech@domaigne.com>
Masanari Iida <masanari.iida@hp.com>
Paul Evans <leonerd@leonerd.org.uk>
Pavel Emelyanov <xemul@openvz.org>
Pierre-Paul Paquin <pierrepaulpaquin@gmail.com>
Serge E. Hallyn <serge@hallyn.com>
Stefano Teso <teso@disi.unitn.it>
Stew Benedict <stewb@linux-foundation.org>
Vegard Nossum <vegard.nossum@gmail.com>

Apologies if I missed anyone!


New and rewritten pages
-----------------------

CPU_SET.3
    Michael Kerrisk
        New page documenting CPU_* macros
            This page contains material moved out of sched_setscheduler(2).
            It overwrites a previously existing link file with the same name.
    Michael Kerrisk
        Add description of macros for dynamically allocated CPU sets
            Add descriptions of CPU_ALLOC(), CPU_ALLOC_SIZE(), CPU_FREE(),
            CPU_SET_S(), CPU_CLR_S(), CPU_ISSET_S(), CPU_ZERO_S(),
            CPU_COUNT_S(), CPU_AND_S(), CPU_OR_S(), CPU_XOR_S(), and
            CPU_EQUAL_S().
    Michael Kerrisk
        Add documentation of CPU_COUNT()
    Michael Kerrisk
        Add description of CPU_AND(), CPU_OR, CPU_XOR(), and CPU_EQUAL()
            Plus a few other small clean-ups of the text
    Michael Kerrisk
        Various improvements in DESCRIPTION
            After review comments by Bert Wesarg:
            * Explain that cpu_set_t is a bitset, but should be considered
              opaque.
            * A CPU set can be duplicated with memset().
            * Size of a CPU set is rounded up to size of long.
            * CPU_SETSIZE is in bits, but the setsize argument is in bytes.
    Michael Kerrisk
        Document CPU_ALLOC()/CPU_ALLOC_SIZE() bug
            These macros return twice what they should because of thinko
            in glibc 2.8 and earlier.  The bug is fixed for glibc 2.9.
            http://sourceware.org/bugzilla/show_bug.cgi?id=7029
    Michael Kerrisk
        NOTES: Discuss use of types in "prototypes" for these macros
            The SYNOPSIS shows types for arguments and return values, but
            these are really just suggestions: since the interfaces are
            macros, the compiler won't catch all violations of
            the "type rules".  Warn the reader of this.

pthread_attr_setinheritsched.3
    Michael Kerrisk
        New page for pthread_attr_setinheritsched(3) and
        pthread_attr_getinheritsched(3)

pthread_cancel.3
    Michael Kerrisk
        New page for pthread_cancel(3)

pthread_cleanup_push.3
    Michael Kerrisk
        New page for pthread_cleanup_push(3) and pthread_cleanup_pop(3)

pthread_setcancelstate.3
    Michael Kerrisk
        New page for pthread_setcancelstate(3) and pthread_setcanceltype(3)

pthread_testcancel.3
    Michael Kerrisk
        New page for pthread_testcancel(3)


Newly documented interfaces in existing pages
---------------------------------------------

clone.2
    Jens Axboe
        Document CLONE_IO (new in Linux 2.6.25)
            Some text also by mtk.
    Michael Kerrisk
        Document CLONE_NEWNET
    Michael Kerrisk
        Document CLONE_NEWUTS (new in Linux 2.6.19)
    Michael Kerrisk
        Document CLONE_NEWIPC flag (new in Linux 2.6.19)
    Michael Kerrisk
        Document CLONE_NEWPID flag (new in Linux 2.6.24)

mmap.2
    Michael Kerrisk
        Document MAP_STACK flag (new in Linux 2.6.27)

arp.7
    Michael Kerrisk
        Document /proc file retrans_time_ms (new in Linux 2.6.12)
    Michael Kerrisk
        Document /proc file base_reachable_time_ms (new in Linux 2.6.12)

icmp.7
    Michael Kerrisk
        Document icmp_ignore_bogus_error_responses (new in Linux 2.2)
            Text taken from Documentation/networking/ip-sysctl.txt
    Michael Kerrisk
        Document icmp_ratelimit and icmp_ratemask (new in Linux 2.4.10)
            Text taken from Documentation/networking/ip-sysctl.txt
    Michael Kerrisk
        Document icmp_echo_ignore_broadcasts (new in Linux 2.6.12)
            Text taken from Documentation/networking/ip-sysctl.txt

tcp.7
    Michael Kerrisk
        Document /proc file tcp_slow_start_after_idle (new in Linux 2.6.18)
            Text taken from Documentation/networking/ip-sysctl.txt
    Michael Kerrisk
        Document /proc file tcp_base_mss (new in Linux 2.6.17)
            Text taken from Documentation/networking/ip-sysctl.txt
    Michael Kerrisk
        Document /proc file tcp_frto_response (new in Linux 2.6.22)
            Text taken from Documentation/networking/ip-sysctl.txt
    Michael Kerrisk
        Document /proc file tcp_moderate_rcvbuf (new in Linux 2.4.17/2.6.7)
            Text taken from Documentation/networking/ip-sysctl.txt
    Michael Kerrisk
        Document /proc file tcp_congestion_control (new in Linux 2.4.13)
            Text taken from Documentation/networking/ip-sysctl.txt
    Michael Kerrisk
        Document /proc file tcp_no_metrics_save (new in Linux 2.6.6)
            Text taken from Documentation/networking/ip-sysctl.txt
    Michael Kerrisk
        Document /proc file tcp_mtu_probing (new in Linux 2.6.17)
            Text taken from Documentation/networking/ip-sysctl.txt
    Michael Kerrisk
        Document /proc file tcp_dma_copybreak (new in Linux 2.6.24)
            Text taken from Documentation/networking/ip-sysctl.txt
    Michael Kerrisk
        Document /proc file tcp_tso_win_divisor (new in Linux 2.6.9)
            Text taken from Documentation/networking/ip-sysctl.txt
    Michael Kerrisk
        Document /proc file tcp_allowed_congestion_control (new in Linux 2.4.20)
            Text taken from Documentation/networking/ip-sysctl.txt
    Michael Kerrisk
        Document /proc file tcp_workaround_signed_windows (new in Linux 2.6.26)
            Text taken from Documentation/networking/ip-sysctl.txt
    Michael Kerrisk
        Document /proc file tcp_available_congestion_control (new in Linux 2.4.20)
            Text taken from Documentation/networking/ip-sysctl.txt
    Michael Kerrisk
        Document /proc file tcp_abc (new in Linux 2.6.15)
            Text taken from Documentation/networking/ip-sysctl.txt

udp.7
    Michael Kerrisk
        Document /proc files udp_mem, udp_rmem_min, and udp_wmem_min
            All of these are new in Linux 2.6.25


New and changed links
---------------------

CPU_ALLOC.3
CPU_ALLOC_SIZE.3
CPU_AND.3
CPU_AND_S.3
CPU_CLR_S.3
CPU_COUNT.3
CPU_COUNT_S.3
CPU_EQUAL.3
CPU_EQUAL_S.3
CPU_FREE.3
CPU_ISSET_S.3
CPU_OR.3
CPU_OR_S.3
CPU_SET_S.3
CPU_XOR.3
CPU_XOR_S.3
CPU_ZERO_S.3
    Michael Kerrisk
        New link to new CPU_SET.3

CPU_CLR.3
CPU_ISSET.3
CPU_ZERO.3
    Michael Kerrisk
        Update links to point to CPU_SET.3
            The documentation of the CPU_* macros migrated to a new
            location: CPU_SET.3.

pthread_attr_getinheritsched.3
    Michael Kerrisk
        New link to new pthread_attr_setinheritsched.3

pthread_cleanup_pop.3
    Michael Kerrisk
        New link to new pthread_cleanup_push.3

pthread_setcanceltype.3
    Michael Kerrisk
        New link to new pthread_setcancelstate.3


Global changes
--------------

clone.2
mount.2
unshare.2
proc.5
path_resolution.7
    Michael Kerrisk
        Global fix: s/namespace/mount-point namespace/, as appropriate
            In recent times, a number of other namespace flags have been
            added to clone(2).  As such, it is no longer clear to use
            the generic term "namespace" to refer to the particular
            namespace controlled by CLONE_NEWNS; instead, use the
            term "mount-point namespace".
    Michael Kerrisk
        Global fix: s/mount-point namespace/mount namespace/
            This is more consistent with the term "mounts namespace"
            used in the 2008 ACM SIGOPS paper, "Virtual servers
            and and checkpoint/restart in mainstream Linux".
            (I avoided the "s", because using the plural strikes me
            as klunky English, and anyway we don't talk about
            the "PIDs namespace" or the "networks namespace", etc..)

connect.2
listen.2
send.2
uname.2
cmsg.3
proc.5
arp.7
ddp.7
icmp.7
ip.7
raw.7
socket.7
tcp.7
udp.7
    Michael Kerrisk
        Global fix: eliminate mention of the obsolete sysctl(2) interface
            Many pages still mention use of the obsolete sysctl(2) system
            call, or used the term "sysctls"; rewrite these mentions to
            instead be in terms of /proc interfaces.

fcntl.2
signal.2
mbsnrtowcs.3
mbsrtowcs.3
mbtowc.3
wcrtomb.3
wcsnrtombs.3
wcsrtombs.3
wctomb.3
    Michael Kerrisk
        Global fix: s/multi-thread/multithread/

getdents.2
pthread_attr_init.3
pthread_create.3
pthread_getattr_np.3
pthread_setaffinity_np.3
pthread_setschedparam.3
pthread_tryjoin_np.3
    Michael Kerrisk
        Use consistent error-handling function names
            Many older pages use a handle_error() macro to do simple
            error handling from system and library function calls.
            Switch these pages to do similar.


Changes to individual pages
---------------------------

time.1
    Michael Kerrisk
        Note that some shells have a 'time' built-in command
            Therefore, to access the functionality described on this page,
            it may be necessary to specify the full pathname.

clone.2
    Michael Kerrisk
        Place list of CLONE_* flags in alphabetical order
            (No content changes.)
fsync.2
    Michael Kerrisk
        Update feature test macro requirements for fsync()
            Since glibc 2.8, the fsync() declaration is also exposed if
            _POSIX_C_SOURCE >= 200112L

sched_setaffinity.2
    Michael Kerrisk
        Add note on system-imposed restrictions on CPUs actually used
            After Loic Domaigne's suggestion for pthread_setaffinity_np(3), add
            similar text to this page noting that the system silently
            limits the set of CPUs on which the process actually runs to
            the set of CPUs physically present and the limits imposed by
            cpuset(7).

sched_setaffinity.2
    Michael Kerrisk
        Removed discussion of CPU_* macros()
            These macros are now moving to a separate page.
    Michael Kerrisk
        Refer reader to pthread_setaffinity_np(3)
            pthread_setaffinity_np() is preferable for setting
            thread CPU affinity if using the POSIX threads API.

sysctl.2
    Michael Kerrisk
        Add prominent warning against using this system call
            This was already stated under NOTES, but make it even more
            prominent by adding a sentence at the start of the DESCRIPTION.

uname.2
    Michael Kerrisk
        Add C comments describing fields in utsname structure

atan2.3
    Stefano Teso
        Fix description of range of function value return
            The range is not [-pi/2, pi/2], but [-pi, pi].

            (mtk: This error was reported by Nicolas Francois, and
            should have been fixed in 3.11, but somewhere along the way,
            the fix got lost.)

            http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=506299

bindresvport.3
    Michael Kerrisk
        Since glibc 2.8, EPFNOSUPPORT error is now EAFNOSUPPORT
            Glibc switched to using a POSIX-specified error code for
            this error case.

            http://bugs.linuxbase.org/show_bug.cgi?id=2375

clock_getres.3
    Michael Kerrisk
        CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID not settable
            According to POSIX.1-2001, the CLOCK_PROCESS_CPUTIME_ID and
            CLOCK_THREAD_CPUTIME_ID clocks should be settable, but
            currently they are not.

getgrnam.3
    Michael Kerrisk
        Clarify and add more detail in RETURN VALUE description
            The page was a bit fuzzy in describing the return values for
            various cases.  In particular, it needed to be more explicit
            in describing what happens for the "not found" case.

            This is an analogous change to the change for
            getpwnam.3, made after Andreas Henriksson's report.
            http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504787
    Michael Kerrisk
        Rename arguments to getgrnam_r() and getgrgid_r()
            s/gbuf/grp/ and s/gbufp/result/, for consistency
            with POSIX.1 argument names.
    Michael Kerrisk
        Clarify RETURN VALUE description
            The page was a bit fuzzy in describing the return values for
            various cases.  In particular, it needed to be more explicit
            in describing what happens for the "not found" case.

            http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504708

getpwnam.3
    Michael Kerrisk
        Rename arguments to getpwnam_r() and getpwuid_r()
            s/pwbuf/pwd/ and s/pwbufp/result/, for consistency
            with POSIX.1 argument names.
    Michael Kerrisk
        Clarify and add more detail in RETURN VALUE description
            The page was a bit fuzzy in describing the return values for
            various cases.  In particular, it needed to be more explicit
            in describing what happens for the "not found" case.

            http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504787
    Michael Kerrisk
        Add an EXAMPLE program for getpwnam_r()

inet_ntop.3
    Michael Kerrisk
        Rename 'cnt' argument to 'size'
            This is consistent with POSIX.1, and also a more sensible name.
    Michael Kerrisk
        Rework text describing 'size' argument
            (After a suggestion by Vegard Nossum.)
            Also made a few other small rewordings to in the initial
            paragraph.

makecontext.3
    Michael Kerrisk
        Add text on use of pointer arguments to makecontext()
            Passing pointer arguments to makecontext() is possible,
            but only on some architectures, and with no guarantees
            of portability.

            http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504699

pthread_attr_setaffinity_np.3
    Michael Kerrisk
        Various fixes after review by Loic Domaigne
            Reviewed-by: Loic Domaigne <tech@domaigne.com>

pthread_attr_setaffinity_np.3
pthread_setaffinity_np.3
    Michael Kerrisk
        Update to reflect new location of CPU_*() documentation
            The CPU_*() macros are now documented in CPU_SET.3;
            update to reflect that fact.
    Michael Kerrisk
        Remove redundant text relating to CPU sets
            Information about CPU_SETSIZE can be found in CPU_SET.3, so
            remove discussion of it here.

pthread_attr_setschedparam.3
pthread_setschedparam.3
    Michael Kerrisk
        Remove text saying that only sched_priority is required by POSIX.1
            Loic Domaigne points out that if a system implements
            SCHED_SPORADIC (which Linux does not), then other
            fields are also specified in sched_param.  The simple
            solution is just to remove that phrase from the man
            page.

pthread_cancel.3
pthread_detach.3
pthread_join.3
pthread_setaffinity_np.3
    Michael Kerrisk
        Make text of ESRCH error consistent

pthread_setaffinity_np.3
    Michael Kerrisk
        Add text to EINVAL error mentioning cpuset(7)
    Michael Kerrisk
        Various improvements after review by Loïc Domaigne
            Various fix-ups after Loïc's review.

            Reviewed-by: Loïc Domaigne <tech@domaigne.com>

pthread_setschedparam.3
    Michael Kerrisk
        PTHREAD_INHERIT_SCHED is default for inherit scheduler attribute
            In EXAMPLE, note that PTHREAD_INHERIT_SCHED is the default for
            the inherit scheduler attribute attribute.

syslog.3
    Masanari Iida
        LOG_KERN messages can't be generated from user processes
            Masanari notes that this is an FAQ for logger(1) and that
            Solaris and FreeBSD document this point in syslog(3).
            The glibc info page also hides this comment in its source:

                Internally, there is also LOG_KERN, but LOG_KERN == 0,
                which means if you try to use it here, just selects default.

proc.5
    Ivana Varekova
        Fix reference to kernel source file
            Use relative reference to Documentation/mtrr.txt.

arp.7
    Michael Kerrisk
        Add kernel version numbers for /proc interfaces

cpuset.7
    Michael Kerrisk
        SEE ALSO: add CPU_SET(3)

epoll.7
    Michael Kerrisk
        Note glibc version that added epoll support

icmp.7
    Michael Kerrisk
        Add kernel version numbers to /proc file descriptions

inotify.7
    Vegard Nossum
        Fix description of max_user_watches
            It seems that inotify(7) is wrong here:

            "/proc/sys/fs/inotify/max_user_watches
                This specifies a limit on the number of watches that can be
                associated with each inotify instance."

            On my system, the default value for this variable is 8192. But I
            cannot create more than 8192 watches in total for the same UID
            even when they are on different inotify instances. So I suggest
            to rephrase this as: "This specifies an upper limit on the
            number of watches that can be created per real user ID."

ip.7
    Michael Kerrisk
        Reorder socket options alphabetically
    Michael Kerrisk
        Added kernel version numbers for IP_* socket options
    Michael Kerrisk
        Relocate kernel version information for IP_PMTUDISC_PROBE
    Michael Kerrisk
        Add kernel version numbers for /proc/sys/net/ipv4/ip_* files
    Michael Kerrisk
        Remove mention of kernel header from description of IP_RECVERR
            Looks like glibc has had this definition since about version 2.1.
    Michael Kerrisk
        Relocate kernel version information for ip_mreqn structure
    Michael Kerrisk
        Relocate info about Linux-specific sockopts to NOTES
            Also add some source comments about non-standard Linux-specific
            options that are not yet documented.

netlink.7
    Vegard Nossum
        Fix incorrect variable names in example code
            s/snl/sa/ * 2

pthreads.7
    Michael Kerrisk
        Add section on cancellation points
            This section includes a list of the functions that must and
            may be cancellation points.
    Michael Kerrisk
        Rework, and fix small error in, thread-safe function list
            Integrate the changes that occurred in POSIX.1-2008 into the
            main list (to be consistent with the list, elsewhere on this
            page, of functions that are cancellation points).

            Also, fix an error that said that strerror() was added to
            the list in POSIX.1-2008.  It was strsignal() that was
            added.  (strerror() was already in the list in POSIX.1-2001.)
    Michael Kerrisk
        Tweak text on sigpause() cancellation point
            In POSIX.1-2009, this function moves from the "must be"
            to the "may be" list.
    Michael Kerrisk
        Add ref to signal(7) for further info on use of real-time signals
            signal(7) provides some further details on the use of real-time
            signals by the two Linux threading implementations.
    Michael Kerrisk
        SEE ALSO: add pthread_attr_init() and pthread_cancel()

tcp.7
    Michael Kerrisk
        Update description of tcp_rmem defaults for Linux 2.6
    Michael Kerrisk
        Add kernel version numbers for TCP_* socket options
            Note kernel version were each socket option first appeared.
    Michael Kerrisk
        The tcp_bic* proc files disappeared in Linux 2.6.13
    Michael Kerrisk
        tcp_vegas_cong_avoid disappeared in Linux 2.6.13
    Michael Kerrisk
        Add mention of RFC 4138 for 'tcp_frto' /proc file
    Michael Kerrisk
        Remove mention of /proc in VERSIONS
            This information is not indicated for each /proc interface
    Michael Kerrisk
        Clarify that tcp_mem measures in units of the system page size
    Michael Kerrisk
        Update tcp_frto description for 2.6.22 changes
            Linux 2.6.22 added a mode value 2 ("Enable SACK-enhanced
            F-RTO if flow uses SACK").
    Michael Kerrisk
        Fix alphabetical order in /proc file list
            A few entries were slightly out of order.
    Michael Kerrisk
        Remove obsolete statement about /proc from VERSIONS
            Much of the text has been updated to 2.6.27 or so,
            so this statement no longer applies.
    Michael Kerrisk
        Add kernel version numbers for each /proc interface
            Note kernel version where each /proc interface first appeared
    Michael Kerrisk
        tcp_westwood /proc file disappeared in Linux 2.6.13
    Michael Kerrisk
        Update description of tcp_wmem defaults for Linux 2.6