I was dreaming when I wrote this; forgive me if it goes astray. -- PrinceThis page lists all known errata in the second edition of my book, Linux Core Kernel Commentary (the first-edition errata listing is still available). If you find any errata in the book, no matter how trivial, please email me to let me know. Thanks.
| Page | Column | Paragraph | Description |
|---|---|---|---|
| 557 | 1 | 1 | Says "trade memory for precision" but is really talking about trading precision for memory. |
| 558 | 2 | 1 | "The true value can't be larger than the current estimate" for the first estimate only; the true value can exceed the estimate on later iterations. |
| 567 | 1 | 6 | Should make it clearer that we're not testing for privilege level == 3, but for privilege level != 0. Since Linux uses only 0 and 3, the effect is the same, however. |
| 585 | 1 | 3 | Says sharing IRQs is uncommon, but this is actually quite common in modern (PCI-based) systems. |
| 599 | 1-2 | N/A | Figure 7.2 has pidhash_next and pidhash_pprev on the wrong lines. The original is correct (though it shows only pidhash_next). |
| 630 | 1 | 2 | "page cache" should be "swap cache" here. |
| 644 | 2 | 1 | "gcc extension" should read "glibc extension". |
| 650 | 1 | 1 | "not yet allocated" should read "not yet reallocated". |
| 661 | 2 | 1 | The "26770" line reference would be better if "26778". |
| 685 | 2 | 2 | "has the CPU" should read "has the semaphore". |
| 689 | 3 | 2 | "the user" should be more specific: "the root user" or just "root". |
| 698 | 2 | 3 | (Code block.) "val <
*max++" should obviously be "val >
*max++". |
| 700 | 3 | 2 | "being compiled" should read just "compiled". |
| Page | Column | Paragraph | Description |
|---|---|---|---|
| Acknowledgments | 1 | 2 | Should be ";", not ",", after "Layout Designer". |
| 534 | 3 | 5 | (Code block.) Incorrectly
indented statement3; ... return expression;. |
| 544 | 1-2 | multiple | Inconsistent boldfacing for "make" and target names ("zdisk" and "zlilo" are not boldfaced in column 2). |
| 544 | 2 | 3 | "In fact" should be "Indeed". |
| 549 | 1 | 3 | "Much of the rest of libc ... do" should be "... does". |
| 560 | 1 | 3 | "root=" should be quoted and not boldfaced (the book is inconsistent). |
| 563 | 1 | 3 | "EMACS" should be "Emacs" or "emacs". |
| 565 | 3 | 2 | "it" should be something like "control". |
| 565 | 3 | 6 | (Code block.) There should not be any "#"s in the comments. |
| 567 | 2 | N/A | "lcall7" header should be "lcall7 and lcall27". |
| 573 | 2 | 1 | For clarity, "it's written" should say "the kernel is written". |
| 581 | 2 | 5 | The period belongs inside the parentheses. |
| 589 | 3 | 2 | "The next section shows ..." -- but, oops, it's not the next section any more. (This refers to the "Time" section on page 593.) |
| 610 | 3 | 5 | (3rd code block.) Malformatted. |
| 611 | 2 | 1 | "GNU/Linux" is missing its "/". |
| 625 | 2 | 7 | (Code block.) "unsigned
long addr" is supposed to be indented one more space. |
| 628 | 3 | 7 | pgd_offset (along with pmd_alloc and pte_alloc) should be covered in a separate section with its own heading. |
| 631 | 2-3 | 6-1 | After the paragraph ending "two important effects," the next two paragraphs should be bulleted. |
| 641 | 1 | 3 | "primitive" should be "primitives". |
| 653 | 2 | 1 | "as discussed before" wasn't (it's a first-edition leftover). |
| 657 | 2 | 3 | "ANSI C" is correct but should have read "ISO C" for consistency with the rest of the book. |
| 659 | 2 | 6 | (Code block.) Misaligned code: needs a space after the first "|". And the second and third lines should be indented an extra space. |
| 671 | 3 | 2 | Line should not break in the middle of "-EAGAIN". |
| 679 | 1 | 3 | "Linux" should read "GNU/Linux". |
| 683 | 2 | 1 | Either `"2",' and `"2".' or `"2,"' and `"2."', but not one of each. |
| 686 | 2 | 4 | Missing "the" before "semaphore's". |
| 689 | 2 | 5 | "mask" should be boldfaced. |
| 689 | 3 | 2 | Should start a new paragraph before "The kernel sends ...". |
| 692 | 1 | 5 | "the root" should read simply "root". |
| 693 | 2-3 | N/A | Figure 11.1: In the caption, there are extraneous spaces before the "e" in "Figure" (this also happens in Figure 11.2) and the "s" in "ctl_tables". |
| 694 | 1 | 6 | There should be a space before the "(" in each of "(readable)", "(writable)", and "(executable)", and there should be no "," after "(executable)". |
| 697 | 1 | 7 | (2nd code block.) The indentation is screwed up. So is the first code block's indentation, though it's less obvious. |
| 698 | 1 | 3 | Missing hyphen in "Newline-terminates". |
| 700 | 3 | 7 | Incorrectly indented
("len + 1" should be under
"oldval"). |
lckc@ScottMaxwell.org