1Background 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 that 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 23Identify 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 67Tips for reporting bugs 68----------------------- 69 70If you haven't reported a bug before, please read: 71 72http://www.chiark.greenend.org.uk/~sgtatham/bugs.html 73http://www.catb.org/esr/faqs/smart-questions.html 74 75It's REALLY important to report bugs that seem unrelated as separate email 76threads or separate bugzilla entries. If you report several unrelated 77bugs at once, it's difficult for maintainers to tease apart the relevant 78data. 79 80 81Gather information 82------------------ 83 84The most important information in a bug report is how to reproduce the 85bug. This includes system information, and (most importantly) 86step-by-step instructions for how a user can trigger the bug. 87 88If the failure includes an "OOPS:", take a picture of the screen, capture 89a netconsole trace, or type the message from your screen into the bug 90report. Please read "Documentation/oops-tracing.txt" before posting your 91bug report. This explains what you should do with the "Oops" information 92to make it useful to the recipient. 93 94This is a suggested format for a bug report sent via email or bugzilla. 95Having a standardized bug report form makes it easier for you not to 96overlook things, and easier for the developers to find the pieces of 97information they're really interested in. If some information is not 98relevant to your bug, feel free to exclude it. 99 100First run the ver_linux script included as scripts/ver_linux, which 101reports the version of some important subsystems. Run this script with 102the command "sh scripts/ver_linux". 103 104Use that information to fill in all fields of the bug report form, and 105post it to the mailing list with a subject of "PROBLEM: <one line 106summary from [1.]>" for easy identification by the developers. 107 108[1.] One line summary of the problem: 109[2.] Full description of the problem/report: 110[3.] Keywords (i.e., modules, networking, kernel): 111[4.] Kernel information 112[4.1.] Kernel version (from /proc/version): 113[4.2.] Kernel .config file: 114[5.] Most recent kernel version which did not have the bug: 115[6.] Output of Oops.. message (if applicable) with symbolic information 116 resolved (see Documentation/oops-tracing.txt) 117[7.] A small shell script or example program which triggers the 118 problem (if possible) 119[8.] Environment 120[8.1.] Software (add the output of the ver_linux script here) 121[8.2.] Processor information (from /proc/cpuinfo): 122[8.3.] Module information (from /proc/modules): 123[8.4.] Loaded driver and hardware information (/proc/ioports, /proc/iomem) 124[8.5.] PCI information ('lspci -vvv' as root) 125[8.6.] SCSI information (from /proc/scsi/scsi) 126[8.7.] Other information that might be relevant to the problem 127 (please look in /proc and include all information that you 128 think to be relevant): 129[X.] Other notes, patches, fixes, workarounds: 130 131 132Follow up 133========= 134 135Expectations for bug reporters 136------------------------------ 137 138Linux kernel maintainers expect bug reporters to be able to follow up on 139bug reports. That may include running new tests, applying patches, 140recompiling your kernel, and/or re-triggering your bug. The most 141frustrating thing for maintainers is for someone to report a bug, and then 142never follow up on a request to try out a fix. 143 144That said, it's still useful for a kernel maintainer to know a bug exists 145on a supported kernel, even if you can't follow up with retests. Follow 146up reports, such as replying to the email thread with "I tried the latest 147kernel and I can't reproduce my bug anymore" are also helpful, because 148maintainers have to assume silence means things are still broken. 149 150Expectations for kernel maintainers 151----------------------------------- 152 153Linux kernel maintainers are busy, overworked human beings. Some times 154they may not be able to address your bug in a day, a week, or two weeks. 155If they don't answer your email, they may be on vacation, or at a Linux 156conference. Check the conference schedule at LWN.net for more info: 157 https://lwn.net/Calendar/ 158 159In general, kernel maintainers take 1 to 5 business days to respond to 160bugs. The majority of kernel maintainers are employed to work on the 161kernel, and they may not work on the weekends. Maintainers are scattered 162around the world, and they may not work in your time zone. Unless you 163have a high priority bug, please wait at least a week after the first bug 164report before sending the maintainer a reminder email. 165 166The exceptions to this rule are regressions, kernel crashes, security holes, 167or userspace breakage caused by new kernel behavior. Those bugs should be 168addressed by the maintainers ASAP. If you suspect a maintainer is not 169responding to these types of bugs in a timely manner (especially during a 170merge window), escalate the bug to LKML and Linus Torvalds. 171 172Thank you! 173 174[Some of this is taken from Frohwalt Egerer's original linux-kernel FAQ] 175