Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) .. _stable_kernel_rules:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) Everything you ever wanted to know about Linux -stable releases
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) ===============================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) Rules on what kind of patches are accepted, and which ones are not, into the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) "-stable" tree:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9)  - It must be obviously correct and tested.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10)  - It cannot be bigger than 100 lines, with context.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11)  - It must fix only one thing.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12)  - It must fix a real bug that bothers people (not a, "This could be a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13)    problem..." type thing).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14)  - It must fix a problem that causes a build error (but not for things
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15)    marked CONFIG_BROKEN), an oops, a hang, data corruption, a real
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16)    security issue, or some "oh, that's not good" issue.  In short, something
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17)    critical.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18)  - Serious issues as reported by a user of a distribution kernel may also
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19)    be considered if they fix a notable performance or interactivity issue.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20)    As these fixes are not as obvious and have a higher risk of a subtle
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21)    regression they should only be submitted by a distribution kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22)    maintainer and include an addendum linking to a bugzilla entry if it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23)    exists and additional information on the user-visible impact.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24)  - New device IDs and quirks are also accepted.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25)  - No "theoretical race condition" issues, unless an explanation of how the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26)    race can be exploited is also provided.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27)  - It cannot contain any "trivial" fixes in it (spelling changes,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28)    whitespace cleanups, etc).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29)  - It must follow the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30)    :ref:`Documentation/process/submitting-patches.rst <submittingpatches>`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31)    rules.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32)  - It or an equivalent fix must already exist in Linus' tree (upstream).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) Procedure for submitting patches to the -stable tree
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) ----------------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38)  - Security patches should not be handled (solely) by the -stable review
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39)    process but should follow the procedures in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40)    :ref:`Documentation/admin-guide/security-bugs.rst <securitybugs>`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) For all other submissions, choose one of the following procedures
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) -----------------------------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) .. _option_1:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) Option 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) ********
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) To have the patch automatically included in the stable tree, add the tag
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) .. code-block:: none
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54)      Cc: stable@vger.kernel.org
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) in the sign-off area. Once the patch is merged it will be applied to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) the stable tree without anything else needing to be done by the author
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) or subsystem maintainer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) .. _option_2:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) Option 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) ********
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) After the patch has been merged to Linus' tree, send an email to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) stable@vger.kernel.org containing the subject of the patch, the commit ID,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) why you think it should be applied, and what kernel version you wish it to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) be applied to.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) .. _option_3:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) Option 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) ********
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) Send the patch, after verifying that it follows the above rules, to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) stable@vger.kernel.org.  You must note the upstream commit ID in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) changelog of your submission, as well as the kernel version you wish
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) it to be applied to.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) :ref:`option_1` is **strongly** preferred, is the easiest and most common.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) :ref:`option_2` and :ref:`option_3` are more useful if the patch isn't deemed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) worthy at the time it is applied to a public git tree (for instance, because
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) it deserves more regression testing first).  :ref:`option_3` is especially
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) useful if the patch needs some special handling to apply to an older kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) (e.g., if API's have changed in the meantime).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) Note that for :ref:`option_3`, if the patch deviates from the original
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) upstream patch (for example because it had to be backported) this must be very
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) clearly documented and justified in the patch description.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) The upstream commit ID must be specified with a separate line above the commit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) text, like this:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) .. code-block:: none
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96)     commit <sha1> upstream.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) Additionally, some patches submitted via :ref:`option_1` may have additional
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) patch prerequisites which can be cherry-picked. This can be specified in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) following format in the sign-off area:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) .. code-block:: none
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104)      Cc: <stable@vger.kernel.org> # 3.3.x: a1f84a3: sched: Check for idle
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105)      Cc: <stable@vger.kernel.org> # 3.3.x: 1b9508f: sched: Rate-limit newidle
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106)      Cc: <stable@vger.kernel.org> # 3.3.x: fd21073: sched: Fix affinity logic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107)      Cc: <stable@vger.kernel.org> # 3.3.x
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)      Signed-off-by: Ingo Molnar <mingo@elte.hu>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) The tag sequence has the meaning of:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) .. code-block:: none
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)      git cherry-pick a1f84a3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115)      git cherry-pick 1b9508f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116)      git cherry-pick fd21073
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117)      git cherry-pick <this commit>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) Also, some patches may have kernel version prerequisites.  This can be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) specified in the following format in the sign-off area:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) .. code-block:: none
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124)      Cc: <stable@vger.kernel.org> # 3.3.x
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) The tag has the meaning of:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) .. code-block:: none
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130)      git cherry-pick <this commit>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) For each "-stable" tree starting with the specified version.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) Following the submission:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136)  - The sender will receive an ACK when the patch has been accepted into the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137)    queue, or a NAK if the patch is rejected.  This response might take a few
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138)    days, according to the developer's schedules.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139)  - If accepted, the patch will be added to the -stable queue, for review by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140)    other developers and by the relevant subsystem maintainer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) Review cycle
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) ------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146)  - When the -stable maintainers decide for a review cycle, the patches will be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147)    sent to the review committee, and the maintainer of the affected area of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148)    the patch (unless the submitter is the maintainer of the area) and CC: to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149)    the linux-kernel mailing list.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150)  - The review committee has 48 hours in which to ACK or NAK the patch.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151)  - If the patch is rejected by a member of the committee, or linux-kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152)    members object to the patch, bringing up issues that the maintainers and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153)    members did not realize, the patch will be dropped from the queue.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)  - At the end of the review cycle, the ACKed patches will be added to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155)    latest -stable release, and a new -stable release will happen.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156)  - Security patches will be accepted into the -stable tree directly from the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)    security kernel team, and not go through the normal review cycle.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158)    Contact the kernel security team for more details on this procedure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) Trees
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) -----
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163)  - The queues of patches, for both completed versions and in progress
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164)    versions can be found at:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) 	https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168)  - The finalized and tagged releases of all stable kernels can be found
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169)    in separate branches per version at:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) 	https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173)  - The release candidate of all stable kernel versions can be found at:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175)         https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177)    .. warning::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178)       The -stable-rc tree is a snapshot in time of the stable-queue tree and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179)       will change frequently, hence will be rebased often. It should only be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180)       used for testing purposes (e.g. to be consumed by CI systems).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) Review committee
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) ----------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186)  - This is made up of a number of kernel developers who have volunteered for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187)    this task, and a few that haven't.