Repo for tracking and maintaining the CVE identifiers reserved and assigned to
the Linux kernel project.

For any questions about the CVE process that Linux follows, please see the
file, Documentation/process/cve.rst in the kernel source tree.

To get announcements of all assigned CVEs, please subscribe to the
linux-announce-cve mailing list on vger.kernel.org, or see the web archive
here:
	https://lore.kernel.org/linux-cve-announce/

Note that in the future, this repo might also track other security identifiers,
as they are created / mandated by different government agencies.


LICENSES

The license for the data for CVE information in this repo is under the
CVE-ToU license, as described at:
	https://www.cve.org/Legal/TermsOfUse
and copied in the LICENSES/cve-tou.txt file in this repository.

The files in the scripts/ and tools/ directories are licensed under the
GPL-v2-only license, as documented in the files themselves.
