UpstreamPatchSubmission

Develop patches for upstream submission

If you made changes to the code that might benefit the kernel community you should submit your patch upstream. Ubuntu kernel maintainers prefer to apply patches to the Ubuntu kernel by cherry picking an upstream patch. Patches that are Ubuntu specific need not be submitted upstream, for example Ubuntu kernel config changes.

The process you need to follow to get your patch upstream is as follows:

  • Please read the upstream patch submission documentation. Upstream developers take patches and contributions seriously, so, we strongly advice you to read the document carefully and follow the submission process accurately. You can get help from other developers on #ubuntu-kernel on freenode.net.

  • Please make sure that the patch followed the upstream kernel coding style

  • Please test your kernel, if you have a test kernel for an Ubuntu release, please post a link to your kernel to a launchpad bug as appropriate and get it tested by community.
  • Create the patch against the correct git tree, often maintainers of subsystems have their own tree which is later merged with Linus tree. For example, in the case of wireless drivers, "John W. Linville" <linville@tuxdriver.com> is the maintainer. Here is an example of how to get a list of maintainers for a wireless driver patch.

    • I made a bogus change to drivers/net/wireless/rt2x00/rt2400pci.c, and did a git commit -s to commit my change

    • I did a git format-patch -1 from the kernel's root directory to generate my patch 0001-Added-a-bogus-comment-to-create-a-patch-for-example-.patch

    • I used the script get_maintainer.pl to get a list of maintainers and developers I need to mail this patch to.
    • manjo@emerald:~/example.linux-2.6$ ./scripts/get_maintainer.pl ./0001-Added-a-bogus-comment-to-create-a-patch-for-example-.patch 
      Ivo van Doorn <IvDoorn@gmail.com>
      Gertjan van Wingerde <gwingerde@gmail.com>
      "John W. Linville" <linville@tuxdriver.com>
      linux-wireless@vger.kernel.org
      users@rt2x00.serialmonkey.com
      netdev@vger.kernel.org
      linux-kernel@vger.kernel.org
    • Please "Cc: <stable@kernel.org>" so that your patch is picked up by the stable maintainer.

  • Otherwise use Linus git tree
    •      git clone http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git
  • Make sure to maintain full provenance of the patch by signing off on it (ie add your Signed-off-by:) git commit -s

  • The patch should be submitted as inline text in an email (ie. no attachments, no links, etc.)

Kernel/Dev/UpstreamPatchSubmission (last edited 2010-07-20 10:48:43 by manjo)