blob: c1f6e43f06f3b283e07c0e03d2bbddfed16a9768 [file] [log] [blame]
Sarah Sharp2c97a632013-04-13 18:40:55 -07001Background
2==========
3
4The upstream Linux kernel maintainers only fix bugs for specific kernel
5versions. Those versions include the current "release candidate" (or -rc)
6kernel, any "stable" kernel versions, and any "long term" kernels.
7
8Please see https://www.kernel.org/ for a list of supported kernels. Any
9kernel marked with [EOL] is "end of life" and will not have any fixes
10backported to it.
11
12If you've found a bug on a kernel version isn't listed on kernel.org,
13contact your Linux distribution or embedded vendor for support.
14Alternatively, you can attempt to run one of the supported stable or -rc
15kernels, and see if you can reproduce the bug on that. It's preferable
16to reproduce the bug on the latest -rc kernel.
17
18
19How to report Linux kernel bugs
20===============================
21
22
Sarah Sharpd60418b2013-04-13 17:44:55 -070023Identify the problematic subsystem
24----------------------------------
25
26Identifying which part of the Linux kernel might be causing your issue
27increases your chances of getting your bug fixed. Simply posting to the
28generic linux-kernel mailing list (LKML) may cause your bug report to be
29lost in the noise of a mailing list that gets 1000+ emails a day.
30
31Instead, try to figure out which kernel subsystem is causing the issue,
32and email that subsystem's maintainer and mailing list. If the subsystem
33maintainer doesn't answer, then expand your scope to mailing lists like
34LKML.
35
36
37Identify who to notify
38----------------------
39
40Once you know the subsystem that is causing the issue, you should send a
41bug report. Some maintainers prefer bugs to be reported via bugzilla
42(https://bugzilla.kernel.org), while others prefer that bugs be reported
43via the subsystem mailing list.
44
45To find out where to send an emailed bug report, find your subsystem or
46device driver in the MAINTAINERS file. Search in the file for relevant
47entries, and send your bug report to the person(s) listed in the "M:"
48lines, making sure to Cc the mailing list(s) in the "L:" lines. When the
49maintainer replies to you, make sure to 'Reply-all' in order to keep the
50public mailing list(s) in the email thread.
51
52If you know which driver is causing issues, you can pass one of the driver
53files to the get_maintainer.pl script:
54 perl scripts/get_maintainer.pl -f <filename>
55
56If it is a security bug, please copy the Security Contact listed in the
57MAINTAINERS file. They can help coordinate bugfix and disclosure. See
58Documentation/SecurityBugs for more information.
59
60If you can't figure out which subsystem caused the issue, you should file
61a bug in kernel.org bugzilla and send email to
62linux-kernel@vger.kernel.org, referencing the bugzilla URL. (For more
63information on the linux-kernel mailing list see
64http://www.tux.org/lkml/).
65
66
Linus Torvalds1da177e2005-04-16 15:20:36 -070067[Some of this is taken from Frohwalt Egerer's original linux-kernel FAQ]
68
Sarah Sharp7883a252013-04-13 19:11:26 -070069Gather information
70------------------
Linus Torvalds1da177e2005-04-16 15:20:36 -070071
Sarah Sharp7883a252013-04-13 19:11:26 -070072The most important information in a bug report is how to reproduce the
73bug. This includes system information, and (most importantly)
74step-by-step instructions for how a user can trigger the bug.
Linus Torvalds1da177e2005-04-16 15:20:36 -070075
Sarah Sharp7883a252013-04-13 19:11:26 -070076If the failure includes an "OOPS:", take a picture of the screen, capture
77a netconsole trace, or type the message from your screen into the bug
78report. Please read "Documentation/oops-tracing.txt" before posting your
79bug report. This explains what you should do with the "Oops" information
80to make it useful to the recipient.
Linus Torvalds1da177e2005-04-16 15:20:36 -070081
Sarah Sharp7883a252013-04-13 19:11:26 -070082This is a suggested format for a bug report sent via email or bugzilla.
83Having a standardized bug report form makes it easier for you not to
Tobias Klauser9dcbb322005-09-10 00:26:58 -070084overlook things, and easier for the developers to find the pieces of
Sarah Sharp7883a252013-04-13 19:11:26 -070085information they're really interested in. If some information is not
86relevant to your bug, feel free to exclude it.
Linus Torvalds1da177e2005-04-16 15:20:36 -070087
Sarah Sharp3b12c212013-04-13 17:55:18 -070088First run the ver_linux script included as scripts/ver_linux, which
Linus Torvalds1da177e2005-04-16 15:20:36 -070089reports the version of some important subsystems. Run this script with
90the command "sh scripts/ver_linux".
91
92Use that information to fill in all fields of the bug report form, and
93post it to the mailing list with a subject of "PROBLEM: <one line
Tobias Klauser9dcbb322005-09-10 00:26:58 -070094summary from [1.]>" for easy identification by the developers.
Linus Torvalds1da177e2005-04-16 15:20:36 -070095
Tobias Klauser9dcbb322005-09-10 00:26:58 -070096[1.] One line summary of the problem:
Linus Torvalds1da177e2005-04-16 15:20:36 -070097[2.] Full description of the problem/report:
98[3.] Keywords (i.e., modules, networking, kernel):
Randy Dunlap4e229be2006-12-06 20:39:14 -080099[4.] Kernel information
100[4.1.] Kernel version (from /proc/version):
101[4.2.] Kernel .config file:
Andrew Morton30e835e2005-08-05 11:59:32 -0700102[5.] Most recent kernel version which did not have the bug:
103[6.] Output of Oops.. message (if applicable) with symbolic information
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104 resolved (see Documentation/oops-tracing.txt)
Andrew Morton30e835e2005-08-05 11:59:32 -0700105[7.] A small shell script or example program which triggers the
Linus Torvalds1da177e2005-04-16 15:20:36 -0700106 problem (if possible)
Andrew Morton30e835e2005-08-05 11:59:32 -0700107[8.] Environment
108[8.1.] Software (add the output of the ver_linux script here)
109[8.2.] Processor information (from /proc/cpuinfo):
110[8.3.] Module information (from /proc/modules):
111[8.4.] Loaded driver and hardware information (/proc/ioports, /proc/iomem)
112[8.5.] PCI information ('lspci -vvv' as root)
113[8.6.] SCSI information (from /proc/scsi/scsi)
114[8.7.] Other information that might be relevant to the problem
Linus Torvalds1da177e2005-04-16 15:20:36 -0700115 (please look in /proc and include all information that you
116 think to be relevant):
117[X.] Other notes, patches, fixes, workarounds:
118
119
120Thank you