forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'driver-core-6.6-rc1' of git://git.kernel.org/pub/scm/linux…
…/kernel/git/gregkh/driver-core Pull driver core updates from Greg KH: "Here is a small set of driver core updates and additions for 6.6-rc1. Included in here are: - stable kernel documentation updates - class structure const work from Ivan on various subsystems - kernfs tweaks - driver core tests! - kobject sanity cleanups - kobject structure reordering to save space - driver core error code handling fixups - other minor driver core cleanups All of these have been in linux-next for a while with no reported problems" * tag 'driver-core-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (32 commits) driver core: Call in reversed order in device_platform_notify_remove() driver core: Return proper error code when dev_set_name() fails kobject: Remove redundant checks for whether ktype is NULL kobject: Add sanity check for kset->kobj.ktype in kset_register() drivers: base: test: Add missing MODULE_* macros to root device tests drivers: base: test: Add missing MODULE_* macros for platform devices tests drivers: base: Free devm resources when unregistering a device drivers: base: Add basic devm tests for platform devices drivers: base: Add basic devm tests for root devices kernfs: fix missing kernfs_iattr_rwsem locking docs: stable-kernel-rules: mention that regressions must be prevented docs: stable-kernel-rules: fine-tune various details docs: stable-kernel-rules: make the examples for option 1 a proper list docs: stable-kernel-rules: move text around to improve flow docs: stable-kernel-rules: improve structure by changing headlines base/node: Remove duplicated include kernfs: attach uuid for every kernfs and report it in fsid kernfs: add stub helper for kernfs_generic_poll() x86/resctrl: make pseudo_lock_class a static const structure x86/MSR: make msr_class a static const structure ...
- Loading branch information
Showing
37 changed files
with
748 additions
and
297 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,30 +6,29 @@ Everything you ever wanted to know about Linux -stable releases | |
Rules on what kind of patches are accepted, and which ones are not, into the | ||
"-stable" tree: | ||
|
||
- It or an equivalent fix must already exist in Linus' tree (upstream). | ||
- It must be obviously correct and tested. | ||
- It cannot be bigger than 100 lines, with context. | ||
- It must fix only one thing. | ||
- It must fix a real bug that bothers people (not a, "This could be a | ||
problem..." type thing). | ||
- 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 | ||
security issue, or some "oh, that's not good" issue. In short, something | ||
critical. | ||
- 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. | ||
- New device IDs and quirks are also accepted. | ||
- No "theoretical race condition" issues, unless an explanation of how the | ||
race can be exploited is also provided. | ||
- It cannot contain any "trivial" fixes in it (spelling changes, | ||
whitespace cleanups, etc). | ||
- It must follow the | ||
:ref:`Documentation/process/submitting-patches.rst <submittingpatches>` | ||
rules. | ||
- It or an equivalent fix must already exist in Linus' tree (upstream). | ||
- It must either fix a real bug that bothers people or just add a device ID. | ||
To elaborate on the former: | ||
|
||
- It fixes a problem like an oops, a hang, data corruption, a real security | ||
issue, a hardware quirk, a build error (but not for things marked | ||
CONFIG_BROKEN), or some "oh, that's not good" issue. | ||
- 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. | ||
- No "This could be a problem..." type of things like a "theoretical race | ||
condition", unless an explanation of how the bug can be exploited is also | ||
provided. | ||
- No "trivial" fixes without benefit for users (spelling changes, whitespace | ||
cleanups, etc). | ||
|
||
|
||
Procedure for submitting patches to the -stable tree | ||
|
@@ -41,111 +40,142 @@ Procedure for submitting patches to the -stable tree | |
process but should follow the procedures in | ||
:ref:`Documentation/process/security-bugs.rst <securitybugs>`. | ||
|
||
For all other submissions, choose one of the following procedures | ||
----------------------------------------------------------------- | ||
There are three options to submit a change to -stable trees: | ||
|
||
1. Add a 'stable tag' to the description of a patch you then submit for | ||
mainline inclusion. | ||
2. Ask the stable team to pick up a patch already mainlined. | ||
3. Submit a patch to the stable team that is equivalent to a change already | ||
mainlined. | ||
|
||
The sections below describe each of the options in more detail. | ||
|
||
:ref:`option_1` is **strongly** preferred, it is the easiest and most common. | ||
:ref:`option_2` is mainly meant for changes where backporting was not considered | ||
at the time of submission. :ref:`option_3` is an alternative to the two earlier | ||
options for cases where a mainlined patch needs adjustments to apply in older | ||
series (for example due to API changes). | ||
|
||
When using option 2 or 3 you can ask for your change to be included in specific | ||
stable series. When doing so, ensure the fix or an equivalent is applicable, | ||
submitted, or already present in all newer stable trees still supported. This is | ||
meant to prevent regressions that users might later encounter on updating, if | ||
e.g. a fix merged for 5.19-rc1 would be backported to 5.10.y, but not to 5.15.y. | ||
|
||
.. _option_1: | ||
|
||
Option 1 | ||
******** | ||
|
||
To have the patch automatically included in the stable tree, add the tag | ||
To have a patch you submit for mainline inclusion later automatically picked up | ||
for stable trees, add the tag | ||
|
||
.. code-block:: none | ||
Cc: [email protected] | ||
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. | ||
in the sign-off area. Once the patch is mainlined it will be applied to the | ||
stable tree without anything else needing to be done by the author or | ||
subsystem maintainer. | ||
|
||
.. _option_2: | ||
To sent additional instructions to the stable team, use a shell-style inline | ||
comment: | ||
|
||
Option 2 | ||
******** | ||
* To specify any additional patch prerequisites for cherry picking use the | ||
following format in the sign-off area: | ||
|
||
After the patch has been merged to Linus' tree, send an email to | ||
[email protected] 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. | ||
.. code-block:: none | ||
.. _option_3: | ||
Cc: <[email protected]> # 3.3.x: a1f84a3: sched: Check for idle | ||
Cc: <[email protected]> # 3.3.x: 1b9508f: sched: Rate-limit newidle | ||
Cc: <[email protected]> # 3.3.x: fd21073: sched: Fix affinity logic | ||
Cc: <[email protected]> # 3.3.x | ||
Signed-off-by: Ingo Molnar <[email protected]> | ||
Option 3 | ||
******** | ||
The tag sequence has the meaning of: | ||
|
||
Send the patch, after verifying that it follows the above rules, to | ||
[email protected]. 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. | ||
.. code-block:: none | ||
: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 original upstream patch needs to be backported (for example | ||
the backport needs some special handling due to e.g. API changes). | ||
git cherry-pick a1f84a3 | ||
git cherry-pick 1b9508f | ||
git cherry-pick fd21073 | ||
git cherry-pick <this commit> | ||
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. | ||
* For patches that may have kernel version prerequisites specify them using | ||
the following format in the sign-off area: | ||
|
||
The upstream commit ID must be specified with a separate line above the commit | ||
text, like this: | ||
.. code-block:: none | ||
.. code-block:: none | ||
Cc: <[email protected]> # 3.3.x | ||
commit <sha1> upstream. | ||
The tag has the meaning of: | ||
|
||
or alternatively: | ||
.. code-block:: none | ||
.. code-block:: none | ||
git cherry-pick <this commit> | ||
[ Upstream commit <sha1> ] | ||
For each "-stable" tree starting with the specified version. | ||
|
||
Additionally, some patches submitted via :ref:`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: | ||
Note, such tagging is unnecessary if the stable team can derive the | ||
appropriate versions from Fixes: tags. | ||
|
||
.. code-block:: none | ||
* To delay pick up of patches, use the following format: | ||
|
||
Cc: <[email protected]> # 3.3.x: a1f84a3: sched: Check for idle | ||
Cc: <[email protected]> # 3.3.x: 1b9508f: sched: Rate-limit newidle | ||
Cc: <[email protected]> # 3.3.x: fd21073: sched: Fix affinity logic | ||
Cc: <[email protected]> # 3.3.x | ||
Signed-off-by: Ingo Molnar <[email protected]> | ||
.. code-block:: none | ||
The tag sequence has the meaning of: | ||
Cc: <[email protected]> # after 4 weeks in mainline | ||
.. code-block:: none | ||
* For any other requests, just add a note to the stable tag. This for example | ||
can be used to point out known problems: | ||
|
||
git cherry-pick a1f84a3 | ||
git cherry-pick 1b9508f | ||
git cherry-pick fd21073 | ||
git cherry-pick <this commit> | ||
.. code-block:: none | ||
Cc: <[email protected]> # see patch description, needs adjustments for <= 6.3 | ||
.. _option_2: | ||
|
||
Option 2 | ||
******** | ||
|
||
If the patch already has been merged to mainline, send an email to | ||
[email protected] containing the subject of the patch, the commit ID, | ||
why you think it should be applied, and what kernel versions you wish it to | ||
be applied to. | ||
|
||
.. _option_3: | ||
|
||
Also, some patches may have kernel version prerequisites. This can be | ||
specified in the following format in the sign-off area: | ||
Option 3 | ||
******** | ||
|
||
Send the patch, after verifying that it follows the above rules, to | ||
[email protected] and mention the kernel versions you wish it to be applied | ||
to. When doing so, you must note the upstream commit ID in the changelog of your | ||
submission with a separate line above the commit text, like this: | ||
|
||
.. code-block:: none | ||
Cc: <[email protected]> # 3.3.x | ||
commit <sha1> upstream. | ||
The tag has the meaning of: | ||
or alternatively: | ||
|
||
.. code-block:: none | ||
git cherry-pick <this commit> | ||
[ Upstream commit <sha1> ] | ||
If the submitted patch deviates from the original upstream patch (for example | ||
because it had to be adjusted for the older API), this must be very clearly | ||
documented and justified in the patch description. | ||
|
||
For each "-stable" tree starting with the specified version. | ||
|
||
Following the submission: | ||
Following the submission | ||
------------------------ | ||
|
||
- 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 | ||
other developers and by the relevant subsystem maintainer. | ||
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 schedules of the stable team members. | ||
|
||
If accepted, the patch will be added to the -stable queue, for review by other | ||
developers and by the relevant subsystem maintainer. | ||
|
||
|
||
Review cycle | ||
|
@@ -174,6 +204,7 @@ Review cycle | |
security kernel team, and not go through the normal review cycle. | ||
Contact the kernel security team for more details on this procedure. | ||
|
||
|
||
Trees | ||
----- | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.