blob: 49ac8dc3594d66dbcbc604b7e5b3608b610814be [file] [log] [blame]
Mauro Carvalho Chehabafeb0002016-09-21 09:27:00 -03001.. _reportingbugs:
2
3Reporting bugs
4++++++++++++++
5
Sarah Sharp2c97a632013-04-13 18:40:55 -07006Background
7==========
8
9The upstream Linux kernel maintainers only fix bugs for specific kernel
10versions. Those versions include the current "release candidate" (or -rc)
11kernel, any "stable" kernel versions, and any "long term" kernels.
12
13Please see https://www.kernel.org/ for a list of supported kernels. Any
14kernel marked with [EOL] is "end of life" and will not have any fixes
15backported to it.
16
Manuel Pégourié-Gonnard11f00902015-12-28 11:33:30 +010017If you've found a bug on a kernel version that isn't listed on kernel.org,
Sarah Sharp2c97a632013-04-13 18:40:55 -070018contact your Linux distribution or embedded vendor for support.
19Alternatively, you can attempt to run one of the supported stable or -rc
20kernels, and see if you can reproduce the bug on that. It's preferable
21to reproduce the bug on the latest -rc kernel.
22
23
24How to report Linux kernel bugs
25===============================
26
27
Sarah Sharpd60418b2013-04-13 17:44:55 -070028Identify the problematic subsystem
29----------------------------------
30
31Identifying which part of the Linux kernel might be causing your issue
32increases your chances of getting your bug fixed. Simply posting to the
33generic linux-kernel mailing list (LKML) may cause your bug report to be
34lost in the noise of a mailing list that gets 1000+ emails a day.
35
36Instead, try to figure out which kernel subsystem is causing the issue,
37and email that subsystem's maintainer and mailing list. If the subsystem
38maintainer doesn't answer, then expand your scope to mailing lists like
39LKML.
40
41
42Identify who to notify
43----------------------
44
45Once you know the subsystem that is causing the issue, you should send a
46bug report. Some maintainers prefer bugs to be reported via bugzilla
47(https://bugzilla.kernel.org), while others prefer that bugs be reported
48via the subsystem mailing list.
49
50To find out where to send an emailed bug report, find your subsystem or
51device driver in the MAINTAINERS file. Search in the file for relevant
52entries, and send your bug report to the person(s) listed in the "M:"
53lines, making sure to Cc the mailing list(s) in the "L:" lines. When the
54maintainer replies to you, make sure to 'Reply-all' in order to keep the
55public mailing list(s) in the email thread.
56
57If you know which driver is causing issues, you can pass one of the driver
Mauro Carvalho Chehabafeb0002016-09-21 09:27:00 -030058files to the get_maintainer.pl script::
59
Sarah Sharpd60418b2013-04-13 17:44:55 -070060 perl scripts/get_maintainer.pl -f <filename>
61
62If it is a security bug, please copy the Security Contact listed in the
63MAINTAINERS file. They can help coordinate bugfix and disclosure. See
Mauro Carvalho Chehab8c27ceff32016-10-18 10:12:27 -020064:ref:`Documentation/admin-guide/security-bugs.rst <securitybugs>` for more information.
Sarah Sharpd60418b2013-04-13 17:44:55 -070065
66If you can't figure out which subsystem caused the issue, you should file
67a bug in kernel.org bugzilla and send email to
68linux-kernel@vger.kernel.org, referencing the bugzilla URL. (For more
69information on the linux-kernel mailing list see
Ramunas Geciauskas2d457d52018-12-29 16:00:00 -050070http://vger.kernel.org/lkml/).
Sarah Sharpd60418b2013-04-13 17:44:55 -070071
72
Sarah Sharpbf6adaf2013-04-13 18:25:13 -070073Tips for reporting bugs
74-----------------------
75
76If you haven't reported a bug before, please read:
77
Mauro Carvalho Chehabafeb0002016-09-21 09:27:00 -030078 http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
79
80 http://www.catb.org/esr/faqs/smart-questions.html
Sarah Sharpbf6adaf2013-04-13 18:25:13 -070081
82It's REALLY important to report bugs that seem unrelated as separate email
83threads or separate bugzilla entries. If you report several unrelated
84bugs at once, it's difficult for maintainers to tease apart the relevant
85data.
86
Linus Torvalds1da177e2005-04-16 15:20:36 -070087
Sarah Sharp7883a252013-04-13 19:11:26 -070088Gather information
89------------------
Linus Torvalds1da177e2005-04-16 15:20:36 -070090
Sarah Sharp7883a252013-04-13 19:11:26 -070091The most important information in a bug report is how to reproduce the
92bug. This includes system information, and (most importantly)
93step-by-step instructions for how a user can trigger the bug.
Linus Torvalds1da177e2005-04-16 15:20:36 -070094
Sarah Sharp7883a252013-04-13 19:11:26 -070095If the failure includes an "OOPS:", take a picture of the screen, capture
96a netconsole trace, or type the message from your screen into the bug
Tom Saeger3ba9b1b2017-10-10 12:36:16 -050097report. Please read "Documentation/admin-guide/bug-hunting.rst" before posting your
Sarah Sharp7883a252013-04-13 19:11:26 -070098bug report. This explains what you should do with the "Oops" information
99to make it useful to the recipient.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700100
Sarah Sharp7883a252013-04-13 19:11:26 -0700101This is a suggested format for a bug report sent via email or bugzilla.
102Having a standardized bug report form makes it easier for you not to
Tobias Klauser9dcbb322005-09-10 00:26:58 -0700103overlook things, and easier for the developers to find the pieces of
Sarah Sharp7883a252013-04-13 19:11:26 -0700104information they're really interested in. If some information is not
105relevant to your bug, feel free to exclude it.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700106
Sarah Sharp3b12c212013-04-13 17:55:18 -0700107First run the ver_linux script included as scripts/ver_linux, which
Linus Torvalds1da177e2005-04-16 15:20:36 -0700108reports the version of some important subsystems. Run this script with
Kevin Peng20b786e2016-12-04 02:58:02 -0800109the command ``awk -f scripts/ver_linux``.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700110
111Use that information to fill in all fields of the bug report form, and
112post it to the mailing list with a subject of "PROBLEM: <one line
Mauro Carvalho Chehabafeb0002016-09-21 09:27:00 -0300113summary from [1.]>" for easy identification by the developers::
Linus Torvalds1da177e2005-04-16 15:20:36 -0700114
Mauro Carvalho Chehabafeb0002016-09-21 09:27:00 -0300115 [1.] One line summary of the problem:
116 [2.] Full description of the problem/report:
117 [3.] Keywords (i.e., modules, networking, kernel):
118 [4.] Kernel information
119 [4.1.] Kernel version (from /proc/version):
120 [4.2.] Kernel .config file:
121 [5.] Most recent kernel version which did not have the bug:
122 [6.] Output of Oops.. message (if applicable) with symbolic information
Tom Saeger3ba9b1b2017-10-10 12:36:16 -0500123 resolved (see Documentation/admin-guide/bug-hunting.rst)
Mauro Carvalho Chehabafeb0002016-09-21 09:27:00 -0300124 [7.] A small shell script or example program which triggers the
125 problem (if possible)
126 [8.] Environment
127 [8.1.] Software (add the output of the ver_linux script here)
128 [8.2.] Processor information (from /proc/cpuinfo):
129 [8.3.] Module information (from /proc/modules):
130 [8.4.] Loaded driver and hardware information (/proc/ioports, /proc/iomem)
131 [8.5.] PCI information ('lspci -vvv' as root)
132 [8.6.] SCSI information (from /proc/scsi/scsi)
133 [8.7.] Other information that might be relevant to the problem
134 (please look in /proc and include all information that you
135 think to be relevant):
136 [X.] Other notes, patches, fixes, workarounds:
Linus Torvalds1da177e2005-04-16 15:20:36 -0700137
138
Sarah Sharpbc6bed42013-04-13 19:30:48 -0700139Follow up
140=========
141
142Expectations for bug reporters
143------------------------------
144
145Linux kernel maintainers expect bug reporters to be able to follow up on
146bug reports. That may include running new tests, applying patches,
147recompiling your kernel, and/or re-triggering your bug. The most
148frustrating thing for maintainers is for someone to report a bug, and then
149never follow up on a request to try out a fix.
150
151That said, it's still useful for a kernel maintainer to know a bug exists
152on a supported kernel, even if you can't follow up with retests. Follow
153up reports, such as replying to the email thread with "I tried the latest
154kernel and I can't reproduce my bug anymore" are also helpful, because
155maintainers have to assume silence means things are still broken.
156
157Expectations for kernel maintainers
158-----------------------------------
159
160Linux kernel maintainers are busy, overworked human beings. Some times
161they may not be able to address your bug in a day, a week, or two weeks.
162If they don't answer your email, they may be on vacation, or at a Linux
Mauro Carvalho Chehabafeb0002016-09-21 09:27:00 -0300163conference. Check the conference schedule at https://LWN.net for more info:
164
Sarah Sharpbc6bed42013-04-13 19:30:48 -0700165 https://lwn.net/Calendar/
166
167In general, kernel maintainers take 1 to 5 business days to respond to
168bugs. The majority of kernel maintainers are employed to work on the
169kernel, and they may not work on the weekends. Maintainers are scattered
170around the world, and they may not work in your time zone. Unless you
171have a high priority bug, please wait at least a week after the first bug
172report before sending the maintainer a reminder email.
173
174The exceptions to this rule are regressions, kernel crashes, security holes,
175or userspace breakage caused by new kernel behavior. Those bugs should be
176addressed by the maintainers ASAP. If you suspect a maintainer is not
177responding to these types of bugs in a timely manner (especially during a
178merge window), escalate the bug to LKML and Linus Torvalds.
179
180Thank you!
Sarah Sharpb7ca36a2013-04-13 19:17:08 -0700181
182[Some of this is taken from Frohwalt Egerer's original linux-kernel FAQ]