Back to home page

Linux Cross Reference

 
 

    


0001 Background
0002 ==========
0003 
0004 The upstream Linux kernel maintainers only fix bugs for specific kernel
0005 versions.  Those versions include the current "release candidate" (or -rc)
0006 kernel, any "stable" kernel versions, and any "long term" kernels.
0007 
0008 Please see https://www.kernel.org/ for a list of supported kernels.  Any
0009 kernel marked with [EOL] is "end of life" and will not have any fixes
0010 backported to it.
0011 
0012 If you've found a bug on a kernel version isn't listed on kernel.org,
0013 contact your Linux distribution or embedded vendor for support.
0014 Alternatively, you can attempt to run one of the supported stable or -rc
0015 kernels, and see if you can reproduce the bug on that.  It's preferable
0016 to reproduce the bug on the latest -rc kernel.
0017 
0018 
0019 How to report Linux kernel bugs
0020 ===============================
0021 
0022 
0023 Identify the problematic subsystem
0024 ----------------------------------
0025 
0026 Identifying which part of the Linux kernel might be causing your issue
0027 increases your chances of getting your bug fixed. Simply posting to the
0028 generic linux-kernel mailing list (LKML) may cause your bug report to be
0029 lost in the noise of a mailing list that gets 1000+ emails a day.
0030 
0031 Instead, try to figure out which kernel subsystem is causing the issue,
0032 and email that subsystem's maintainer and mailing list.  If the subsystem
0033 maintainer doesn't answer, then expand your scope to mailing lists like
0034 LKML.
0035 
0036 
0037 Identify who to notify
0038 ----------------------
0039 
0040 Once you know the subsystem that is causing the issue, you should send a
0041 bug report.  Some maintainers prefer bugs to be reported via bugzilla
0042 (https://bugzilla.kernel.org), while others prefer that bugs be reported
0043 via the subsystem mailing list.
0044 
0045 To find out where to send an emailed bug report, find your subsystem or
0046 device driver in the MAINTAINERS file.  Search in the file for relevant
0047 entries, and send your bug report to the person(s) listed in the "M:"
0048 lines, making sure to Cc the mailing list(s) in the "L:" lines.  When the
0049 maintainer replies to you, make sure to 'Reply-all' in order to keep the
0050 public mailing list(s) in the email thread.
0051 
0052 If you know which driver is causing issues, you can pass one of the driver
0053 files to the get_maintainer.pl script:
0054      perl scripts/get_maintainer.pl -f <filename>
0055 
0056 If it is a security bug, please copy the Security Contact listed in the
0057 MAINTAINERS file.  They can help coordinate bugfix and disclosure.  See
0058 Documentation/SecurityBugs for more information.
0059 
0060 If you can't figure out which subsystem caused the issue, you should file
0061 a bug in kernel.org bugzilla and send email to
0062 linux-kernel@vger.kernel.org, referencing the bugzilla URL.  (For more
0063 information on the linux-kernel mailing list see
0064 http://www.tux.org/lkml/).
0065 
0066 
0067 Tips for reporting bugs
0068 -----------------------
0069 
0070 If you haven't reported a bug before, please read:
0071 
0072 http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
0073 http://www.catb.org/esr/faqs/smart-questions.html
0074 
0075 It's REALLY important to report bugs that seem unrelated as separate email
0076 threads or separate bugzilla entries.  If you report several unrelated
0077 bugs at once, it's difficult for maintainers to tease apart the relevant
0078 data.
0079 
0080 
0081 Gather information
0082 ------------------
0083 
0084 The most important information in a bug report is how to reproduce the
0085 bug.  This includes system information, and (most importantly)
0086 step-by-step instructions for how a user can trigger the bug.
0087 
0088 If the failure includes an "OOPS:", take a picture of the screen, capture
0089 a netconsole trace, or type the message from your screen into the bug
0090 report.  Please read "Documentation/oops-tracing.txt" before posting your
0091 bug report. This explains what you should do with the "Oops" information
0092 to make it useful to the recipient.
0093 
0094 This is a suggested format for a bug report sent via email or bugzilla.
0095 Having a standardized bug report form makes it easier for you not to
0096 overlook things, and easier for the developers to find the pieces of
0097 information they're really interested in.  If some information is not
0098 relevant to your bug, feel free to exclude it.
0099 
0100 First run the ver_linux script included as scripts/ver_linux, which
0101 reports the version of some important subsystems.  Run this script with
0102 the command "sh scripts/ver_linux".
0103 
0104 Use that information to fill in all fields of the bug report form, and
0105 post it to the mailing list with a subject of "PROBLEM: <one line
0106 summary from [1.]>" for easy identification by the developers.
0107 
0108 [1.] One line summary of the problem:
0109 [2.] Full description of the problem/report:
0110 [3.] Keywords (i.e., modules, networking, kernel):
0111 [4.] Kernel information
0112 [4.1.] Kernel version (from /proc/version):
0113 [4.2.] Kernel .config file:
0114 [5.] Most recent kernel version which did not have the bug:
0115 [6.] Output of Oops.. message (if applicable) with symbolic information
0116      resolved (see Documentation/oops-tracing.txt)
0117 [7.] A small shell script or example program which triggers the
0118      problem (if possible)
0119 [8.] Environment
0120 [8.1.] Software (add the output of the ver_linux script here)
0121 [8.2.] Processor information (from /proc/cpuinfo):
0122 [8.3.] Module information (from /proc/modules):
0123 [8.4.] Loaded driver and hardware information (/proc/ioports, /proc/iomem)
0124 [8.5.] PCI information ('lspci -vvv' as root)
0125 [8.6.] SCSI information (from /proc/scsi/scsi)
0126 [8.7.] Other information that might be relevant to the problem
0127        (please look in /proc and include all information that you
0128        think to be relevant):
0129 [X.] Other notes, patches, fixes, workarounds:
0130 
0131 
0132 Follow up
0133 =========
0134 
0135 Expectations for bug reporters
0136 ------------------------------
0137 
0138 Linux kernel maintainers expect bug reporters to be able to follow up on
0139 bug reports.  That may include running new tests, applying patches,
0140 recompiling your kernel, and/or re-triggering your bug.  The most
0141 frustrating thing for maintainers is for someone to report a bug, and then
0142 never follow up on a request to try out a fix.
0143 
0144 That said, it's still useful for a kernel maintainer to know a bug exists
0145 on a supported kernel, even if you can't follow up with retests.  Follow
0146 up reports, such as replying to the email thread with "I tried the latest
0147 kernel and I can't reproduce my bug anymore" are also helpful, because
0148 maintainers have to assume silence means things are still broken.
0149 
0150 Expectations for kernel maintainers
0151 -----------------------------------
0152 
0153 Linux kernel maintainers are busy, overworked human beings.  Some times
0154 they may not be able to address your bug in a day, a week, or two weeks.
0155 If they don't answer your email, they may be on vacation, or at a Linux
0156 conference.  Check the conference schedule at LWN.net for more info:
0157         https://lwn.net/Calendar/
0158 
0159 In general, kernel maintainers take 1 to 5 business days to respond to
0160 bugs.  The majority of kernel maintainers are employed to work on the
0161 kernel, and they may not work on the weekends.  Maintainers are scattered
0162 around the world, and they may not work in your time zone.  Unless you
0163 have a high priority bug, please wait at least a week after the first bug
0164 report before sending the maintainer a reminder email.
0165 
0166 The exceptions to this rule are regressions, kernel crashes, security holes,
0167 or userspace breakage caused by new kernel behavior.  Those bugs should be
0168 addressed by the maintainers ASAP.  If you suspect a maintainer is not
0169 responding to these types of bugs in a timely manner (especially during a
0170 merge window), escalate the bug to LKML and Linus Torvalds.
0171 
0172 Thank you!
0173 
0174 [Some of this is taken from Frohwalt Egerer's original linux-kernel FAQ]