The Linux Kernel Archiveshttps://www.kernel.org/2024-12-16T16:27:23+00:00Active kernel releases2024-12-16T16:27:23+00:002024-12-16T16:27:23+00:00tag:www.kernel.org,2024-12-16:/releases.html<p>There are several main categories into which kernel releases may fall:</p> <dl class="docutils"> <dt>Prepatch</dt> <dd>Prepatch or &quot;RC&quot; kernels are mainline kernel pre-releases that are mostly aimed at other kernel developers and Linux enthusiasts. They must be compiled from source and usually contain new features that must be tested before they can be …</dd></dl><p>There are several main categories into which kernel releases may fall:</p> <dl class="docutils"> <dt>Prepatch</dt> <dd>Prepatch or &quot;RC&quot; kernels are mainline kernel pre-releases that are mostly aimed at other kernel developers and Linux enthusiasts. They must be compiled from source and usually contain new features that must be tested before they can be put into a stable release. Prepatch kernels are maintained and released by Linus Torvalds.</dd> <dt>Mainline</dt> <dd>Mainline tree is maintained by Linus Torvalds. It's the tree where all new features are introduced and where all the exciting new development happens. New mainline kernels are released every 9-10 weeks.</dd> <dt>Stable</dt> <dd>After each mainline kernel is released, it is considered &quot;stable.&quot; Any bug fixes for a stable kernel are backported from the mainline tree and applied by a designated stable kernel maintainer. There are usually only a few bugfix kernel releases until next mainline kernel becomes available -- unless it is designated a &quot;longterm maintenance kernel.&quot; Stable kernel updates are released on as-needed basis, usually once a week.</dd> <dt>Longterm</dt> <dd>There are usually several &quot;longterm maintenance&quot; kernel releases provided for the purposes of backporting bugfixes for older kernel trees. Only important bugfixes are applied to such kernels and they don't usually see very frequent releases, especially for older trees.</dd> </dl> <table border="1" class="docutils"> <caption>Longterm release kernels</caption> <colgroup> <col width="11%" /> <col width="46%" /> <col width="17%" /> <col width="26%" /> </colgroup> <thead valign="bottom"> <tr><th class="head">Version</th> <th class="head">Maintainer</th> <th class="head">Released</th> <th class="head">Projected EOL</th> </tr> </thead> <tbody valign="top"> <tr><td>6.12</td> <td>Greg Kroah-Hartman &amp; Sasha Levin</td> <td>2024-11-17</td> <td>Dec, 2026</td> </tr> <tr><td>6.6</td> <td>Greg Kroah-Hartman &amp; Sasha Levin</td> <td>2023-10-29</td> <td>Dec, 2026</td> </tr> <tr><td>6.1</td> <td>Greg Kroah-Hartman &amp; Sasha Levin</td> <td>2022-12-11</td> <td>Dec, 2027</td> </tr> <tr><td>5.15</td> <td>Greg Kroah-Hartman &amp; Sasha Levin</td> <td>2021-10-31</td> <td>Dec, 2026</td> </tr> <tr><td>5.10</td> <td>Greg Kroah-Hartman &amp; Sasha Levin</td> <td>2020-12-13</td> <td>Dec, 2026</td> </tr> <tr><td>5.4</td> <td>Greg Kroah-Hartman &amp; Sasha Levin</td> <td>2019-11-24</td> <td>Dec, 2025</td> </tr> </tbody> </table> <div class="section" id="distribution-kernels"> <h2>Distribution kernels</h2> <p>Many Linux distributions provide their own &quot;longterm maintenance&quot; kernels that may or may not be based on those maintained by kernel developers. These kernel releases are not hosted at kernel.org and kernel developers can provide no support for them.</p> <p>It is easy to tell if you are running a distribution kernel. Unless you downloaded, compiled and installed your own version of kernel from kernel.org, you are running a distribution kernel. To find out the version of your kernel, run <cite>uname -r</cite>:</p> <pre class="literal-block"> # uname -r 5.6.19-300.fc32.x86_64 </pre> <p>If you see anything at all after the dash, you are running a distribution kernel. Please use the support channels offered by your distribution vendor to obtain kernel support.</p> </div> <div class="section" id="releases-faq"> <h2>Releases FAQ</h2> <p>Here are some questions we routinely receive about kernel release versions. See also the main &quot;FAQ&quot; section for some other topics.</p> <div class="section" id="when-is-the-next-mainline-kernel-version-going-to-be-released"> <h3>When is the next mainline kernel version going to be released?</h3> <p>Linux kernel follows a simple release cadence:</p> <ul class="simple"> <li>after each mainline release, there is a 2-week &quot;merge window&quot; period during which new major features are introduced into the kernel</li> <li>after the merge window closes, there is a 7-week bugfix and stabilization period with weekly &quot;release candidate&quot; snapshots</li> <li>rc7 is usually the last release candidate, though occasionally there may be additional rc8+ releases if that is deemed necessary</li> </ul> <p>So, to find the approximate date of the next mainline kernel release, take the date of the previous mainline release and add 9-10 weeks.</p> </div> <div class="section" id="what-is-the-next-longterm-release-going-to-be"> <h3>What is the next longterm release going to be?</h3> <p>Longterm kernels are picked based on various factors -- major new features, popular commercial distribution needs, device manufacturer demand, maintainer workload and availability, etc. You can roughly estimate when the new longterm version will become available based on how much time has elapsed since the last longterm version was chosen.</p> </div> <div class="section" id="why-are-some-longterm-versions-supported-longer-than-others"> <h3>Why are some longterm versions supported longer than others?</h3> <p>The &quot;projected EOL&quot; dates are not set in stone. Each new longterm kernel usually starts with only a 2-year projected EOL that can be extended further if there is enough interest from the industry at large to help support it for a longer period of time.</p> </div> <div class="section" id="does-the-major-version-number-4-x-vs-5-x-mean-anything"> <h3>Does the major version number (4.x vs 5.x) mean anything?</h3> <p>No. The major version number is incremented when the number after the dot starts looking &quot;too big.&quot; There is literally no other reason.</p> </div> <div class="section" id="does-the-odd-even-number-still-mean-anything"> <h3>Does the odd-even number still mean anything?</h3> <p>A long time ago Linux used a system where odd numbers after the first dot indicated pre-release, development kernels (e.g. 2.1, 2.3, 2.5). This scheme was abandoned after the release of kernel 2.6 and these days pre-release kernels are indicated with &quot;-rc&quot;.</p> </div> </div> The Linux Kernel Organization2024-08-06T19:40:29+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2024-08-06:/nonprofit.html<p>The Linux Kernel Organization is a California Public Benefit Corporation established in 2002 to distribute the Linux kernel and other Open Source software to the public without charge. We are recognized by the IRS as a 501(c)3 private operating foundation.</p> <ul class="simple"> <li><a class="reference external" href="https://www.kernel.org/corporate/irs-nonprofit-ok-redacted.pdf">IRS determination letter</a></li> <li><a class="reference external" href="https://www.kernel.org/corporate/state-nonprofit-ok-redacted.pdf">California determination letter</a></li> </ul> <p>The Linux …</p><p>The Linux Kernel Organization is a California Public Benefit Corporation established in 2002 to distribute the Linux kernel and other Open Source software to the public without charge. We are recognized by the IRS as a 501(c)3 private operating foundation.</p> <ul class="simple"> <li><a class="reference external" href="https://www.kernel.org/corporate/irs-nonprofit-ok-redacted.pdf">IRS determination letter</a></li> <li><a class="reference external" href="https://www.kernel.org/corporate/state-nonprofit-ok-redacted.pdf">California determination letter</a></li> </ul> <p>The Linux Kernel Organization is managed by <a class="reference external" href="http://linuxfoundation.org/">The Linux Foundation</a>, which provides full technical, financial and staffing support for running and maintaining the kernel.org infrastructure.</p> <div class="section" id="legal-information"> <h2>Legal information</h2> <p>Due to U.S. Exports Regulations, all cryptographic software on this site is subject to the following legal notice:</p> <blockquote> <strong>This site includes publicly available encryption source code which, together with object code resulting from the compiling of publicly available source code, may be exported from the United States under License Exception &quot;TSU&quot; pursuant to 15 C.F.R. Section 740.13(e).</strong></blockquote> <p>This legal notice applies to cryptographic software only. Please see the <a class="reference external" href="https://www.bis.doc.gov/">Bureau of Industry and Security</a> for more information about current U.S. regulations.</p> <p>Our servers are located in Corvallis, Oregon, USA; Palo Alto and San Francisco, California, USA; Portland, Oregon, USA; and Montréal, Québec, Canada.</p> <p>Use in violation of any applicable laws is prohibited.</p> <p>Linux is a Registered Trademark of Linus Torvalds. All trademarks are property of their respective owners.</p> </div> About Linux Kernel2024-08-06T19:40:29+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2024-08-06:/linux.html<div class="section" id="what-is-linux"> <h2>What is Linux?</h2> <p>Linux is a clone of the operating system Unix, written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX and <a class="reference external" href="http://www.unix.org/">Single UNIX Specification</a> compliance.</p> <p>It has all the features you would expect in a modern fully-fledged …</p></div><div class="section" id="what-is-linux"> <h2>What is Linux?</h2> <p>Linux is a clone of the operating system Unix, written from scratch by Linus Torvalds with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX and <a class="reference external" href="http://www.unix.org/">Single UNIX Specification</a> compliance.</p> <p>It has all the features you would expect in a modern fully-fledged Unix, including true multitasking, virtual memory, shared libraries, demand loading, shared copy-on-write executables, proper memory management, and multistack networking including IPv4 and IPv6.</p> <p>Although originally developed first for 32-bit x86-based PCs (386 or higher), today Linux also runs on a multitude of other processor architectures, in both 32- and 64-bit variants.</p> </div> <div class="section" id="new-to-linux"> <h2>New to Linux?</h2> <p>If you're new to Linux, you don't want to download the kernel, which is just a component in a working Linux system. Instead, you want what is called a distribution of Linux, which is a complete Linux system. There are numerous distributions available for download on the Internet as well as for purchase from various vendors; some are general-purpose, and some are optimized for specific uses. We currently have mirrors of several distributions available at <a class="reference external" href="https://mirrors.kernel.org/">https://mirrors.kernel.org/</a>.</p> <p>Note, however, that most distributions are very large (several gigabytes), so unless you have a fast Internet link you may want to save yourself some hassle and purchase a CD-ROM with a distribution; such CD-ROMs are available from a number of vendors.</p> </div> <div class="section" id="mailing-lists"> <h2>Mailing lists</h2> <p>The Linux kernel is discussed on the linux-kernel mailing list at <a class="reference external" href="http://vger.kernel.org/">vger.kernel.org</a>. Please read the <a class="reference external" href="http://www.tux.org/lkml/">FAQ</a> before subscribing.</p> <p>Although there is no official archive site, unofficial archives of the list can be found at:</p> <ul class="simple"> <li><a class="reference external" href="https://lkml.org/">https://lkml.org/</a></li> <li><a class="reference external" href="https://marc.info/?l=linux-kernel">https://marc.info/?l=linux-kernel</a></li> </ul> </div> Frequently asked questions2024-08-06T19:40:29+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2024-08-06:/faq.html<p>If you have questions, comments or concerns about the F.A.Q. please contact us at <a class="reference external" href="mailto:helpdesk&#64;kernel.org">helpdesk&#64;kernel.org</a>.</p> <div class="section" id="is-linux-kernel-free-software"> <h2>Is Linux Kernel Free Software?</h2> <p>Linux kernel is released under the terms of GNU GPL version 2 and is therefore Free Software as defined by the <a class="reference external" href="https://www.fsf.org/">Free Software Foundation</a>.</p> <p>For more …</p></div><p>If you have questions, comments or concerns about the F.A.Q. please contact us at <a class="reference external" href="mailto:helpdesk&#64;kernel.org">helpdesk&#64;kernel.org</a>.</p> <div class="section" id="is-linux-kernel-free-software"> <h2>Is Linux Kernel Free Software?</h2> <p>Linux kernel is released under the terms of GNU GPL version 2 and is therefore Free Software as defined by the <a class="reference external" href="https://www.fsf.org/">Free Software Foundation</a>.</p> <p>For more information, please consult the documentation:</p> <ul class="simple"> <li><a class="reference external" href="https://docs.kernel.org/process/license-rules.html">Linux kernel licensing rules</a></li> </ul> </div> <div class="section" id="i-heard-that-linux-ships-with-non-free-blobs"> <h2>I heard that Linux ships with non-free &quot;blobs&quot;</h2> <p>Before many devices are able to communicate with the OS, they must first be initialized with the &quot;firmware&quot; provided by the device manufacturer. This firmware is not part of Linux and isn't &quot;executed&quot; by the kernel -- it is merely uploaded to the device during the driver initialization stage.</p> <p>While some firmware images are built from free software, a large subset of it is only available for redistribution in binary-only form. To avoid any licensing confusion, firmware blobs were moved from the main Linux tree into a separate repository called <a class="reference external" href="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/">linux-firmware</a>.</p> <p>It is possible to use Linux without any non-free firmware binaries, but usually at the cost of rendering a lot of hardware inoperable. Furthermore, many devices that do not require a firmware blob during driver initialization simply already come with non-free firmware preinstalled on them. If your goal is to run a 100% free-as-in-freedom setup, you will often need to go a lot further than just avoiding loadable binary-only firmware blobs.</p> </div> <div class="section" id="can-i-use-the-word-linux-or-the-tux-logo"> <h2>Can I use the word &quot;Linux&quot; or the Tux logo?</h2> <p>Linux is a registered trademark of Linus Torvalds and its use is governed by the Linux Trademark Institute. Please consult the following page for further information:</p> <ul class="simple"> <li><a class="reference external" href="https://www.linuxfoundation.org/trademark-usage/">Trademark Usage</a></li> </ul> <p>The Tux penguin logo was created by Larry Ewing using Gimp software. It is free to use, including commercially, as long as you give Larry Ewing proper credit (&quot;if someone asks&quot;). For any other permissions, please reach out to Mr. Larry Ewing directly.</p> </div> <div class="section" id="what-does-stable-eol-and-longterm-mean"> <h2>What does &quot;stable/EOL&quot; and &quot;longterm&quot; mean?</h2> <p>As kernels move from the &quot;mainline&quot; into the &quot;stable&quot; category, two things can happen:</p> <ol class="arabic simple"> <li>They can reach &quot;End of Life&quot; after a few bugfix revisions, which means that kernel maintainers will release no more bugfixes for this kernel version, or</li> <li>They can be put into &quot;longterm&quot; maintenance, which means that maintainers will provide bugfixes for this kernel revision for a much longer period of time.</li> </ol> <p>If the kernel version you are using is marked &quot;EOL,&quot; you should consider upgrading to the next major version as there will be no more bugfixes provided for the kernel version you are using.</p> <p>Please check the <a class="reference external" href="https://www.kernel.org/releases.html">Releases</a> page for more info.</p> </div> <div class="section" id="why-is-an-lts-kernel-marked-as-stable-on-the-front-page"> <h2>Why is an LTS kernel marked as &quot;stable&quot; on the front page?</h2> <p>Long-term support (&quot;LTS&quot;) kernels announced on the <a class="reference external" href="https://www.kernel.org/releases.html">Releases</a> page will be marked as &quot;stable&quot; on the front page if there are no other current stable kernel releases. This is done to avoid breaking automated parsers monitoring kernel.org with an expectation that there will always be a kernel release marked as &quot;stable.&quot;</p> </div> <div class="section" id="linus-has-tagged-a-new-release-but-it-s-not-listed-on-the-front-page"> <h2>Linus has tagged a new release, but it's not listed on the front page!</h2> <p>Linus Torvalds PGP-signs git repository tags for all new mainline kernel releases, however a separate set of PGP signatures needs to be generated by the stable release team in order to create downloadable tarballs. Due to timezone differences between Linus and the members of the stable team, there is usually a delay of several hours between when the new mainline release is tagged and when PGP-signed tarballs become available. The front page is updated once that process is completed.</p> </div> <div class="section" id="is-there-an-rss-feed-for-the-latest-kernel-version"> <h2>Is there an RSS feed for the latest kernel version?</h2> <p>Yes, and you can find it at <a class="reference external" href="https://www.kernel.org/feeds/kdist.xml">https://www.kernel.org/feeds/kdist.xml</a>.</p> <p>We also publish a .json file with the latest release information, which you can pull from here: <a class="reference external" href="https://www.kernel.org/releases.json">https://www.kernel.org/releases.json</a>.</p> </div> <div class="section" id="where-can-i-find-kernel-3-10-0-1160-45-1-foo"> <h2>Where can I find kernel 3.10.0-1160.45.1.foo?</h2> <p>Kernel versions that have a dash in them are packaged by distributions and are often extensively modified. Please contact the relevant distribution to obtain the exact kernel source.</p> <p>See the <a class="reference external" href="https://www.kernel.org/releases.html">Releases</a> page for more info on distribution kernels.</p> </div> <div class="section" id="how-do-i-report-a-problem-with-the-kernel"> <h2>How do I report a problem with the kernel?</h2> <p>If you are running a kernel that came with your Linux distribution, then the right place to start is by reporting the problem through your distribution support channels. Here are a few popular choices:</p> <ul class="simple"> <li><a class="reference external" href="https://help.ubuntu.com/stable/ubuntu-help/report-ubuntu-bug.html.en">Ubuntu</a></li> <li><a class="reference external" href="https://docs.fedoraproject.org/en-US/quick-docs/howto-file-a-bug/">Fedora Project</a></li> <li><a class="reference external" href="https://bugs.archlinux.org/">Arch Linux</a></li> <li><a class="reference external" href="https://projects.linuxmint.com/reporting-an-issue.html">Linux Mint</a></li> <li><a class="reference external" href="https://www.debian.org/Bugs/Reporting">Debian GNU/Linux</a></li> <li><a class="reference external" href="https://bugzilla.redhat.com/">Red Hat</a></li> <li><a class="reference external" href="https://bugzilla.opensuse.org/">OpenSUSE</a></li> <li><a class="reference external" href="https://bugzilla.suse.com/">SUSE</a></li> </ul> <p>If you are sure that the problem is with the upstream kernel, please refer to the following document that describes how to report bugs and regressions to the developers:</p> <ul class="simple"> <li><a class="reference external" href="https://docs.kernel.org/admin-guide/reporting-issues.html">Reporting issues</a></li> </ul> </div> <div class="section" id="how-do-i-get-involved-with-linux-kernel-development"> <h2>How do I get involved with Linux Kernel development?</h2> <p>A good place to start is the <a class="reference external" href="http://kernelnewbies.org/">Kernel Newbies</a> website.</p> </div> <div class="section" id="can-i-get-an-account-on-kernel-org"> <h2>Can I get an account on kernel.org?</h2> <p>Kernel.org accounts are usually reserved for subsystem maintainers or high-profile developers. It is absolutely not necessary to have an account on kernel.org to contribute to the development of the Linux kernel, unless you submit pull requests directly to Linus Torvalds.</p> <p>If you are listed in the MAINTAINERS file or have reasons to believe you should have an account on kernel.org because of the amount of your contributions, please refer to the <a class="reference external" href="https://korg.docs.kernel.org/accounts.html">accounts page</a> for the procedure to follow.</p> </div> Contacts2024-08-06T19:40:29+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2024-08-06:/contact.html<p>Email is the only reliable way of contacting Kernel.org administrators.</p> <div class="section" id="general-contacts"> <h2>General contacts</h2> <dl class="docutils"> <dt><a class="reference external" href="mailto:helpdesk&#64;kernel.org">helpdesk&#64;kernel.org</a>:</dt> <dd>All questions about kernel.org infrastructure.</dd> </dl> <p><strong>Please do not send general Linux questions or bug reports to these addresses. We do not have the resources to reply to them.</strong></p> <p>Please try the following sites …</p></div><p>Email is the only reliable way of contacting Kernel.org administrators.</p> <div class="section" id="general-contacts"> <h2>General contacts</h2> <dl class="docutils"> <dt><a class="reference external" href="mailto:helpdesk&#64;kernel.org">helpdesk&#64;kernel.org</a>:</dt> <dd>All questions about kernel.org infrastructure.</dd> </dl> <p><strong>Please do not send general Linux questions or bug reports to these addresses. We do not have the resources to reply to them.</strong></p> <p>Please try the following sites for general Linux help:</p> <ul class="simple"> <li><a class="reference external" href="https://superuser.com/">https://superuser.com/</a> - for computer enthusiasts and power users</li> <li><a class="reference external" href="https://serverfault.com/">https://serverfault.com/</a> - for systems administrators</li> <li><a class="reference external" href="https://askubuntu.com/">https://askubuntu.com/</a> - for users of Ubuntu Linux</li> </ul> <p>Linux Foundation also offers training opportunities if you are interested in learning more about Linux, want to become a more proficient Linux systems administrator, or want to know more about how Linux can help your company succeed.</p> <ul class="simple"> <li><a class="reference external" href="https://training.linuxfoundation.org/">https://training.linuxfoundation.org/</a></li> </ul> </div> <div class="section" id="mailing-address"> <h2>Mailing address</h2> <p>Please send any mail correspondence to the Linux Foundation:</p> <blockquote> <div class="line-block"> <div class="line">The Linux Foundation</div> <div class="line">1 Letterman Drive</div> <div class="line">Building D, Suite D4700</div> <div class="line">San Francisco, CA 94129</div> <div class="line">Phone/Fax: +1 415 723 9709</div> </div> </blockquote> </div> Linux.dev mailing list service2021-03-15T00:00:00+00:002024-08-06T19:40:29+00:00Konstantin Ryabitsevtag:www.kernel.org,2021-03-15:/lists-linux-dev.html<p>We are pleased to announce the availability of a new mailing list service running under the new <a class="reference external" href="https://lists.linux.dev">lists.linux.dev</a> domain. The goal of this deployment is to offer a subscription service that:</p> <ul class="simple"> <li>prioritizes mail delivery to public-inbox archives available via <a class="reference external" href="https://lore.kernel.org">lore.kernel.org</a></li> <li>conforms to DMARC requirements to ensure …</li></ul><p>We are pleased to announce the availability of a new mailing list service running under the new <a class="reference external" href="https://lists.linux.dev">lists.linux.dev</a> domain. The goal of this deployment is to offer a subscription service that:</p> <ul class="simple"> <li>prioritizes mail delivery to public-inbox archives available via <a class="reference external" href="https://lore.kernel.org">lore.kernel.org</a></li> <li>conforms to DMARC requirements to ensure subscriber delivery</li> <li>makes minimal changes to email headers and no changes to the message body content for the purposes of preserving patch attestation</li> </ul> <p>If you would like to host a Linux development mailing list on this platform, please see further details on the <a class="reference external" href="https://subspace.kernel.org">subspace.kernel.org</a> site.</p> <div class="section" id="why-another-mailing-list-service"> <h2>Why another mailing list service?</h2> <p>Linux development started in 1991 and has been ongoing for the past 30 years at an ever-increasing pace. Many popular code collaboration platforms have risen throughout these three decades -- and while some of them are still around, many others have shut down and disappeared without offering any way to preserve the history of the projects they used to host.</p> <p>Development via mailed-in patches remains the only widely used mechanism for code collaboration that does not rely on centralized infrastructure maintained by any single entity. The Linux developer community sees transparency, independence and decentralization as core guiding principles behind Linux development, so it has deliberately chosen to continue using email for all its past and ongoing collaboration efforts.</p> </div> <div class="section" id="what-about-vger-kernel-org"> <h2>What about vger.kernel.org?</h2> <p>The infrastructure behind lists.linux.dev supports multiple domains, so all mailing lists hosted on vger.kernel.org will be carefully migrated to the same platform while preserving current addresses, subscribers, and list ids. The only thing that will noticeably change is the procedure to subscribe and unsubscribe from individual lists. As majordomo is no longer maintained, we will instead switch to using separate subscribe/unsusbscribe addresses per each list.</p> <p>There are no firm ETAs for this migration, but if you are currently subscribed to any mailing list hosted on vger.kernel.org, you will receive a message when the migration date is approaching.</p> </div> Git mirror available in Beijing2020-01-11T00:00:00+00:002024-08-06T19:40:29+00:00Konstantin Ryabitsevtag:www.kernel.org,2020-01-11:/beijing-git-mirror.html<p>If you are a developer located around Beijing, or if your connection to Beijing is faster and more reliable than to locations outside of China, then you may benefit from the new git.kernel.org mirror kindly provided by <a class="reference external" href="https://www.codeaurora.org/">Code Aurora Forum</a> at <a class="reference external" href="https://kernel.source.codeaurora.cn/">https://kernel.source.codeaurora.cn/</a>. This is …</p><p>If you are a developer located around Beijing, or if your connection to Beijing is faster and more reliable than to locations outside of China, then you may benefit from the new git.kernel.org mirror kindly provided by <a class="reference external" href="https://www.codeaurora.org/">Code Aurora Forum</a> at <a class="reference external" href="https://kernel.source.codeaurora.cn/">https://kernel.source.codeaurora.cn/</a>. This is a full mirror that is updated just as frequently as other git.kernel.org nodes (in fact, it is managed by the same team as the rest of kernel.org infrastructure, since CAF is part of Linux Foundation IT projects).</p> <p>To start using the Beijing mirror, simply clone from that location or add a separate remote to your existing checkouts, e.g.:</p> <pre class="literal-block"> git remote add beijing git://kernel.source.codeaurora.cn/pub/scm/.../linux.git git fetch beijing master </pre> <p>You may also use <a class="reference external" href="http://">http://</a> and <a class="reference external" href="https://">https://</a> protocols if that makes it easier behind corporate firewalls.</p> Code of Conduct2020-01-02T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2020-01-02:/code-of-conduct.html<p>The Linux kernel community operates a <a class="reference external" href="https://www.kernel.org/doc/html/latest/process/code-of-conduct.html">Code of Conduct</a> based on the <a class="reference external" href="https://www.contributor-covenant.org/version/1/4/code-of-conduct.html">Contributor Covenant Code of Conduct</a> with a <a class="reference external" href="https://www.kernel.org/doc/html/latest/process/code-of-conduct-interpretation.html">Linux Kernel Contributor Covenant Code of Conduct Interpretation</a>.</p> <div class="section" id="code-of-conduct-committee"> <h2>Code of Conduct Committee</h2> <p>The Linux kernel Code of Conduct Committee is currently made up of the following people:</p> <blockquote> <ul class="simple"> <li>Kristen Accardi &lt;<a class="reference external" href="mailto:kristen.c.accardi&#64;intel.com">kristen.c …</a></li></ul></blockquote></div><p>The Linux kernel community operates a <a class="reference external" href="https://www.kernel.org/doc/html/latest/process/code-of-conduct.html">Code of Conduct</a> based on the <a class="reference external" href="https://www.contributor-covenant.org/version/1/4/code-of-conduct.html">Contributor Covenant Code of Conduct</a> with a <a class="reference external" href="https://www.kernel.org/doc/html/latest/process/code-of-conduct-interpretation.html">Linux Kernel Contributor Covenant Code of Conduct Interpretation</a>.</p> <div class="section" id="code-of-conduct-committee"> <h2>Code of Conduct Committee</h2> <p>The Linux kernel Code of Conduct Committee is currently made up of the following people:</p> <blockquote> <ul class="simple"> <li>Kristen Accardi &lt;<a class="reference external" href="mailto:kristen.c.accardi&#64;intel.com">kristen.c.accardi&#64;intel.com</a>&gt;</li> <li>Shuah Khan &lt;<a class="reference external" href="mailto:skhan&#64;linuxfoundation.org">skhan&#64;linuxfoundation.org</a>&gt;</li> <li>Greg Kroah-Hartman &lt;<a class="reference external" href="mailto:gregkh&#64;linuxfoundation.org">gregkh&#64;linuxfoundation.org</a>&gt;</li> <li>Joanna Lee &lt;<a class="reference external" href="mailto:jlee&#64;linuxfoundation.org">jlee&#64;linuxfoundation.org</a>&gt;</li> </ul> </blockquote> <p>Committee members can be reached all at once by writing to &lt;<a class="reference external" href="mailto:conduct&#64;kernel.org">conduct&#64;kernel.org</a>&gt;.</p> </div> <div class="section" id="committee-reports"> <h2>Committee Reports</h2> <p>We would like to thank the Linux kernel community members who have supported the adoption of the Code of Conduct and who continue to uphold the professional standards of our community. If you have any questions about these reports, please write to &lt;<a class="reference external" href="mailto:conduct&#64;kernel.org">conduct&#64;kernel.org</a>&gt;.</p> <div class="section" id="march-2024"> <h3>March 2024</h3> <p>Archival copy: <a class="reference external" href="https://lore.kernel.org/r/355aee5f-13ce-4e20-9ce8-e5bcddd14bc2&#64;linuxfoundation.org">https://lore.kernel.org/r/355aee5f-13ce-4e20-9ce8-e5bcddd14bc2&#64;linuxfoundation.org</a></p> <p>In the period of October 1, 2023 through March 31, 2024, the Code of Conduct Committee received the following reports:</p> <ul class="simple"> <li>Unprofessional behavior or comments in email: 2</li> </ul> <p>The result of the investigation:</p> <ul class="simple"> <li>Education and coaching clarifying the role of Code of Conduct conduct on conversations that don't go against the CoC.</li> <li>Education and coaching the individuals on the impact of making unprofessional comments which could be misunderstood leading to negative impressions about the community.</li> </ul> <p>The reports were about the offhand comments made while rejecting the code which are not violations of the Code of Conduct</p> <p>Unacceptable behavior or comments on a private invitee only chat channel: 1</p> <ul class="simple"> <li>Education and coaching clarifying the role of Code of Conduct conduct on conversations that occur on a private chat channel.</li> </ul> <p>We would like to thank the Linux kernel community members who have supported the adoption of the Code of Conduct and who continue to uphold the professional standards of our community. If you have questions about this report, please write to &lt;<a class="reference external" href="mailto:conduct&#64;kernel.org">conduct&#64;kernel.org</a>&gt;.</p> </div> <div class="section" id="september-2023"> <h3>September 2023</h3> <p>Archival copy: <a class="reference external" href="https://lore.kernel.org/r/3351be6b-854e-479d-832c-83cb8829c010&#64;linuxfoundation.org">https://lore.kernel.org/r/3351be6b-854e-479d-832c-83cb8829c010&#64;linuxfoundation.org</a></p> <p>In the period of April 1, 2023 through September 30, 2023, the Code of Conduct Committee received the following reports:</p> <ul class="simple"> <li>Unacceptable behavior or comments in email: 4</li> </ul> <p>The result of the investigation:</p> <ul class="simple"> <li>Education and coaching clarifying the Code of Conduct conduct related to normal review and patch acceptance process: 3</li> <li>Clarification on the Code of Conduct conduct related to maintainer rights and responsibility to reject code: 1</li> </ul> <p>The reports were about the discussion during the patch review and decisions made in rejecting code and these actions are not viewed as violations of the Code of Conduct.</p> <p>Please see the excerpt from the Responsibilities section in the <a class="reference external" href="https://www.kernel.org/doc/html/latest/process/code-of-conduct-interpretation.html">Linux Kernel Contributor Covenant Code of Conduct Interpretation</a> document:</p> <pre class="literal-block"> setting expertise expectations, making decisions and rejecting unsuitable contributions are not viewed as a violation of the Code of Conduct. </pre> </div> <div class="section" id="march-2023"> <h3>March 2023</h3> <p>Archival copy: <a class="reference external" href="https://lore.kernel.org/r/557ef895-ad2d-eff9-7cb8-70dbcf41adea&#64;linuxfoundation.org">https://lore.kernel.org/r/557ef895-ad2d-eff9-7cb8-70dbcf41adea&#64;linuxfoundation.org</a></p> <p>In the period of October 1, 2022 through March 31, 2023, the Code of Conduct Committee received the following reports:</p> <blockquote> <ul class="simple"> <li>Unacceptable behavior or comments in email: 6</li> </ul> </blockquote> <p>The result of the investigation:</p> <blockquote> <ul class="simple"> <li>Education and coaching clarifying the Code of Conduct conduct related to normal review and patch acceptance process: 1</li> <li>Clarification on the Code of Conduct conduct related to maintainer rights and responsibility to reject code: 5</li> </ul> </blockquote> <p>The reports were about the decisions made in rejecting code and these actions are not viewed as violations of the Code of Conduct.</p> <p>Please see the excerpt from the Responsibilities section in the <a class="reference external" href="https://www.kernel.org/doc/html/latest/process/code-of-conduct-interpretation.html">Linux Kernel Contributor Covenant Code of Conduct Interpretation</a> document:</p> <pre class="literal-block"> setting expertise expectations, making decisions and rejecting unsuitable contributions are not viewed as a violation of the Code of Conduct. </pre> </div> <div class="section" id="september-2022"> <h3>September 2022</h3> <p>Archival copy: <a class="reference external" href="https://lore.kernel.org/r/57a492fb-928b-9e0a-5f0e-dc95ef599309&#64;linuxfoundation.org">https://lore.kernel.org/r/57a492fb-928b-9e0a-5f0e-dc95ef599309&#64;linuxfoundation.org</a></p> <p>In the period of April 1, 2022 through September 30, 2022, the Code of Conduct Committee received the following reports:</p> <blockquote> <ul class="simple"> <li>Unacceptable behavior or comments in email: 1</li> </ul> </blockquote> <p>The result of the investigation:</p> <blockquote> <ul class="simple"> <li>Resolved with a public apology from the violator with a commitment from them to abide by the Code of Conduct in the future.</li> </ul> </blockquote> </div> </div> <div class="section" id="march-2022"> <h2>March 2022</h2> <p>Archival copy: <a class="reference external" href="https://lore.kernel.org/r/4401af50-083d-0239-6b7f-3454c8d69fec&#64;linuxfoundation.org">https://lore.kernel.org/r/4401af50-083d-0239-6b7f-3454c8d69fec&#64;linuxfoundation.org</a></p> <p>In the period of October 1, 2021 through March 31, 2022, the Code of Conduct Committee received the following reports:</p> <blockquote> <ul class="simple"> <li>Unacceptable behavior or comments in email: 2</li> </ul> </blockquote> <p>The result of the investigation:</p> <blockquote> <ul class="simple"> <li>Education and coaching clarifying the Code of Conduct conduct related to normal review process: 2</li> </ul> </blockquote> <div class="section" id="september-2021"> <h3>September 2021</h3> <p>Archival copy: <a class="reference external" href="https://lore.kernel.org/r/e81f0726-5f8f-f10f-d926-a9126941d38e&#64;linuxfoundation.org">https://lore.kernel.org/r/e81f0726-5f8f-f10f-d926-a9126941d38e&#64;linuxfoundation.org</a></p> <p>In the period of May 1, 2021 through September 30, 2021, the Code of Conduct Committee received the following reports:</p> <blockquote> <ul class="simple"> <li>Unacceptable behavior or comments in email: 1</li> </ul> </blockquote> <p>The result of the investigation:</p> <blockquote> <ul class="simple"> <li>Education and coaching clarifying the Code of Conduct conduct related to normal review process: 1</li> </ul> </blockquote> </div> <div class="section" id="april-2021"> <h3>April 2021</h3> <p>Archival copy: <a class="reference external" href="https://lore.kernel.org/r/448b06e4-41fc-26df-a862-c3ba2f70b6b3&#64;linuxfoundation.org">https://lore.kernel.org/r/448b06e4-41fc-26df-a862-c3ba2f70b6b3&#64;linuxfoundation.org</a></p> <p>In the period of November 1, 2020 through April 30, 2021 the Code of Conduct Committee received the following reports:</p> <blockquote> <ul class="simple"> <li>Unacceptable behavior or comments in email (3rd party): 4</li> </ul> </blockquote> <p>The result of the investigation:</p> <blockquote> <ul class="simple"> <li>Education and coaching: 1</li> <li>Public response to call attention to the behavior and request correction with consequence of ban if behavior persists: 1</li> <li>Public response to attention to the behavior and request correction: 1</li> <li>Clarification on the Code of Conduct conduct related to maintainer rights and responsibility to reject code: 1</li> </ul> </blockquote> </div> <div class="section" id="october-2020"> <h3>October 2020</h3> <p>Archival copy: <a class="reference external" href="https://lore.kernel.org/lkml/20201105083002.GA3429143&#64;kroah.com/">https://lore.kernel.org/lkml/20201105083002.GA3429143&#64;kroah.com/</a></p> <p>In the period of January 1, 2020 through October 31, 2020 the Committee received the following reports:</p> <blockquote> <ul class="simple"> <li>Unacceptable behavior or comments in email: 1</li> <li>Unacceptable comments in github repo by non-community members: 1</li> <li>Unacceptable comments toward a company: 1</li> </ul> </blockquote> <p>The result of the investigation:</p> <blockquote> <ul class="simple"> <li>Education and coaching: 1</li> <li>Locking of github repo for any comments: 1</li> <li>Clarification that the Code of Conduct covers conduct related to individual developers only: 1</li> </ul> </blockquote> </div> <div class="section" id="december-2019"> <h3>December 2019</h3> <p>Archival copy: <a class="reference external" href="https://lore.kernel.org/lkml/20200103105614.GC1047442&#64;kroah.com/">https://lore.kernel.org/lkml/20200103105614.GC1047442&#64;kroah.com/</a></p> <p>In the period of December 1, 2019 through December 30, 2019 the Committee received the following report:</p> <blockquote> <ul class="simple"> <li>Insulting behavior in email: 1</li> </ul> </blockquote> <p>The result of the investigation:</p> <blockquote> <ul class="simple"> <li>Education and coaching: 1</li> </ul> </blockquote> </div> <div class="section" id="august-to-november-2019"> <h3>August to November 2019</h3> <p>Archival copy: <a class="reference external" href="https://lore.kernel.org/lkml/20191218090054.GA5120&#64;kroah.com/">https://lore.kernel.org/lkml/20191218090054.GA5120&#64;kroah.com/</a></p> <p>In the period of August 1, 2019 through November 31, 2019, the Committee received no reports.</p> </div> <div class="section" id="september-2018-to-july-2019"> <h3>September 2018 to July 2019</h3> <p>Archival copy: <a class="reference external" href="https://lore.kernel.org/lkml/20190810120700.GA7360&#64;kroah.com/">https://lore.kernel.org/lkml/20190810120700.GA7360&#64;kroah.com/</a></p> <p>In the period of September 15, 2018 through July 31, 2019, the Committee received the following reports:</p> <blockquote> <ul class="simple"> <li>Inappropriate language in the kernel source: 1</li> <li>Insulting behavior in email: 3</li> </ul> </blockquote> <p>The result of the investigations:</p> <blockquote> <ul class="simple"> <li>Education and coaching: 4</li> </ul> </blockquote> </div> </div> Get notifications for your patches2018-12-13T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2018-12-13:/get-notifications-for-your-patches.html<p>We are trialing out a new feature that can send you a notification when the patches you send to the LKML are applied to linux-next or to the mainline git trees. If you are interested in trying it out, here are the details:</p> <ul class="simple"> <li>The patches must be sent to the …</li></ul><p>We are trialing out a new feature that can send you a notification when the patches you send to the LKML are applied to linux-next or to the mainline git trees. If you are interested in trying it out, here are the details:</p> <ul class="simple"> <li>The patches must be sent to the LKML (<a class="reference external" href="mailto:linux-kernel&#64;vger.kernel.org">linux-kernel&#64;vger.kernel.org</a>).</li> <li>One of the cc's must be <a class="reference external" href="mailto:notify&#64;kernel.org">notify&#64;kernel.org</a> (Bcc will not work).</li> <li>Alternatively, there should be a &quot;X-Patchwork-Bot: notify&quot; email header.</li> <li>The patches must not have been modified by the maintainer(s).</li> <li>All patches in the series must have been applied, not just some of them.</li> </ul> <p>The last two points are important, because if there are changes between the content of the patch as it was first sent to the mailing list, and how it looks like by the time it is applied to linux-next or mainline, the bot will not be able to recognize it as the same patch. Similarly, for series of multiple patches, the bot must be able to successfully match all patches in the series in order for the notification to go out.</p> <p>If you are using <tt class="docutils literal"><span class="pre">git-format-patch</span></tt>, it is best to add the special header instead of using the Cc notification address, so as to avoid any unnecessary email traffic:</p> <pre class="literal-block"> --add-header=&quot;X-Patchwork-Bot: notify&quot; </pre> <p>You should receive one notification email per each patch series, so if you send a series of 20 patches, you will get a single email in the form of a reply to the cover letter, or to the first patch in the series. The notification will be sent directly to you, ignoring any other addresses in the Cc field.</p> <p>The bot uses our <a class="reference external" href="https://lore.kernel.org/patchwork">LKML patchwork instance</a> to perform matching and tracking, and the <a class="reference external" href="https://git.kernel.org/pub/scm/linux/kernel/git/mricon/korg-helpers.git/tree/git-patchwork-bot.py">source code</a> for the bot is also available if you would like to suggest improvements.</p> List archives on lore.kernel.org2018-12-12T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2018-12-12:/lore.html<p>You may access the archives of many Linux development mailing lists on <a class="reference external" href="https://lore.kernel.org/lists.html">lore.kernel.org</a>. Most of them include a full archive of messages going back several decades.</p> <ul class="simple"> <li><a class="reference external" href="https://lore.kernel.org/lists.html">listing of currently hosted archives</a></li> </ul> <p>If you would like to suggest another kernel development mailing list to be included in this list …</p><p>You may access the archives of many Linux development mailing lists on <a class="reference external" href="https://lore.kernel.org/lists.html">lore.kernel.org</a>. Most of them include a full archive of messages going back several decades.</p> <ul class="simple"> <li><a class="reference external" href="https://lore.kernel.org/lists.html">listing of currently hosted archives</a></li> </ul> <p>If you would like to suggest another kernel development mailing list to be included in this list, please follow the instructions on the following wiki page:</p> <ul class="simple"> <li><a class="reference external" href="https://korg.wiki.kernel.org/userdoc/lore">Adding list archives to lore.kernel.org</a></li> </ul> <div class="section" id="archiving-software"> <h2>Archiving software</h2> <p>The software managing the archive is called <a class="reference external" href="https://public-inbox.org/design_notes.html">Public Inbox</a> and offers the following features:</p> <ul class="simple"> <li>Fast, searchable web archives</li> <li>Atom feeds per list or per individual thread</li> <li>Downloadable mbox archives to make replying easy</li> <li>Git-backed archival mechanism you can clone and pull</li> <li>Read-only nntp gateway</li> </ul> <p>We collected many list archives going as far back as 1998, and they are now all available to anyone via a simple git clone. We would like to extend our thanks to everyone who helped in this effort by donating their personal archives.</p> </div> <div class="section" id="obtaining-full-list-archives"> <h2>Obtaining full list archives</h2> <p>Git clone URLs are provided at the bottom of each page. Note, that due mailing list volume, list archives are sharded into multiple repositories, each roughly 1GB in size. In addition to cloning from lore.kernel.org, you may also access these repositories on <a class="reference external" href="https://erol.kernel.org/">erol.kernel.org</a>.</p> <div class="section" id="mirroring"> <h3>Mirroring</h3> <p>You can continuously mirror the entire mailing list archive collection by using the <a class="reference external" href="https://github.com/mricon/grokmirror">grokmirror</a> tool. The following repos.conf file should get you all you need:</p> <pre class="literal-block"> [lore.kernel.org] site = https://lore.kernel.org manifest = https://lore.kernel.org/manifest.js.gz toplevel = /path/to/your/local/folder mymanifest = /path/to/your/local/folder/manifest.js.gz pull_threads = 4 </pre> <p>Please note, that you will require at least 20+ GB of local storage. The mirroring process only replicates the git repositories themselves -- if you want to use public-inbox with them, you will need to run &quot;<tt class="docutils literal"><span class="pre">public-inbox-init</span></tt>&quot; and &quot;<tt class="docutils literal"><span class="pre">public-inbox-index</span></tt>&quot; to create the database files required for public-inbox operation.</p> </div> </div> <div class="section" id="linking-to-list-discussions-from-commits"> <h2>Linking to list discussions from commits</h2> <p>If you need to reference a mailing list discussion inside code comments or in a git commit message, please use the &quot;permalink&quot; URL provided by public-inbox. It is available in the headers of each displayed message or thread discussion. Alternatively, you can use a generic message-id redirector in the form:</p> <ul class="simple"> <li><a class="reference external" href="https://lore.kernel.org/r/message&#64;id">https://lore.kernel.org/r/message&#64;id</a></li> </ul> <p>That should display the message regardless in which mailing list archive it's stored.</p> </div> Minor changes to kernel tarball releases2018-07-27T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2018-07-27:/minor-changes-to-tarball-release-format.html<p>We'd like to announce several small changes to the way Linux tarballs are produced.</p> <div class="section" id="mainline-release-tarball-signatures"> <h2>Mainline release tarball signatures</h2> <p>Starting with the 4.18 final release, all mainline tarball PGP signatures will be made by Greg Kroah-Hartman instead of Linus Torvalds. The main goal behind this change is to simplify the …</p></div><p>We'd like to announce several small changes to the way Linux tarballs are produced.</p> <div class="section" id="mainline-release-tarball-signatures"> <h2>Mainline release tarball signatures</h2> <p>Starting with the 4.18 final release, all mainline tarball PGP signatures will be made by Greg Kroah-Hartman instead of Linus Torvalds. The main goal behind this change is to simplify the <a class="reference external" href="https://www.kernel.org/signature.html">verification process</a> and make all kernel tarball releases available for download on kernel.org be signed by the same developer.</p> <p>Linus Torvalds will continue to PGP-sign all tags in the mainline git repository. They can be verified using the <tt class="docutils literal">git <span class="pre">verify-tag</span></tt> command.</p> </div> <div class="section" id="sunsetting-gz-tarball-generation"> <h2>Sunsetting .gz tarball generation</h2> <p>We stopped creating .bz2 copies of tarball releases 5 years ago, and the time has come to stop producing .gz duplicate copies of all our content as well, as XZ tools and libraries are now available on all major platforms. Starting September 1st, 2018, all tarball releases available via <tt class="docutils literal">/pub</tt> download locations will only be available in XZ-compressed format.</p> <p>If you absolutely must have .gz compressed tarballs, you may obtain them from git.kernel.org by following snapshot download links in the appropriate repository view.</p> </div> <div class="section" id="no-future-pgp-signatures-on-patches-and-changelogs"> <h2>No future PGP signatures on patches and changelogs</h2> <p>For legacy purposes, we will continue to provide pre-generated changelogs and patches (both to the previous mainline and incremental patches to previous stable). However, from now on they will be generated by automated processes and will no longer carry detached PGP signatures. If you require cryptographically verified patches, please generate them directly from the <a class="reference external" href="https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git">stable git repository</a> after verifying the PGP signatures on the tags using <tt class="docutils literal">git <span class="pre">verify-tag</span></tt>.</p> </div> Best way to do linux clones for your CI2018-07-25T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2018-07-25:/best-way-to-do-linux-clones-for-your-ci.html<p>If you are in charge of CI infrastructure that needs to perform frequent full clones of kernel trees from git.kernel.org, we strongly recommend that you use the <a class="reference external" href="https://www.kernel.org/cloning-linux-from-a-bundle.html">git bundles we provide</a> instead of performing a full clone directly from git repositories.</p> <p>It is better for you, because downloading …</p><p>If you are in charge of CI infrastructure that needs to perform frequent full clones of kernel trees from git.kernel.org, we strongly recommend that you use the <a class="reference external" href="https://www.kernel.org/cloning-linux-from-a-bundle.html">git bundles we provide</a> instead of performing a full clone directly from git repositories.</p> <p>It is better for you, because downloading the bundle from CDN is probably going to be much faster for you than cloning from our frontends due to the CDN being more local. You can even copy the bundle to a fileserver on your local infrastructure and save a lot of repeated external traffic.</p> <p>It is better for us, because if you first clone from the bundle, you only need to fetch a handful of newer objects directly from git.kernel.org frontends. This not only uses an order of magnitude less bandwidth, but also results in a much smaller memory footprint on our systems -- git daemon needs a lot of RAM when serving full clones of linux repositories.</p> <p>Here is a simple script that will help you automate the process of first downloading the git bundle and then fetching the newer objects:</p> <ul class="simple"> <li><a class="reference external" href="https://git.kernel.org/pub/scm/linux/kernel/git/mricon/korg-helpers.git/plain/linux-bundle-clone">linux-bundle-clone</a></li> </ul> <p>Thank you for helping us keep our systems fast and accessible to all.</p> Nitrokey digital tokens for kernel developers2018-04-04T00:00:00+00:002024-08-06T19:40:29+00:00Konstantin Ryabitsevtag:www.kernel.org,2018-04-04:/nitrokey-digital-tokens-for-kernel-developers.html<p>The Linux Foundation IT team has been working to improve the code integrity of git repositories hosted at kernel.org by promoting the use of PGP-signed git tags and commits. Doing so allows anyone to easily verify that git repositories have not been altered or tampered with no matter from …</p><p>The Linux Foundation IT team has been working to improve the code integrity of git repositories hosted at kernel.org by promoting the use of PGP-signed git tags and commits. Doing so allows anyone to easily verify that git repositories have not been altered or tampered with no matter from which worldwide mirror they may have been cloned. If the digital signature on your cloned repository matches the PGP key belonging to Linus Torvalds or any other maintainer, then you can be assured that what you have on your computer is the exact replica of the kernel code without any omissions or additions.</p> <p>To help promote the use of PGP signatures in Linux kernel development, we now offer a detailed guide within the kernel documentation tree:</p> <ul class="simple"> <li><a class="reference external" href="https://www.kernel.org/doc/html/latest/process/maintainer-pgp-guide.html">Kernel Maintainer PGP Guide</a></li> </ul> <img alt="Nitrokey logo" class="align-left" src="https://www.kernel.org/news/images/nitrokey-logo.png" style="width: 207px; height: 70px;" /> <p>Further, we are happy to announce a new special program sponsored by <a class="reference external" href="https://linuxfoundation.org/">The Linux Foundation</a> in partnership with <a class="reference external" href="https://www.nitrokey.com/">Nitrokey</a> -- the developer and manufacturer of smartcard-compatible digital tokens capable of storing private keys and performing PGP operations on-chip. Under this program, any developer who is listed as a maintainer in the <a class="reference external" href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/MAINTAINERS">MAINTAINERS</a> file, or who has a kernel.org account can qualify for a free digital token to help improve the security of their PGP keys. The cost of the device, including any taxes, shipping and handling will be covered by The Linux Foundation.</p> <p>To participate in this program, please access the special store front on the Nitrokey website:</p> <ul class="simple"> <li><a class="reference external" href="https://kernel.nitrokey.com/">Nitrokey Start for Kernel Developers</a></li> </ul> <div class="section" id="who-qualifies-for-this-program"> <h2>Who qualifies for this program?</h2> <p>To qualify for the program, you need to have an account at kernel.org or have your email address listed in the <a class="reference external" href="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/MAINTAINERS">MAINTAINERS</a> file (following the &quot;<tt class="docutils literal">M:</tt>&quot; heading). If you do not currently qualify but think you should, the easiest course of action is to get yourself added to the MAINTAINERS file or to <a class="reference external" href="https://korg.wiki.kernel.org/userdoc/accounts">apply for an account at kernel.org</a>.</p> </div> <div class="section" id="which-devices-are-available-under-this-program"> <h2>Which devices are available under this program?</h2> <p>The program is limited to <a class="reference external" href="https://shop.nitrokey.com/shop/product/nitrokey-start-6">Nitrokey Start</a> devices. There are several reasons why we picked this particular device among several available options.</p> <p>First of all, many Linux kernel developers have a strong preference not just for open-source software, but for open hardware as well. Nitrokey is one of the few companies selling GnuPG-compatible smartcard devices that provide both, since Nitrokey Start is based on Gnuk cryptographic token firmware developed by <a class="reference external" href="https://www.fsij.org/category/gnuk.html">Free Software Initiative of Japan</a>. It is also one of the few commercially available devices that offer native support for ECC keys, which are both faster computationally than large RSA keys and generate smaller digital signatures. With our push to use more code signing of git objects themselves, both the open nature of the device and its support for fast modern cryptography were key points in our evaluation.</p> <p>Additionally, Nitrokey devices (both Start and Pro models) are already <a class="reference external" href="https://lwn.net/Articles/736231/">used by open-source developers</a> for cryptographic purposes and they are known to work well with Linux workstations.</p> </div> <div class="section" id="what-is-the-benefit-of-digital-smartcard-tokens"> <h2>What is the benefit of digital smartcard tokens?</h2> <p>With usual GnuPG operations, the private keys are stored in the home directory where they can be stolen by malware or exposed via other means, such as poorly secured backups. Furthermore, each time a GnuPG operation is performed, the keys are loaded into system memory and can be stolen from there using sufficiently advanced techniques (the likes of Meltdown and Spectre).</p> <p>A digital smartcard token like Nitrokey Start contains a cryptographic chip that is capable of storing private keys and performing crypto operations directly on the token itself. Because the key contents never leave the device, the operating system of the computer into which the token is plugged in is not able to retrieve the private keys themselves, therefore significantly limiting the ways in which the keys can be leaked or stolen.</p> </div> <div class="section" id="questions-or-problems"> <h2>Questions or problems?</h2> <p>If you qualify for the program, but encounter any difficulties purchasing the device, please contact Nitrokey at <a class="reference external" href="mailto:shop&#64;nitrokey.com">shop&#64;nitrokey.com</a>.</p> <p>For any questions about the program itself or with any other comments, please reach out to <a class="reference external" href="mailto:info&#64;linuxfoundation.org">info&#64;linuxfoundation.org</a>.</p> </div> Linux kernel releases PGP signatures2018-02-15T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2018-02-15:/signature.html<p>All kernel releases are cryptographically signed using OpenPGP-compliant signatures. Everyone is strongly encouraged to verify the integrity of downloaded kernel releases by verifying the corresponding signatures.</p> <div class="section" id="basic-concepts"> <h2>Basic concepts</h2> <p>Every kernel release comes with a cryptographic signature from the person making the release. This cryptographic signature allows anyone to verify whether …</p></div><p>All kernel releases are cryptographically signed using OpenPGP-compliant signatures. Everyone is strongly encouraged to verify the integrity of downloaded kernel releases by verifying the corresponding signatures.</p> <div class="section" id="basic-concepts"> <h2>Basic concepts</h2> <p>Every kernel release comes with a cryptographic signature from the person making the release. This cryptographic signature allows anyone to verify whether the files have been modified or otherwise tampered with after the developer created and signed them. The signing and verification process uses public-key cryptography and it is next to impossible to forge a PGP signature without first gaining access to the developer's private key. If this does happen, the developers will revoke the compromised key and will re-sign all their previously signed releases with the new key.</p> <p>To learn more about the way PGP works, please consult <a class="reference external" href="https://en.wikipedia.org/wiki/Pretty_Good_Privacy#How_PGP_encryption_works">Wikipedia</a>.</p> </div> <div class="section" id="kernel-org-web-of-trust"> <h2>Kernel.org web of trust</h2> <p>PGP keys used by members of kernel.org are cross-signed by other members of the Linux kernel development community (and, frequently, by many other people). If you wanted to verify the validity of any key belonging to a member of kernel.org, you could review the list of signatures on their public key and then make a decision whether you trust that key or not. See the <a class="reference external" href="https://en.wikipedia.org/wiki/Web_of_trust">Wikipedia article</a> on the subject of the Web of Trust.</p> </div> <div class="section" id="using-the-web-key-directory"> <h2>Using the Web Key Directory</h2> <p>If the task of maintaining your own web of trust is too daunting to you, you can opt to shortcut this process by using the &quot;Trust on First Use&quot; (TOFU) approach and rely on the kernel.org Web Key Directory (WKD).</p> <p>To import keys belonging to many kernel developers, you can use the following command:</p> <pre class="literal-block"> $ gpg2 --locate-keys [username]&#64;kernel.org </pre> <p>For example, to import keys belonging to Linus Torvalds and Greg Kroah-Hartman, you would use:</p> <pre class="literal-block"> $ gpg2 --locate-keys torvalds&#64;kernel.org gregkh&#64;kernel.org </pre> <p>This command will verify the TLS certificate presented by kernel.org before importing these keys into your keyring.</p> </div> <div class="section" id="using-gnupg-to-verify-kernel-signatures"> <h2>Using GnuPG to verify kernel signatures</h2> <p>All software released via kernel.org has detached PGP signatures you can use to verify the integrity of your downloads.</p> <p>To illustrate the verification process, let's use Linux 4.6.6 release as a walk-through example. First, use &quot;<tt class="docutils literal">curl</tt>&quot; to download the release and the corresponding signature:</p> <pre class="literal-block"> $ curl -OL https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.6.6.tar.xz $ curl -OL https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.6.6.tar.sign </pre> <p>You will notice that the signature is made against the uncompressed version of the archive. This is done so there is only one signature required for .gz and .xz compressed versions of the release. Start by uncompressing the archive, using <tt class="docutils literal">unxz</tt> in our case:</p> <pre class="literal-block"> $ unxz linux-4.6.6.tar.xz </pre> <p>Now verify the .tar archive against the signature:</p> <pre class="literal-block"> $ gpg2 --verify linux-4.6.6.tar.sign </pre> <p>You can combine these steps into a one-liner:</p> <pre class="literal-block"> $ xz -cd linux-4.6.6.tar.xz | gpg2 --verify linux-4.6.6.tar.sign - </pre> <p>It's possible that you get a &quot;No public key error&quot;:</p> <pre class="literal-block"> gpg: Signature made Wed 10 Aug 2016 06:55:15 AM EDT using RSA key ID 38DBBDC86092693E gpg: Can't check signature: No public key </pre> <p>Please use the &quot;<tt class="docutils literal">gpg2 <span class="pre">--locate-keys</span></tt>&quot; command listed above to download the key for Greg Kroah-Hartman and Linus Torvalds and then try again:</p> <pre class="literal-block"> $ gpg2 --locate-keys torvalds&#64;kernel.org gregkh&#64;kernel.org $ gpg2 --verify linux-4.6.6.tar.sign gpg: Signature made Wed 10 Aug 2016 06:55:15 AM EDT gpg: using RSA key 38DBBDC86092693E gpg: Good signature from &quot;Greg Kroah-Hartman &lt;gregkh&#64;kernel.org&gt;&quot; [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 647F 2865 4894 E3BD 4571 99BE 38DB BDC8 6092 693E </pre> <p>To make the &quot;<tt class="docutils literal">WARNING</tt>&quot; message go away you can indicate that you choose to trust that key using TOFU:</p> <pre class="literal-block"> $ gpg2 --tofu-policy good 38DBBDC86092693E $ gpg2 --trust-model tofu --verify linux-4.6.6.tar.sign gpg: Signature made Wed 10 Aug 2016 06:55:15 AM EDT gpg: using RSA key 38DBBDC86092693E gpg: Good signature from &quot;Greg Kroah-Hartman &lt;gregkh&#64;kernel.org&gt;&quot; [full] gpg: gregkh&#64;kernel.org: Verified 1 signature in the past 53 seconds. Encrypted 0 messages. </pre> <p>Note that you may have to pass &quot;<tt class="docutils literal"><span class="pre">--trust-model</span> tofu</tt>&quot; the first time you run the verify command, but it should not be necessary after that.</p> <div class="section" id="the-scripted-version"> <h3>The scripted version</h3> <p>If you need to perform this task in an automated environment or simply prefer a more convenient tool, you can use the following helper script to properly download and verify Linux kernel tarballs:</p> <blockquote> <ul class="simple"> <li><a class="reference external" href="https://git.kernel.org/pub/scm/linux/kernel/git/mricon/korg-helpers.git/tree/get-verified-tarball">get-verified-tarball</a></li> </ul> </blockquote> <p>Please review the script before adopting it for your needs.</p> </div> </div> <div class="section" id="important-fingerprints"> <h2>Important fingerprints</h2> <p>Here are key fingerprints for Linus Torvalds, Greg Kroah-Hartman, Sasha Levin, and Ben Hutchings, who are most likely to be releasing kernels:</p> <table border="1" class="docutils"> <colgroup> <col width="25%" /> <col width="75%" /> </colgroup> <thead valign="bottom"> <tr><th class="head">Developer</th> <th class="head">Fingerprint</th> </tr> </thead> <tbody valign="top"> <tr><td>Linus Torvalds</td> <td><tt class="docutils literal">ABAF 11C6 5A29 70B1 30AB&nbsp; E3C4 79BE 3E43 0041 1886</tt></td> </tr> <tr><td>Greg Kroah-Hartman</td> <td><tt class="docutils literal">647F 2865 4894 E3BD 4571&nbsp; 99BE 38DB BDC8 6092 693E</tt></td> </tr> <tr><td>Sasha Levin</td> <td><tt class="docutils literal">E27E 5D8A 3403 A2EF 6687&nbsp; 3BBC DEA6 6FF7 9777 2CDC</tt></td> </tr> <tr><td>Ben Hutchings</td> <td><tt class="docutils literal">AC2B 29BD 34A6 AFDD B3F6&nbsp; 8F35 E7BF C8EC 9586 1109</tt></td> </tr> </tbody> </table> <p>Please verify the TLS certificate for this site in your browser before trusting the above information.</p> </div> <div class="section" id="if-you-get-bad-signature"> <h2>If you get &quot;BAD signature&quot;</h2> <p>If at any time you see &quot;BAD signature&quot; output from &quot;<tt class="docutils literal">gpg2 <span class="pre">--verify</span></tt>&quot;, please first check the following first:</p> <ol class="arabic simple"> <li><strong>Make sure that you are verifying the signature against the .tar version of the archive, not the compressed (.tar.xz) version.</strong></li> <li>Make sure the the downloaded file is correct and not truncated or otherwise corrupted.</li> </ol> <p>If you repeatedly get the same &quot;BAD signature&quot; output, please email <a class="reference external" href="mailto:helpdesk&#64;kernel.org">helpdesk&#64;kernel.org</a>, so we can investigate the problem.</p> </div> <div class="section" id="kernel-org-checksum-autosigner-and-sha256sums-asc"> <h2>Kernel.org checksum autosigner and sha256sums.asc</h2> <p>We have a dedicated off-the-network system that connects directly to our central attached storage and calculates checksums for all uploaded software releases. The generated <tt class="docutils literal">sha256sums.asc</tt> file is then signed with a PGP key generated for this purpose and that doesn't exist outside of that system.</p> <p>These checksums are <strong>NOT</strong> intended to replace developer signatures. It is merely a way for someone to quickly verify whether contents on one of the many kernel.org mirrors match the contents on the master mirror. While you may use them to quickly verify whether what you have downloaded matches what we have on our central storage system, you should continue to use developer signatures for best assurance.</p> </div> <div class="section" id="kernel-releases-prior-to-september-2011"> <h2>Kernel releases prior to September, 2011</h2> <p>Prior to September, 2011 all kernel releases were signed automatically by the same PGP key:</p> <pre class="literal-block"> pub 1024D/517D0F0E 2000-10-10 [revoked: 2011-12-11] Key fingerprint = C75D C40A 11D7 AF88 9981 ED5B C86B A06A 517D 0F0E uid Linux Kernel Archives Verification Key &lt;ftpadmin&#64;kernel.org&gt; </pre> <p>Due to the kernel.org systems compromise, this key has been retired and revoked. <strong>It will no longer be used to sign future releases and you should NOT use this key to verify the integrity of any archives. It is almost certain that this key has fallen into malicious hands.</strong></p> <p>All kernel releases that were previously signed with this key were cross-checked and signed with another key, created specifically for this purpose:</p> <pre class="literal-block"> pub 3072R/C4790F9D 2013-08-08 Key fingerprint = BFA7 DD3E 0D42 1C9D B6AB 6527 0D3B 3537 C479 0F9D uid Linux Kernel Archives Verification Key (One-off resigning of old releases) &lt;ftpadmin&#64;kernel.org&gt; </pre> <p>The private key used for this purpose has been destroyed and cannot be used to sign any releases produced after 2011.</p> </div> RC tarballs and patches starting with 4.12-rc12017-05-16T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2017-05-16:/rc-tarballs-and-patches-starting-with-412-rc1.html<p>As you may be aware, starting with 4.12-rc1 Linus will <a class="reference external" href="https://lwn.net/Articles/722660/">no longer provide</a> signed tarballs and patches for pre-release (&quot;-rc&quot;) kernels. Reasons for this are multiple, but largely this is because people who are most interested in pre-release tags -- kernel developers -- do not rely on patches and tarballs to …</p><p>As you may be aware, starting with 4.12-rc1 Linus will <a class="reference external" href="https://lwn.net/Articles/722660/">no longer provide</a> signed tarballs and patches for pre-release (&quot;-rc&quot;) kernels. Reasons for this are multiple, but largely this is because people who are most interested in pre-release tags -- kernel developers -- do not rely on patches and tarballs to do their work.</p> <div class="section" id="obtaining-tarballs-on-your-own"> <h2>Obtaining tarballs on your own</h2> <p>Here is how you can generate the tarball from a pre-release tag using the &quot;<tt class="docutils literal">git archive</tt>&quot; command (we'll use 4.12-rc1 in these examples):</p> <pre class="literal-block"> git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git cd linux git verify-tag v4.12-rc1 git archive --format=tar.gz --prefix=linux-4.12-rc1/ \ -o linux-4.12-rc1.tar.gz v4.12-rc1 </pre> <p>The upside of this method is that during the &quot;<tt class="docutils literal">git <span class="pre">verify-tag</span></tt>&quot; step you will check the PGP signature on the tag to make sure that what you cloned is exactly the same tree as on Linus Torvalds's computer.</p> <p>The downside of this method is that you will need to download about 1 GiB of data -- the entire git history of the Linux kernel -- just to get the latest tag. Notably, when -rc2 is tagged, all you'll need to do is run a quick &quot;<tt class="docutils literal">git pull</tt>&quot; to get the latest objects and it will be dramatically less data to download, so cloning the whole tree may be worth it to you in the long run if you plan to do this again in the future.</p> <p>If you do not want to download the whole git repository and just want to get the latest tarball, you can download the version automatically generated by cgit at the following (or similar URL):</p> <pre class="literal-block"> wget https://git.kernel.org/torvalds/t/linux-4.12-rc1.tar.gz </pre> <p>Please note that you will not be able to cryptographically verify the integrity of this archive, but the download will be about 10 times less in size than the full git tree.</p> </div> <div class="section" id="obtaining-patches-to-the-previous-mainline"> <h2>Obtaining patches to the previous mainline</h2> <p>If you would like to get just the patch to the previous mainline release, you can get it from cgit as well:</p> <pre class="literal-block"> wget -O patch-4.12-rc1 https://git.kernel.org/torvalds/p/v4.12-rc1/v4.11 </pre> <p>Unfortunately, cgit does not currently offer an easy way to get gzip-compressed patches, but if you would like to reduce the amount of data you download, you can use http-level gzip compression:</p> <pre class="literal-block"> wget -O patch-4.12-rc1.gz --header=&quot;accept-encoding: gzip&quot; \ https://git.kernel.org/torvalds/p/v4.12-rc1/v4.11 </pre> <p>The links to these patches are available on the front page of <a class="reference external" href="https://www.kernel.org/">https://www.kernel.org/</a>.</p> </div> <div class="section" id="why-not-provide-these-at-their-old-locations"> <h2>Why not provide these at their old locations?</h2> <p>We intentionally did not provide these automatically generated tarballs and patches in locations previously used by Linus (<tt class="docutils literal">/pub/linux/kernel/v4.x/testing</tt>), even if this meant potentially breaking automated scripts relying on contents published there. Anything placed in the /pub tree is signed and curated directly by developers and all patches and software archives published there invariably come with a PGP signature provided directly by the developer of that software (or one of the developers).</p> <p>Patches and tarballs automatically generated by git.kernel.org are NOT a replacement for this stringent process, but merely a convenience service that comes with very different trust implications. By providing these at different URLs we wanted all users of these services to make a conscious decision on whether they want to trust these automatically generated tarballs and patches, or whether they want to change their process to continue to use PGP-verifiable tags directly from the git tree.</p> </div> If you got "BAD Signature" this morning2017-05-14T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2017-05-14:/if-you-got-bad-signature-this-morning.html<p>The XZ tarballs for the following kernel releases did not initially pass signature verification due to benign changes to the tarball structure done by the pixz compression tool:</p> <ul class="simple"> <li>4.11.1</li> <li>4.10.16</li> <li>4.9.28</li> <li>4.4.68</li> </ul> <p>These changes would have resulted in GPG returning &quot;Bad Signature …</p><p>The XZ tarballs for the following kernel releases did not initially pass signature verification due to benign changes to the tarball structure done by the pixz compression tool:</p> <ul class="simple"> <li>4.11.1</li> <li>4.10.16</li> <li>4.9.28</li> <li>4.4.68</li> </ul> <p>These changes would have resulted in GPG returning &quot;Bad Signature&quot; if you tried to verify their integrity. Once we identified the problem, we generated new XZ tarballs without tar header modifications and now they should all pass PGP signature verification.</p> <p>We preserved the original .xz tarballs as -badsig files in the archives in case you wanted to verify that there was nothing malicious in them, merely tar header changes. You can find them in the same v4.x directory:</p> <ul class="simple"> <li><a class="reference external" href="https://www.kernel.org/pub/linux/kernel/v4.x/">https://www.kernel.org/pub/linux/kernel/v4.x/</a></li> </ul> <p>Our apologies for this problem and thanks to Brad Spengler and everyone else who alerted us about this issue.</p> Fast new frontends with Packet2017-03-11T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2017-03-11:/fast-new-frontends-with-packet.html<img alt="Packet logo" class="align-left" src="https://www.kernel.org/news/images/packet-logo.png" style="width: 176px; height: 60px;" /> <p>We are extremely happy to announce that <a class="reference external" href="https://www.packet.net/">Packet</a> has graciously donated the new hardware systems providing read-only public access to the kernel.org git repositories and the public website (git.kernel.org and www.kernel.org, respectively). We have avoided using cloud providers in the past due to security implications …</p><img alt="Packet logo" class="align-left" src="https://www.kernel.org/news/images/packet-logo.png" style="width: 176px; height: 60px;" /> <p>We are extremely happy to announce that <a class="reference external" href="https://www.packet.net/">Packet</a> has graciously donated the new hardware systems providing read-only public access to the kernel.org git repositories and the public website (git.kernel.org and www.kernel.org, respectively). We have avoided using cloud providers in the past due to security implications of sharing hypervisor memory with external parties, but Packet's hardware-based single-tenant approach satisfies our security requirements while taking over the burden of setting up and managing the physical hardware in multiple worldwide datacenters.</p> <p>As of March 11, 2017, the four new public frontends are located in the following geographical locations:</p> <ul class="simple"> <li>San Jose, California, USA</li> <li>Parsippany, New Jersey, USA</li> <li>Amsterdam, Netherlands</li> <li>Tokyo, Japan</li> </ul> <p>We have changed our DNS configuration to support GeoDNS, so your requests should be routed to the frontend nearest to you.</p> <p>Each Packet-hosted system is <a class="reference external" href="https://www.packet.net/bare-metal/servers/type-2-virtualization/">significantly more powerful</a> than our previous generation frontends and have triple the amount of available RAM, so they should be a lot more responsive even when a lot of people are cloning linux.git simultaneously.</p> <p>Our special thanks to the following organizations who have graciously donated hosting for the previous incarnation of kernel.org frontends:</p> <ul class="simple"> <li><a class="reference external" href="https://www.isc.org/">Internet Systems Consortium</a></li> <li><a class="reference external" href="https://www.vexxhost.com/">Vexxhost</a></li> <li><a class="reference external" href="https://www.tizen.org/">Tizen</a></li> </ul> <p>If you notice any problems with the new systems, please email <a class="reference external" href="mailto:helpdesk&#64;kernel.org">helpdesk&#64;kernel.org</a>.</p> Shutting down FTP services2017-01-27T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2017-01-27:/shutting-down-ftp-services.html<p>Those of you who have been around for a while may remember a time when you used to be able to mount kernel.org directly as a partition on your system using NFS (or even SMB/CIFS). The Wayback Machine shows that this was still advertised some time in <a class="reference external" href="https://web.archive.org/web/19980130085039/http://www.kernel.org/">January …</a></p><p>Those of you who have been around for a while may remember a time when you used to be able to mount kernel.org directly as a partition on your system using NFS (or even SMB/CIFS). The Wayback Machine shows that this was still advertised some time in <a class="reference external" href="https://web.archive.org/web/19980130085039/http://www.kernel.org/">January 1998</a>, but was removed by the time the <a class="reference external" href="https://web.archive.org/web/19981212030306/http://www.kernel.org/">December 1998</a> copy was made.</p> <p>Let's face it -- while kinda neat and convenient, offering a public NFS/CIFS server was a Pretty Bad Idea, not only because both these protocols are pretty terrible over high latency connections, but also because of important security implications.</p> <p>Well, 19 years later we're thinking it's time to terminate another service that has important protocol and security implications -- our FTP servers. Our decision is driven by the following considerations:</p> <ul class="simple"> <li>The protocol is inefficient and requires adding awkward kludges to firewalls and load-balancing daemons</li> <li>FTP servers have no support for caching or accelerators, which has significant performance impacts</li> <li>Most software implementations have stagnated and see infrequent updates</li> </ul> <p>All kernel.org FTP services will be shut down by the end of this year. In hopes to minimise the potential disruption, we will be doing it in two stages:</p> <ol class="arabic simple"> <li><a class="reference external" href="ftp://ftp.kernel.org/">ftp://ftp.kernel.org/</a> service will be terminated on March 1, 2017</li> <li><a class="reference external" href="ftp://mirrors.kernel.org/">ftp://mirrors.kernel.org/</a> service will be terminated on December 1, 2017</li> </ol> <p>If you have any concerns, please feel free to contact <a class="reference external" href="mailto:ftpadmin&#64;kernel.org">ftpadmin&#64;kernel.org</a> (ah, the irony).</p> Gandi.net TLS certificates2016-10-11T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2016-10-11:/gandinet-tls-certificates.html<img alt="Gandi logo" class="align-left" src="https://www.kernel.org/news/images/gandi-logo.png" style="width: 202px; height: 60px;" /> <p>If your browser alerted you that the site certificates have changed, that would be because we replaced our StartCOM, Ltd certificates with those offered by our DNS registrar, <a class="reference external" href="https://gandi.net/">Gandi</a>. We are very thankful to Gandi for this opportunity.</p> <p>A common question is why we aren't using the certificates offered by …</p><img alt="Gandi logo" class="align-left" src="https://www.kernel.org/news/images/gandi-logo.png" style="width: 202px; height: 60px;" /> <p>If your browser alerted you that the site certificates have changed, that would be because we replaced our StartCOM, Ltd certificates with those offered by our DNS registrar, <a class="reference external" href="https://gandi.net/">Gandi</a>. We are very thankful to Gandi for this opportunity.</p> <p>A common question is why we aren't using the certificates offered by the <a class="reference external" href="https://letsencrypt.org/">Let's Encrypt project</a>, and the answer is that there are several technical hurdles (on our end) that currently make it complicated. Once we resolve them, we will most likely switch to using certificates issued by our fellow Linux Foundation project.</p> Cloning Linux from a bundle2016-03-02T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2016-03-02:/cloning-linux-from-a-bundle.html<p>If you find yourself on an unreliable Internet connection and need to perform a fresh clone of Linux.git, you may find it tricky to do so if your connection resets before you are able to complete the clone. There is currently no way to resume a git clone using …</p><p>If you find yourself on an unreliable Internet connection and need to perform a fresh clone of Linux.git, you may find it tricky to do so if your connection resets before you are able to complete the clone. There is currently no way to resume a git clone using git, but there is a neat trick you can use instead of cloning directly -- using <a class="reference external" href="https://git-scm.com/docs/git-bundle">git bundle</a> files.</p> <p>Here is how you would do it.</p> <ol class="arabic"> <li><p class="first">Start with &quot;<tt class="docutils literal">wget <span class="pre">-c</span></tt>&quot;, which tells wget to continue interrupted downloads. If your connection resets, just rerun the same command while in the same directory, and it will pick up where it left off:</p> <pre class="literal-block"> wget -c https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/clone.bundle </pre> </li> <li><p class="first">Next, clone from the bundle:</p> <pre class="literal-block"> git clone clone.bundle linux </pre> </li> <li><p class="first">Now, point the origin to the live git repository and get the latest changes:</p> <pre class="literal-block"> cd linux git remote remove origin git remote add origin https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git pull origin master </pre> </li> </ol> <p>Once this is done, you can delete the &quot;<tt class="docutils literal">clone.bundle</tt>&quot; file, unless you think you will need to perform a fresh clone again in the future.</p> <p>The &quot;<tt class="docutils literal">clone.bundle</tt>&quot; files are generated weekly on Sunday, so they should contain most objects you need, even during kernel merge windows when there are lots of changes committed daily.</p> Introducing Fastly CDN2015-10-05T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2015-10-05:/introducing-fastly-cdn.html<img alt="Fastly logo" class="align-left" src="https://www.kernel.org/news/images/fastly-logo.png" style="width: 156px; height: 60px;" /> <p>We are happy to announce that <a class="reference external" href="https://fastly.com/">Fastly</a> has offered their worldwide CDN network to provide fast download services for Linux kernel releases, which should improve download speeds for those of you located outside North America. We have modified the front page to offer CDN-powered download links, but all the existing …</p><img alt="Fastly logo" class="align-left" src="https://www.kernel.org/news/images/fastly-logo.png" style="width: 156px; height: 60px;" /> <p>We are happy to announce that <a class="reference external" href="https://fastly.com/">Fastly</a> has offered their worldwide CDN network to provide fast download services for Linux kernel releases, which should improve download speeds for those of you located outside North America. We have modified the front page to offer CDN-powered download links, but all the existing URLs should continue to work.</p> <p>If you would like to avoid using Fastly, you can simply change the URL to have &quot;www.kernel.org&quot; instead of &quot;cdn.kernel.org&quot;. As always, please use <a class="reference external" href="https://kernel.org/signature.html">PGP Signature Verification</a> for all downloaded files regardless of where you got them.</p> Hurr, Durr Im'a Sheep2015-04-01T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2015-04-01:/hurr-durr-ima-sheep.html<p>Linus named the upcoming 4.0 release of the kernel &quot;Hurr Durr I'ma Sheep&quot; (see his <a class="reference external" href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c517d838eb7d07bbe9507871fab3931deccff539">git commit</a>), so we are celebrating this April Fool's day with a minor prank. If you've been redirected to <a class="reference external" href="https://imasheep.hurrdurr.org/">imasheep.hurrdurr.org</a>, do not panic. It's all part of the joke.</p> <p>We've also restored …</p><p>Linus named the upcoming 4.0 release of the kernel &quot;Hurr Durr I'ma Sheep&quot; (see his <a class="reference external" href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c517d838eb7d07bbe9507871fab3931deccff539">git commit</a>), so we are celebrating this April Fool's day with a minor prank. If you've been redirected to <a class="reference external" href="https://imasheep.hurrdurr.org/">imasheep.hurrdurr.org</a>, do not panic. It's all part of the joke.</p> <p>We've also restored all FTP and Rsync access to the <a class="reference external" href="https://mirrors.kernel.org/">mirrors.kernel.org</a> servers, as we seem to have resolved our SSD and dm_cache problems. If you're still using FTP, however, please consider switching to HTTP. FTP is a protocol designed for a different era -- these days everyone should be avoiding it for <a class="reference external" href="http://mywiki.wooledge.org/FtpMustDie">multiple reasons</a>.</p> FTP limited on mirrors.kernel.org2015-02-03T00:00:00+00:002024-08-06T19:40:29+00:00Konstantin Ryabitsevtag:www.kernel.org,2015-02-03:/ftp-limited-on-mirrorskernelorg.html<p>We've had to temporarily limit FTP access to mirrors.kernel.org due to high IO load.</p> <p>We have recently upgraded our hardware in order to increase capacity -- 16TB was no longer nearly sufficient enough to host all the distro mirrors and archives. We chose larger but slower disks and offset …</p><p>We've had to temporarily limit FTP access to mirrors.kernel.org due to high IO load.</p> <p>We have recently upgraded our hardware in order to increase capacity -- 16TB was no longer nearly sufficient enough to host all the distro mirrors and archives. We chose larger but slower disks and offset the loss of performance by heavily utilizing SSD IO caching using dm-cache.</p> <p>While it was performing very well, we have unfortunately run across an FS data corruption bug somewhere along this stack:</p> <pre class="literal-block"> megaraid_sas + dm_cache + libvirt/virtio + xfs </pre> <p>We've temporarily removed dm-cache from the picture and switched to Varnish on top of SSD for http object caching. Unfortunately, as Varnish does not support FTP, we had to restrict FTP protocol to a limited number of concurrent sessions in order to reduce disk IO. If you are affected by this, simply switch to HTTP protocol that does not have such restrictions.</p> <p>This is a temporary measure until we identify the dm-cache problem that was causing data corruption, at which point we will restore unrestricted FTP access.</p> Heartbleed statement2014-04-10T00:00:00+00:002024-08-06T19:40:29+00:00Konstantin Ryabitsevtag:www.kernel.org,2014-04-10:/heartbleed-statement.html<p>Since we rely on the OpenSSL library for serving most of our websites, we, together with most of the rest of the open-source world, were vulnerable to the <a class="reference external" href="http://heartbleed.com/">HeartBleed</a> vulnerability. We have switched to the patched version of OpenSSL within hours of it becoming available, plus have performed the following …</p><p>Since we rely on the OpenSSL library for serving most of our websites, we, together with most of the rest of the open-source world, were vulnerable to the <a class="reference external" href="http://heartbleed.com/">HeartBleed</a> vulnerability. We have switched to the patched version of OpenSSL within hours of it becoming available, plus have performed the following steps to mitigate any sensitive information leaked via malicious SSL heartbeat requests:</p> <ul class="simple"> <li>Replaced all SSL keys across all kernel.org sites.</li> <li>Expired all active sessions on Bugzilla, Patchwork, and Mediawiki sites, requiring everyone to re-login.</li> <li>Changed all passwords used for admin-level access to the above sites.</li> </ul> <p>As kernel.org developers do not rely on SSL to access git repositories, there is no need to replace any SSH or PGP keys used for developer authentication.</p> <p>If you have any questions or concerns, please email us at <a class="reference external" href="mailto:webmaster&#64;kernel.org">webmaster&#64;kernel.org</a> for more information.</p> Happy new year and good-bye bzip22013-12-27T00:00:00+00:002024-08-06T19:40:29+00:00Konstantin Ryabitsevtag:www.kernel.org,2013-12-27:/happy-new-year-and-good-bye-bzip2.html<div class="section" id="good-bye-bzip2"> <h2>Good-bye bzip2</h2> <p>We started listing xz-compressed versions of kernel archives in all our announcements back in March 2013, and the time has come to complete the switch. Effective immediately, we will no longer be providing bzip2-compressed versions for new releases of the Linux kernel and other software. Any previously released …</p></div><div class="section" id="good-bye-bzip2"> <h2>Good-bye bzip2</h2> <p>We started listing xz-compressed versions of kernel archives in all our announcements back in March 2013, and the time has come to complete the switch. Effective immediately, we will no longer be providing bzip2-compressed versions for new releases of the Linux kernel and other software. Any previously released .tar.bz2 archives will continue to be available without change, and we will also continue to provide gzip-compressed versions of all new releases for the foreseeable future.</p> <p>So, from now on, all releases will be offered as both .tar.gz and .tar.xz, but not as .tar.bz2. We apologize if this interferes with any automated tools.</p> </div> <div class="section" id="happy-new-year"> <h2>Happy new year!</h2> <p>Happy new year to all kernel.org users and visitors. The Linux Foundation and Linux Kernel Archives teams extend their warmest wishes to you all, and we hope that 2014 proves to be just as awesome (or awesomer) for the Linux kernel.</p> </div> New frontend and googlesource.com2013-11-28T00:00:00+00:002024-08-06T19:40:29+00:00Konstantin Ryabitsevtag:www.kernel.org,2013-11-28:/new-frontend-and-googlesourcecom.html<div class="section" id="montreal-frontend"> <h2>Montreal frontend</h2> <p>We have added another official frontend for serving the kernel content, courtesy of <a class="reference external" href="https://vexxhost.com">Vexxhost, Inc</a>. There is now a total of three frontends, one in Palo Alto, California, one in Portland, Oregon, and one in Montreal, Quebec. This should allow for better geographic dispersion of official mirrors, as …</p></div><div class="section" id="montreal-frontend"> <h2>Montreal frontend</h2> <p>We have added another official frontend for serving the kernel content, courtesy of <a class="reference external" href="https://vexxhost.com">Vexxhost, Inc</a>. There is now a total of three frontends, one in Palo Alto, California, one in Portland, Oregon, and one in Montreal, Quebec. This should allow for better geographic dispersion of official mirrors, as well as better fault tolerance.</p> </div> <div class="section" id="kernel-googlesource-com"> <h2>Kernel.googlesource.com</h2> <p>We are happy to announce that kernel.googlesource.com is now relying on grokmirror manifest data to efficiently mirror git.kernel.org, which means that if accessing git.kernel.org is too high latency for you due to your geographical location (EMEA, APAC), kernel.googlesource.com should provide you with a fast local mirror that is at most 5 minutes behind official sources.</p> <p>We extend our thanks to Google for making this available to all kernel hackers and enthusiasts worldwide.</p> </div> <div class="section" id="tls-1-2-and-pfs"> <h2>TLS 1.2 and PFS</h2> <p>With the latest round of upgrades, we are now serving TLS 1.2 with PFS across all kernel.org sites, offering higher protection against eavesdropping.</p> </div> Mirroring kernel.org repositories2013-06-03T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2013-06-03:/mirroring-kernelorg-repositories.html<p>If you would like to mirror all or a subset of kernel.org git repositories, please use a tool we wrote for this purpose, called grokmirror. Grokmirror is git-aware and will create a complete mirror of kernel.org repositories and keep them automatically updated with no further involvement on your …</p><p>If you would like to mirror all or a subset of kernel.org git repositories, please use a tool we wrote for this purpose, called grokmirror. Grokmirror is git-aware and will create a complete mirror of kernel.org repositories and keep them automatically updated with no further involvement on your part.</p> <p>Grokmirror works by keeping track of repositories being updated by downloading and comparing the master manifest file. This file is only downloaded if it's newer on the server, and only the repositories that have changed will be updated via &quot;git remote update&quot;.</p> <p>You can read more about grokmirror by reading the <a class="reference external" href="https://git.kernel.org/cgit/utils/grokmirror/grokmirror.git/tree/README.rst">README</a> file.</p> <div class="section" id="obtaining-grokmirror"> <h2>Obtaining grokmirror</h2> <p>If grokmirror is not yet packaged for your distribution, you can obtain it from a git repository:</p> <pre class="literal-block"> git clone git://git.kernel.org/pub/scm/utils/grokmirror/grokmirror.git </pre> <p>In additon to git, you will need to install the following python dependencies on your mirror server:</p> <blockquote> <ul class="simple"> <li><a class="reference external" href="https://pypi.python.org/pypi/GitPython/">GitPython</a></li> </ul> </blockquote> </div> <div class="section" id="setting-up-a-kernel-org-mirror"> <h2>Setting up a kernel.org mirror</h2> <p>It is recommended that you create a dedicated &quot;mirror&quot; user that will own all the content and run all the cron jobs. It is generally discouraged to run this as user &quot;root&quot;.</p> <p>The default repos.conf already comes pre-configured for kernel.org. We reproduce the minimal configuration here:</p> <pre class="literal-block"> [kernel.org] site = git://git.kernel.org manifest = http://git.kernel.org/manifest.js.gz default_owner = Grokmirror User # # Where are we going to put the mirror on our disk? toplevel = /var/lib/git/mirror # # Where do we store our own manifest? Usually in the toplevel. mymanifest = /var/lib/git/mirror/manifest.js.gz # # Where do we put the logs? log = /var/log/mirror/kernelorg.log # # Log level can be &quot;info&quot; or &quot;debug&quot; loglevel = info # # To prevent multiple grok-pull instances from running at the same # time, we first obtain an exclusive lock. lock = /var/lock/mirror/kernelorg.lock # # Use shell-globbing to list the repositories you would like to mirror. # If you want to mirror everything, just say &quot;*&quot;. Separate multiple entries # with newline plus tab. Examples: # # mirror everything: #include = * # # mirror just the main kernel sources: #include = /pub/scm/linux/kernel/git/torvalds/linux.git # /pub/scm/linux/kernel/git/stable/linux-stable.git # /pub/scm/linux/kernel/git/next/linux-next.git # # mirror just git: #include = /pub/scm/git/* include = * # # This is processed after the include. If you want to exclude some specific # entries from an all-inclusive globbing above. E.g., to exclude all # linux-2.4 git sources: #exclude = */linux-2.4* exclude = </pre> <p>Install this configuration file anywhere that makes sense in your environment. You'll need to make sure that the following directories (or whatever you changed them to) are writable by the &quot;mirror&quot; user:</p> <blockquote> <ul class="simple"> <li><tt class="docutils literal">/var/lib/git/mirror</tt></li> <li><tt class="docutils literal">/var/log/mirror</tt></li> <li><tt class="docutils literal">/var/lock/mirror</tt></li> </ul> </blockquote> </div> <div class="section" id="mirroring-kernel-org-git-repositories"> <h2>Mirroring kernel.org git repositories</h2> <p>Now all you need to do is to add a cronjob that will check the kernel.org mirror for updates. The following entry in <tt class="docutils literal">/etc/cron.d/grokmirror.cron</tt> will check the mirror every 5 minutes:</p> <pre class="literal-block"> # Run grok-pull every 5 minutes as &quot;mirror&quot; user */5 * * * * mirror /usr/bin/grok-pull -p -c /etc/grokmirror/repos.conf </pre> <p>(You will need to adjust the paths to the grok-pull command and to repos.conf accordingly to reflect your environment.)</p> <p>The initial run will take many hours to complete, as it will need to download about 50 GB of data.</p> </div> <div class="section" id="mirroring-a-subset-of-repositories"> <h2>Mirroring a subset of repositories</h2> <p>If you are only interested in carrying a subset of git repositories instead of all of them, you are welcome to tweak the <tt class="docutils literal">include</tt> and <tt class="docutils literal">exclude</tt> parameters.</p> </div> Fifty shades of Tux2013-05-07T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2013-05-07:/fifty-shades-of-tux.html<p>Special thanks to Benoît Monin for donating a MIT-licensed CSS theme to the kernel.org project to replace the one we hastily put together. Though the Pelican authors have since obtained a free-license commitment from the copyright owners of the CSS files shipping with Pelican, we wanted to have something …</p><p>Special thanks to Benoît Monin for donating a MIT-licensed CSS theme to the kernel.org project to replace the one we hastily put together. Though the Pelican authors have since obtained a free-license commitment from the copyright owners of the CSS files shipping with Pelican, we wanted to have something that looked a bit less like the default theme anyway.</p> <p>If anyone else wants to participate, full sources of the kernel.org website are available from the <a class="reference external" href="https://git.kernel.org/cgit/docs/kernel/website.git">git repository</a>.</p> XZ by default and JSON2013-03-11T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2013-03-11:/xz-by-default-and-json.html<p>We've implemented two oft-requested features today:</p> <ol class="arabic simple"> <li>The download links now default to .tar.xz versions of archives</li> <li>There is now a JSON file with the release information located in <a class="reference external" href="https://www.kernel.org/releases.json">https://www.kernel.org/releases.json</a>. If you've been screen-scraping the front page, please use this instead.</li> </ol> <p>If you have any …</p><p>We've implemented two oft-requested features today:</p> <ol class="arabic simple"> <li>The download links now default to .tar.xz versions of archives</li> <li>There is now a JSON file with the release information located in <a class="reference external" href="https://www.kernel.org/releases.json">https://www.kernel.org/releases.json</a>. If you've been screen-scraping the front page, please use this instead.</li> </ol> <p>If you have any other feature suggestions, please send them to <a class="reference external" href="mailto:webmaster&#64;kernel.org">webmaster&#64;kernel.org</a>.</p> /pub tree resync-ing2013-03-08T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2013-03-08:/pub-tree-resync-ing.html<p>Due to a failure in one of the rsync scripts during the maintenance window, the mirrors of /pub hierarchy on www.kernel.org got erased. We are resyncing them now from the master storage, but in the meantime you will probably get an occasional &quot;Forbidden&quot;. The entirety of the archive …</p><p>Due to a failure in one of the rsync scripts during the maintenance window, the mirrors of /pub hierarchy on www.kernel.org got erased. We are resyncing them now from the master storage, but in the meantime you will probably get an occasional &quot;Forbidden&quot;. The entirety of the archive should be rsync'ed in a few hours.</p> <p>We apologize profusely for the problem and will fix the script to make sure this doesn't happen again.</p> <p>Contents of git.kernel.org are unaffected.</p> Cleanroom styles2013-03-03T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2013-03-03:/cleanroom-styles.html<p>You are probably wondering what happened to the site's look. Unfortunately, we've been alerted that the default theme shipped by Pelican (which we largely adapted) has an unclear license. Until this is cleared up, we've put together a quick-and-dirty cleanroom CSS reimplementation that preserves the functional aspects of the site …</p><p>You are probably wondering what happened to the site's look. Unfortunately, we've been alerted that the default theme shipped by Pelican (which we largely adapted) has an unclear license. Until this is cleared up, we've put together a quick-and-dirty cleanroom CSS reimplementation that preserves the functional aspects of the site, but sacrifices a lot of the bells and whistles.</p> <p>If you are a CSS designer and would like to donate your own cleanroom style, please let us know at <a class="reference external" href="mailto:webmaster&#64;kernel.org">webmaster&#64;kernel.org</a>.</p> <p>Our apologies, and we promise to keep a keener eye on licensing details of various templates distributed with open-source products.</p> Pelican2013-03-01T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2013-03-01:/pelican.html<p>Welcome to the reworked kernel.org website. We have switched to using <a class="reference external" href="http://docs.getpelican.com/">Pelican</a> in order to statically render our site content, which simplifies mirroring and distribution. You can view the sources used to build this website in its own <a class="reference external" href="https://git.kernel.org/?p=docs/kernel/website.git;a=summary">git repository</a>.</p> <p>Additionally, we have switched from using gitweb-caching to using …</p><p>Welcome to the reworked kernel.org website. We have switched to using <a class="reference external" href="http://docs.getpelican.com/">Pelican</a> in order to statically render our site content, which simplifies mirroring and distribution. You can view the sources used to build this website in its own <a class="reference external" href="https://git.kernel.org/?p=docs/kernel/website.git;a=summary">git repository</a>.</p> <p>Additionally, we have switched from using gitweb-caching to using <a class="reference external" href="https://git.zx2c4.com/cgit/">cgit</a> for <a class="reference external" href="https://git.kernel.org/cgit/">browsing git repositories</a>. There are rewrite rules in place to forward old gitweb URLs to the pages serviced by cgit, so there shouldn't be any broken links, hopefully. If you notice that something that used to work with gitweb no longer works for you with cgit, please drop us a note at <a class="reference external" href="mailto:webmaster&#64;kernel.org">webmaster&#64;kernel.org</a>.</p> Legal disclaimers and copyright2013-01-01T00:00:00+00:002024-08-06T19:40:29+00:00tag:www.kernel.org,2013-01-01:/legal.html<div class="section" id="copyright-and-license"> <h2>Copyright and license</h2> <p>Except where otherwise stated, content on this site is copyright (C) 1997-2014 by The Linux Kernel Organization, Inc. and is made available to you under the <a class="reference external" href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution ShareAlike 4.0 International License</a>.</p> <p>Distributed software is copyrighted by their respective contributors and are distributed under their …</p></div><div class="section" id="copyright-and-license"> <h2>Copyright and license</h2> <p>Except where otherwise stated, content on this site is copyright (C) 1997-2014 by The Linux Kernel Organization, Inc. and is made available to you under the <a class="reference external" href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution ShareAlike 4.0 International License</a>.</p> <p>Distributed software is copyrighted by their respective contributors and are distributed under their own individual licenses.</p> </div> <div class="section" id="legal-disclaimer"> <h2>Legal Disclaimer</h2> <p>This site is provided as a public service by The Linux Kernel Organization Inc., a California <a class="reference external" href="https://www.kernel.org/nonprofit.html">501(c)3 nonprofit corporation</a>. Our servers are located in San Francisco, CA, USA; Palo Alto, CA, USA; Corvallis, OR, USA; Portland, OR, USA and Montréal, Québec, Canada. Use in violation of any applicable laws is strictly prohibited.</p> <p>Neither the Linux Kernel Organization nor any of its sponsors make any guarantees, explicit or implicit, about the contents of this site. Use at your own risk.</p> </div> <div class="section" id="trademarks"> <h2>Trademarks</h2> <p>Linux is a Registered Trademark of Linus Torvalds. All trademarks are property of their respective owners.</p> </div>