]> git.karo-electronics.de Git - karo-tx-linux.git/blob - REPORTING-BUGS
usb: host: xhci-plat: sort the headers in alphabetic order
[karo-tx-linux.git] / REPORTING-BUGS
1 Background
2 ==========
3
4 The upstream Linux kernel maintainers only fix bugs for specific kernel
5 versions.  Those versions include the current "release candidate" (or -rc)
6 kernel, any "stable" kernel versions, and any "long term" kernels.
7
8 Please see https://www.kernel.org/ for a list of supported kernels.  Any
9 kernel marked with [EOL] is "end of life" and will not have any fixes
10 backported to it.
11
12 If you've found a bug on a kernel version isn't listed on kernel.org,
13 contact your Linux distribution or embedded vendor for support.
14 Alternatively, you can attempt to run one of the supported stable or -rc
15 kernels, and see if you can reproduce the bug on that.  It's preferable
16 to reproduce the bug on the latest -rc kernel.
17
18
19 How to report Linux kernel bugs
20 ===============================
21
22
23 Identify the problematic subsystem
24 ----------------------------------
25
26 Identifying which part of the Linux kernel might be causing your issue
27 increases your chances of getting your bug fixed. Simply posting to the
28 generic linux-kernel mailing list (LKML) may cause your bug report to be
29 lost in the noise of a mailing list that gets 1000+ emails a day.
30
31 Instead, try to figure out which kernel subsystem is causing the issue,
32 and email that subsystem's maintainer and mailing list.  If the subsystem
33 maintainer doesn't answer, then expand your scope to mailing lists like
34 LKML.
35
36
37 Identify who to notify
38 ----------------------
39
40 Once you know the subsystem that is causing the issue, you should send a
41 bug report.  Some maintainers prefer bugs to be reported via bugzilla
42 (https://bugzilla.kernel.org), while others prefer that bugs be reported
43 via the subsystem mailing list.
44
45 To find out where to send an emailed bug report, find your subsystem or
46 device driver in the MAINTAINERS file.  Search in the file for relevant
47 entries, and send your bug report to the person(s) listed in the "M:"
48 lines, making sure to Cc the mailing list(s) in the "L:" lines.  When the
49 maintainer replies to you, make sure to 'Reply-all' in order to keep the
50 public mailing list(s) in the email thread.
51
52 If you know which driver is causing issues, you can pass one of the driver
53 files to the get_maintainer.pl script:
54      perl scripts/get_maintainer.pl -f <filename>
55
56 If it is a security bug, please copy the Security Contact listed in the
57 MAINTAINERS file.  They can help coordinate bugfix and disclosure.  See
58 Documentation/SecurityBugs for more information.
59
60 If you can't figure out which subsystem caused the issue, you should file
61 a bug in kernel.org bugzilla and send email to
62 linux-kernel@vger.kernel.org, referencing the bugzilla URL.  (For more
63 information on the linux-kernel mailing list see
64 http://www.tux.org/lkml/).
65
66
67 Tips for reporting bugs
68 -----------------------
69
70 If you haven't reported a bug before, please read:
71
72 http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
73 http://www.catb.org/esr/faqs/smart-questions.html
74
75 It's REALLY important to report bugs that seem unrelated as separate email
76 threads or separate bugzilla entries.  If you report several unrelated
77 bugs at once, it's difficult for maintainers to tease apart the relevant
78 data.
79
80
81 Gather information
82 ------------------
83
84 The most important information in a bug report is how to reproduce the
85 bug.  This includes system information, and (most importantly)
86 step-by-step instructions for how a user can trigger the bug.
87
88 If the failure includes an "OOPS:", take a picture of the screen, capture
89 a netconsole trace, or type the message from your screen into the bug
90 report.  Please read "Documentation/oops-tracing.txt" before posting your
91 bug report. This explains what you should do with the "Oops" information
92 to make it useful to the recipient.
93
94 This is a suggested format for a bug report sent via email or bugzilla.
95 Having a standardized bug report form makes it easier for you not to
96 overlook things, and easier for the developers to find the pieces of
97 information they're really interested in.  If some information is not
98 relevant to your bug, feel free to exclude it.
99
100 First run the ver_linux script included as scripts/ver_linux, which
101 reports the version of some important subsystems.  Run this script with
102 the command "sh scripts/ver_linux".
103
104 Use that information to fill in all fields of the bug report form, and
105 post it to the mailing list with a subject of "PROBLEM: <one line
106 summary 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
132 Follow up
133 =========
134
135 Expectations for bug reporters
136 ------------------------------
137
138 Linux kernel maintainers expect bug reporters to be able to follow up on
139 bug reports.  That may include running new tests, applying patches,
140 recompiling your kernel, and/or re-triggering your bug.  The most
141 frustrating thing for maintainers is for someone to report a bug, and then
142 never follow up on a request to try out a fix.
143
144 That said, it's still useful for a kernel maintainer to know a bug exists
145 on a supported kernel, even if you can't follow up with retests.  Follow
146 up reports, such as replying to the email thread with "I tried the latest
147 kernel and I can't reproduce my bug anymore" are also helpful, because
148 maintainers have to assume silence means things are still broken.
149
150 Expectations for kernel maintainers
151 -----------------------------------
152
153 Linux kernel maintainers are busy, overworked human beings.  Some times
154 they may not be able to address your bug in a day, a week, or two weeks.
155 If they don't answer your email, they may be on vacation, or at a Linux
156 conference.  Check the conference schedule at LWN.net for more info:
157         https://lwn.net/Calendar/
158
159 In general, kernel maintainers take 1 to 5 business days to respond to
160 bugs.  The majority of kernel maintainers are employed to work on the
161 kernel, and they may not work on the weekends.  Maintainers are scattered
162 around the world, and they may not work in your time zone.  Unless you
163 have a high priority bug, please wait at least a week after the first bug
164 report before sending the maintainer a reminder email.
165
166 The exceptions to this rule are regressions, kernel crashes, security holes,
167 or userspace breakage caused by new kernel behavior.  Those bugs should be
168 addressed by the maintainers ASAP.  If you suspect a maintainer is not
169 responding to these types of bugs in a timely manner (especially during a
170 merge window), escalate the bug to LKML and Linus Torvalds.
171
172 Thank you!
173
174 [Some of this is taken from Frohwalt Egerer's original linux-kernel FAQ]