[OnePlus 3 & 3T Cross Device Development] nathanchance:
Introduction

Hello everyone, this is a thread to introduce both users and kernel developers to the concept of linux-stable as well as give developers some tips and a tree to either merge into their own, use as a base, or just as a reference. Feel free to ask questions and enjoy!

What is it?

linux-stable is, as the name implies, the stable branch of the Linux kernel, the base of Android. The phone could not run without the Linux kernel (at least not without reworking a lot of stuff). The Android kernels are based on the longterm stable trees:

Source: https://www.kernel.org/category/releases.html

All Linux development happens on the master branch, which is governed by Linus Torvalds. When issues are discovered there, the fixes are applied then backported to these various stable trees for consumption. It is not uncommon for a fix to need to go back a few years.

There is a LOT more information available in the notes repo in the android-linux-stable organization if you care to learn more in-depth: https://github.com/android-linux-stable/notes

What does this mean for me?

If you are a developer, this means you should be merging these changes into your own tree. These are vetted, stable fixes to real world problems and they are being handed out for free. It does not take long to get up to date (as you can just merge this tree directly into your own or do it yourself using the tree as a reference) and once you are up to date, there is usually a release once every two weeks, give or take. I provide a rebuttal to a lot of various complaints here. If you still feel like there is a good reason not to do this, please let me know, I'll be happy to try and debate on it!

If you are a user, it means that you should be looking for and using kernels that have these fixes, as it shows the developers care for your security and stability. The current version for this device is either 3.18.66 (OxygenOS) or 3.18.71 (LineageOS and most likely all other custom ROMs) and the current version upstream is 3.18.124 so all you need to do is go into Settings > About phone and look at the kernel version to know if you are up to date.

How do I use?

If you are a developer, the reference tree is located in the android-linux-stable organization: https://github.com/android-linux-stable/op3

There are three branches: one for OxygenOS stable, one for OxygenOS beta, and one for Lineage 15.1.

This can either be merged into your existing kernel tree if you have one or be used as a fresh base. You do not need my permission to use it nor do you need to give me credit (although it would be appreciated).

If you are a user, use a kernel that has the changes added in!

Getting notified about updates

There are a few ways to get notified of linux-stable updates:

The linux-kernel-announce mailing list: http://vger.kernel.org/vger-lists.html#linux-kernel-announce

The android-linux-stable Telegram channel: https://t.me/alsupdates

Subscribe to this thread

Follow me on Google+ or Twitter

Getting help

If you have any issues with getting these changes into your tree or want to ask a question, there are a few different ways to do it:

Post in this thread

Join the linux-stable support chat on Telegram: https://t.me/joinchat/C1UAJ1EMSX31PCFdwLnOSg

File an issue either in the android-linux-stable notes repo or the android-linux-stable repo for this device

When requesting help, please give some solid details as to what you are struggling with, as I am happy to provide assistant and clarity but not to do something for you (unless I screwed up).