HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Fri, 26 Dec 2025 17:47:27 GMT
Content-Type: text/html
Content-Length: 162
Connection: keep-alive
Location: https://archive.kernel.org/oldwiki/sparse.wiki.kernel.org/
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Fri, 26 Dec 2025 17:47:28 GMT
Content-Type: text/html
Content-Length: 162
Connection: keep-alive
Location: https://sparse.docs.kernel.org/
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Strict-Transport-Security: max-age=15768001
HTTP/2 302
date: Fri, 26 Dec 2025 17:47:29 GMT
content-type: text/html; charset=utf-8
content-length: 0
location: https://sparse.docs.kernel.org/en/latest/
server: cloudflare
cf-ray: 9b42675168caad8b-BLR
cf-cache-status: HIT
cache-control: max-age=1200
content-language: en
vary: Accept-Language, Accept-Encoding
cdn-cache-control: public
cross-origin-opener-policy: same-origin
referrer-policy: no-referrer-when-downgrade
x-backend: web-i-0202cf5283ea6e567
x-content-type-options: nosniff
x-rtd-domain: sparse.docs.kernel.org
x-rtd-force-addons: true
x-rtd-project: sparse-doc
x-rtd-project-method: custom_domain
x-rtd-redirect: system
x-rtd-version-method: path
x-served: Django-Proxito
set-cookie: __cf_bm=jmo6V3w92dtHhpD0rN3tz4WqMUzR13am7Kofk2eh_5M-1766771249-1.0.1.1-pctu1VI7FRBAMrn7SGYLmp3utzPXa3NjAdwB9tUzlmXhfvRVVnfOGQFPq0afci7gCTZ3QM_pRNhJXr6.hkJ5UGPVXOLjAh8OH.ZvHJTB7mI; path=/; expires=Fri, 26-Dec-25 18:17:29 GMT; domain=.sparse.docs.kernel.org; HttpOnly; Secure; SameSite=None
set-cookie: _cfuvid=vyxaoAasgu8.SnGcseB6QQSmlRw7YmNzDAfXOiC1rLQ-1766771249889-0.0.1.1-604800000; path=/; domain=.sparse.docs.kernel.org; HttpOnly; Secure; SameSite=None
alt-svc: h3=":443"; ma=86400
HTTP/2 200
date: Fri, 26 Dec 2025 17:47:30 GMT
content-type: text/html; charset=utf-8
server: cloudflare
cf-ray: 9b426757d9f9ad8b-BLR
cf-cache-status: HIT
access-control-allow-origin: *
cache-control: max-age=1200
content-encoding: gzip
etag: W/"203b65abd8850ebcfdbdce0886e9cc33"
last-modified: Sun, 07 Jan 2024 19:49:14 GMT
vary: Accept-Encoding
access-control-allow-methods: HEAD, OPTIONS, GET
cdn-cache-control: public
cross-origin-opener-policy: same-origin
referrer-policy: no-referrer-when-downgrade
x-amz-id-2: /z41XiDCFBkaVSlD+ZwZA9c35PcLxMmi631eN0vVuni29KqyMCzMnuAHS+tqZ9Ly8XTHQA6sRkc=
x-amz-meta-mtime: 1704656950.255381863
x-amz-request-id: SGQ4R84GVVSHBVFE
x-amz-server-side-encryption: AES256
x-backend: web-i-08229abd4a70fe861
x-content-type-options: nosniff
x-rtd-domain: sparse.docs.kernel.org
x-rtd-force-addons: true
x-rtd-path: /proxito/html/sparse-doc/latest/index.html
x-rtd-project: sparse-doc
x-rtd-project-method: custom_domain
x-rtd-resolver-filename: /
x-rtd-version: latest
x-rtd-version-method: path
x-served: Nginx-Proxito-Sendfile
alt-svc: h3=":443"; ma=86400
Welcome to sparse’s documentation — sparse 0.6.4 documentation
Welcome to sparse’s documentation
About Sparse
Sparse, the semantic parser, provides a compiler frontend capable of
parsing most of ANSI C as well as many GCC extensions, and a collection
of sample compiler backends, including a static analyzer also called sparse .
Sparse provides a set of annotations designed to convey semantic information
about types, such as what address space pointers point to, or what locks
function acquires or releases.
Linus Torvalds started writing Sparse in 2003, initially targeting issues such
as mixing pointers to user address space and pointers to kernel address space.
Josh Triplett was Sparse’s first maintainer in 2006. This role was taken over
by Christopher Li in 2009 and by Luc Van Oostenryck in late 2018.
Getting Sparse
The most recent version can be obtained directly from the Git
repository with the command:
git clone git://git.kernel.org/pub/scm/devel/sparse/sparse.git
You can also browse the Git repository
or use the mirror at https://github.com/lucvoo/sparse .
The tarballs of released versions of Sparse and their signatures can be found at
https://www.kernel.org/pub/software/devel/sparse/dist/ .
Once you have the sources, to build Sparse and install it in your ~/bin
directory, just do:
cd sparse
make
make install
To install it in another directory, use:
make PREFIX=<some directory> install
Contributing and reporting bugs
Submission of patches and reporting of bugs, as well as discussions
related to Sparse, should be done via the mailing list:
linux-sparse@ vger. kernel. org .
You do not have to be subscribed to the list to send a message there.
Previous discussions and bug reports are available on the list
archives at https://marc.info/?l=linux-sparse .
To subscribe to the list, send an email with
subscribe linux-sparse in the body to majordomo@vger.kernel.org .
Bugs can also be reported and tracked via the Linux kernel’s bugzilla for sparse .
Some interesting external documentation: