1.. _reportingbugs: 2 3Reporting bugs 4++++++++++++++ 5 6Background 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 17If you've found a bug on a kernel version that isn't listed on kernel.org, 18contact 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 28Identify 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 58files to the get_maintainer.pl script:: 59 60 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 64:ref:`Documentation/admin-guide/security-bugs.rst <securitybugs>` for more information. 65 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 70http://vger.kernel.org/lkml/). 71 72 73Tips for reporting bugs 74----------------------- 75 76If you haven't reported a bug before, please read: 77 78 http://www.chiark.greenend.org.uk/~sgtatham/bugs.html 79 80 http://www.catb.org/esr/faqs/smart-questions.html 81 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 87 88Gather information 89------------------ 90 91The 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. 94 95If 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 97report. Please read "Documentation/admin-guide/bug-hunting.rst" before posting your 98bug report. This explains what you should do with the "Oops" information 99to make it useful to the recipient. 100 101This 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 103overlook things, and easier for the developers to find the pieces of 104information they're really interested in. If some information is not 105relevant to your bug, feel free to exclude it. 106 107First run the ver_linux script included as scripts/ver_linux, which 108reports the version of some important subsystems. Run this script with 109the command ``awk -f scripts/ver_linux``. 110 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 113summary from [1.]>" for easy identification by the developers:: 114 115 [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 123 resolved (see Documentation/admin-guide/bug-hunting.rst) 124 [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: 137 138 139Follow 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 163conference. Check the conference schedule at https://LWN.net for more info: 164 165 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! 181 182[Some of this is taken from Frohwalt Egerer's original linux-kernel FAQ] 183