Blame view

Documentation/stable_kernel_rules.txt 6.51 KB
609d99a3b   Mauro Carvalho Chehab   Documentation/HOW...
1
  .. _stable_kernel_rules:
5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
2
3
  Everything you ever wanted to know about Linux -stable releases
  ===============================================================
fc185d95e   Greg Kroah-Hartman   [PATCH] Add the r...
4

e48e99093   Jesper Juhl   [PATCH] Docs upda...
5
6
  Rules on what kind of patches are accepted, and which ones are not, into the
  "-stable" tree:
fc185d95e   Greg Kroah-Hartman   [PATCH] Add the r...
7
8
  
   - It must be obviously correct and tested.
84eb8d060   Matt LaPlante   Fix "can not" in ...
9
   - It cannot be bigger than 100 lines, with context.
fc185d95e   Greg Kroah-Hartman   [PATCH] Add the r...
10
11
   - It must fix only one thing.
   - It must fix a real bug that bothers people (not a, "This could be a
e48e99093   Jesper Juhl   [PATCH] Docs upda...
12
     problem..." type thing).
fc185d95e   Greg Kroah-Hartman   [PATCH] Add the r...
13
14
   - It must fix a problem that causes a build error (but not for things
     marked CONFIG_BROKEN), an oops, a hang, data corruption, a real
e48e99093   Jesper Juhl   [PATCH] Docs upda...
15
16
     security issue, or some "oh, that's not good" issue.  In short, something
     critical.
8191e0d90   Mel Gorman   stable: Allow mer...
17
18
19
20
21
22
   - Serious issues as reported by a user of a distribution kernel may also
     be considered if they fix a notable performance or interactivity issue.
     As these fixes are not as obvious and have a higher risk of a subtle
     regression they should only be submitted by a distribution kernel
     maintainer and include an addendum linking to a bugzilla entry if it
     exists and additional information on the user-visible impact.
79cd80a1d   Josh Boyer   Update stable tre...
23
   - New device IDs and quirks are also accepted.
e48e99093   Jesper Juhl   [PATCH] Docs upda...
24
25
   - No "theoretical race condition" issues, unless an explanation of how the
     race can be exploited is also provided.
84eb8d060   Matt LaPlante   Fix "can not" in ...
26
   - It cannot contain any "trivial" fixes in it (spelling changes,
e48e99093   Jesper Juhl   [PATCH] Docs upda...
27
     whitespace cleanups, etc).
dca22a63f   Mauro Carvalho Chehab   docs-rst: add int...
28
29
30
   - It must follow the
     :ref:`Documentation/SubmittingPatches <submittingpatches>`
     rules.
959fb1c50   Stefan Richter   Documentation: -s...
31
   - It or an equivalent fix must already exist in Linus' tree (upstream).
fc185d95e   Greg Kroah-Hartman   [PATCH] Add the r...
32

5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
33
34
  Procedure for submitting patches to the -stable tree
  ----------------------------------------------------
fc185d95e   Greg Kroah-Hartman   [PATCH] Add the r...
35

b76fc2853   Dave Chiluk   stable_kernel_rul...
36
37
38
   - If the patch covers files in net/ or drivers/net please follow netdev stable
     submission guidelines as described in
     Documentation/networking/netdev-FAQ.txt
5de61e7aa   Brian Norris   stable_kernel_rul...
39
   - Security patches should not be handled (solely) by the -stable review
dca22a63f   Mauro Carvalho Chehab   docs-rst: add int...
40
41
     process but should follow the procedures in
     :ref:`Documentation/SecurityBugs <securitybugs>`.
5de61e7aa   Brian Norris   stable_kernel_rul...
42

5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
43
44
  For all other submissions, choose one of the following procedures
  -----------------------------------------------------------------
5de61e7aa   Brian Norris   stable_kernel_rul...
45

5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
46
47
48
49
50
51
52
53
  .. _option_1:
  
  Option 1
  ********
  
  To have the patch automatically included in the stable tree, add the tag
  
  .. code-block:: none
5de61e7aa   Brian Norris   stable_kernel_rul...
54

5fa224295   Josh Boyer   Update email addr...
55
       Cc: stable@vger.kernel.org
5de61e7aa   Brian Norris   stable_kernel_rul...
56

5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
57
58
59
60
61
  in the sign-off area. Once the patch is merged it will be applied to
  the stable tree without anything else needing to be done by the author
  or subsystem maintainer.
  
  .. _option_2:
5de61e7aa   Brian Norris   stable_kernel_rul...
62

5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
63
64
  Option 2
  ********
5de61e7aa   Brian Norris   stable_kernel_rul...
65

5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
66
67
68
69
  After the patch has been merged to Linus' tree, send an email to
  stable@vger.kernel.org containing the subject of the patch, the commit ID,
  why you think it should be applied, and what kernel version you wish it to
  be applied to.
5de61e7aa   Brian Norris   stable_kernel_rul...
70

5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
71
  .. _option_3:
5de61e7aa   Brian Norris   stable_kernel_rul...
72

5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
73
74
  Option 3
  ********
bde1b2942   Christoffer Dall   stable: Update do...
75

5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
  Send the patch, after verifying that it follows the above rules, to
  stable@vger.kernel.org.  You must note the upstream commit ID in the
  changelog of your submission, as well as the kernel version you wish
  it to be applied to.
  
  :ref:`option_1` is **strongly** preferred, is the easiest and most common.
  :ref:`option_2` and :ref:`option_3` are more useful if the patch isn't deemed
  worthy at the time it is applied to a public git tree (for instance, because
  it deserves more regression testing first).  :ref:`option_3` is especially
  useful if the patch needs some special handling to apply to an older kernel
  (e.g., if API's have changed in the meantime).
  
  Note that for :ref:`option_3`, if the patch deviates from the original
  upstream patch (for example because it had to be backported) this must be very
  clearly documented and justified in the patch description.
bde1b2942   Christoffer Dall   stable: Update do...
91
92
93
  
  The upstream commit ID must be specified with a separate line above the commit
  text, like this:
5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
94
  .. code-block:: none
bde1b2942   Christoffer Dall   stable: Update do...
95
      commit <sha1> upstream.
5de61e7aa   Brian Norris   stable_kernel_rul...
96
97
98
99
  
  Additionally, some patches submitted via Option 1 may have additional patch
  prerequisites which can be cherry-picked. This can be specified in the following
  format in the sign-off area:
8e9b93622   Sebastian Andrzej Siewior   Doc/stable rules:...
100

5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
101
  .. code-block:: none
2584f5212   Paul Gortmaker   stable: update re...
102
103
104
105
       Cc: <stable@vger.kernel.org> # 3.3.x: a1f84a3: sched: Check for idle
       Cc: <stable@vger.kernel.org> # 3.3.x: 1b9508f: sched: Rate-limit newidle
       Cc: <stable@vger.kernel.org> # 3.3.x: fd21073: sched: Fix affinity logic
       Cc: <stable@vger.kernel.org> # 3.3.x
5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
106
107
108
109
110
       Signed-off-by: Ingo Molnar <mingo@elte.hu>
  
  The tag sequence has the meaning of:
  
  .. code-block:: none
8e9b93622   Sebastian Andrzej Siewior   Doc/stable rules:...
111

8e9b93622   Sebastian Andrzej Siewior   Doc/stable rules:...
112
113
114
115
       git cherry-pick a1f84a3
       git cherry-pick 1b9508f
       git cherry-pick fd21073
       git cherry-pick <this commit>
fdc81b791   David Daney   stable_kernel_rul...
116
117
  Also, some patches may have kernel version prerequisites.  This can be
  specified in the following format in the sign-off area:
5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
118
  .. code-block:: none
f902493a6   Richard Weinberger   stable_kernel_rul...
119
       Cc: <stable@vger.kernel.org> # 3.3.x-
fdc81b791   David Daney   stable_kernel_rul...
120

5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
121
122
123
  The tag has the meaning of:
  
  .. code-block:: none
fdc81b791   David Daney   stable_kernel_rul...
124
       git cherry-pick <this commit>
5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
125
  For each "-stable" tree starting with the specified version.
fdc81b791   David Daney   stable_kernel_rul...
126

5de61e7aa   Brian Norris   stable_kernel_rul...
127
  Following the submission:
e48e99093   Jesper Juhl   [PATCH] Docs upda...
128
129
130
131
   - The sender will receive an ACK when the patch has been accepted into the
     queue, or a NAK if the patch is rejected.  This response might take a few
     days, according to the developer's schedules.
   - If accepted, the patch will be added to the -stable queue, for review by
46cdf871d   Stefan Richter   stable_kernel_rul...
132
     other developers and by the relevant subsystem maintainer.
fc185d95e   Greg Kroah-Hartman   [PATCH] Add the r...
133

5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
134
135
  Review cycle
  ------------
fc185d95e   Greg Kroah-Hartman   [PATCH] Add the r...
136

e48e99093   Jesper Juhl   [PATCH] Docs upda...
137
138
139
140
141
   - When the -stable maintainers decide for a review cycle, the patches will be
     sent to the review committee, and the maintainer of the affected area of
     the patch (unless the submitter is the maintainer of the area) and CC: to
     the linux-kernel mailing list.
   - The review committee has 48 hours in which to ACK or NAK the patch.
fc185d95e   Greg Kroah-Hartman   [PATCH] Add the r...
142
   - If the patch is rejected by a member of the committee, or linux-kernel
e48e99093   Jesper Juhl   [PATCH] Docs upda...
143
144
145
146
147
148
     members object to the patch, bringing up issues that the maintainers and
     members did not realize, the patch will be dropped from the queue.
   - At the end of the review cycle, the ACKed patches will be added to the
     latest -stable release, and a new -stable release will happen.
   - Security patches will be accepted into the -stable tree directly from the
     security kernel team, and not go through the normal review cycle.
fc185d95e   Greg Kroah-Hartman   [PATCH] Add the r...
149
     Contact the kernel security team for more details on this procedure.
5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
150
151
  Trees
  -----
2584f5212   Paul Gortmaker   stable: update re...
152
153
154
  
   - The queues of patches, for both completed versions and in progress
     versions can be found at:
5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
155

2584f5212   Paul Gortmaker   stable: update re...
156
  	http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
157

2584f5212   Paul Gortmaker   stable: update re...
158
159
   - The finalized and tagged releases of all stable kernels can be found
     in separate branches per version at:
5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
160

2584f5212   Paul Gortmaker   stable: update re...
161
  	http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git
fc185d95e   Greg Kroah-Hartman   [PATCH] Add the r...
162

5fe270a47   Mauro Carvalho Chehab   Documentation/sta...
163
164
  Review committee
  ----------------
fc185d95e   Greg Kroah-Hartman   [PATCH] Add the r...
165

e48e99093   Jesper Juhl   [PATCH] Docs upda...
166
167
   - This is made up of a number of kernel developers who have volunteered for
     this task, and a few that haven't.