| 1 | Everything you ever wanted to know about Linux -stable releases. |
| 2 | |
| 3 | Rules on what kind of patches are accepted, and which ones are not, into the |
| 4 | "-stable" tree: |
| 5 | |
| 6 | - It must be obviously correct and tested. |
| 7 | - It cannot be bigger than 100 lines, with context. |
| 8 | - It must fix only one thing. |
| 9 | - It must fix a real bug that bothers people (not a, "This could be a |
| 10 | problem..." type thing). |
| 11 | - It must fix a problem that causes a build error (but not for things |
| 12 | marked CONFIG_BROKEN), an oops, a hang, data corruption, a real |
| 13 | security issue, or some "oh, that's not good" issue. In short, something |
| 14 | critical. |
| 15 | - Serious issues as reported by a user of a distribution kernel may also |
| 16 | be considered if they fix a notable performance or interactivity issue. |
| 17 | As these fixes are not as obvious and have a higher risk of a subtle |
| 18 | regression they should only be submitted by a distribution kernel |
| 19 | maintainer and include an addendum linking to a bugzilla entry if it |
| 20 | exists and additional information on the user-visible impact. |
| 21 | - New device IDs and quirks are also accepted. |
| 22 | - No "theoretical race condition" issues, unless an explanation of how the |
| 23 | race can be exploited is also provided. |
| 24 | - It cannot contain any "trivial" fixes in it (spelling changes, |
| 25 | whitespace cleanups, etc). |
| 26 | - It must follow the Documentation/SubmittingPatches rules. |
| 27 | - It or an equivalent fix must already exist in Linus' tree (upstream). |
| 28 | |
| 29 | |
| 30 | Procedure for submitting patches to the -stable tree: |
| 31 | |
| 32 | - Send the patch, after verifying that it follows the above rules, to |
| 33 | stable@vger.kernel.org. You must note the upstream commit ID in the |
| 34 | changelog of your submission, as well as the kernel version you wish |
| 35 | it to be applied to. |
| 36 | - To have the patch automatically included in the stable tree, add the tag |
| 37 | Cc: stable@vger.kernel.org |
| 38 | in the sign-off area. Once the patch is merged it will be applied to |
| 39 | the stable tree without anything else needing to be done by the author |
| 40 | or subsystem maintainer. |
| 41 | - If the patch requires other patches as prerequisites which can be |
| 42 | cherry-picked than this can be specified in the following format in |
| 43 | the sign-off area: |
| 44 | |
| 45 | Cc: <stable@vger.kernel.org> # 3.3.x: a1f84a3: sched: Check for idle |
| 46 | Cc: <stable@vger.kernel.org> # 3.3.x: 1b9508f: sched: Rate-limit newidle |
| 47 | Cc: <stable@vger.kernel.org> # 3.3.x: fd21073: sched: Fix affinity logic |
| 48 | Cc: <stable@vger.kernel.org> # 3.3.x |
| 49 | Signed-off-by: Ingo Molnar <mingo@elte.hu> |
| 50 | |
| 51 | The tag sequence has the meaning of: |
| 52 | git cherry-pick a1f84a3 |
| 53 | git cherry-pick 1b9508f |
| 54 | git cherry-pick fd21073 |
| 55 | git cherry-pick <this commit> |
| 56 | |
| 57 | - The sender will receive an ACK when the patch has been accepted into the |
| 58 | queue, or a NAK if the patch is rejected. This response might take a few |
| 59 | days, according to the developer's schedules. |
| 60 | - If accepted, the patch will be added to the -stable queue, for review by |
| 61 | other developers and by the relevant subsystem maintainer. |
| 62 | - Security patches should not be sent to this alias, but instead to the |
| 63 | documented security@kernel.org address. |
| 64 | |
| 65 | |
| 66 | Review cycle: |
| 67 | |
| 68 | - When the -stable maintainers decide for a review cycle, the patches will be |
| 69 | sent to the review committee, and the maintainer of the affected area of |
| 70 | the patch (unless the submitter is the maintainer of the area) and CC: to |
| 71 | the linux-kernel mailing list. |
| 72 | - The review committee has 48 hours in which to ACK or NAK the patch. |
| 73 | - If the patch is rejected by a member of the committee, or linux-kernel |
| 74 | members object to the patch, bringing up issues that the maintainers and |
| 75 | members did not realize, the patch will be dropped from the queue. |
| 76 | - At the end of the review cycle, the ACKed patches will be added to the |
| 77 | latest -stable release, and a new -stable release will happen. |
| 78 | - Security patches will be accepted into the -stable tree directly from the |
| 79 | security kernel team, and not go through the normal review cycle. |
| 80 | Contact the kernel security team for more details on this procedure. |
| 81 | |
| 82 | Trees: |
| 83 | |
| 84 | - The queues of patches, for both completed versions and in progress |
| 85 | versions can be found at: |
| 86 | http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git |
| 87 | - The finalized and tagged releases of all stable kernels can be found |
| 88 | in separate branches per version at: |
| 89 | http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git |
| 90 | |
| 91 | |
| 92 | Review committee: |
| 93 | |
| 94 | - This is made up of a number of kernel developers who have volunteered for |
| 95 | this task, and a few that haven't. |