diff --git a/Manifests/Manifest_LAOS-16.0.xml b/Manifests/Manifest_LAOS-16.0.xml
index 35e2e207..28826204 100644
--- a/Manifests/Manifest_LAOS-16.0.xml
+++ b/Manifests/Manifest_LAOS-16.0.xml
@@ -219,7 +219,7 @@
-
+
diff --git a/Manifests/Manifest_LAOS-17.1.xml b/Manifests/Manifest_LAOS-17.1.xml
index c1de1e44..d6b20165 100644
--- a/Manifests/Manifest_LAOS-17.1.xml
+++ b/Manifests/Manifest_LAOS-17.1.xml
@@ -136,6 +136,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -153,6 +170,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -169,6 +198,15 @@
+
+
+
+
+
+
+
+
+
@@ -182,6 +220,16 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/Patches/LineageOS-17.1/android_device_essential_mata/0001-drop_usb_hal.patch b/Patches/LineageOS-17.1/android_device_essential_mata/0001-drop_usb_hal.patch
deleted file mode 100644
index 9f2ef7ff..00000000
--- a/Patches/LineageOS-17.1/android_device_essential_mata/0001-drop_usb_hal.patch
+++ /dev/null
@@ -1,833 +0,0 @@
-From 39cb408240ff565742f6205d0318f873e5b02563 Mon Sep 17 00:00:00 2001
-From: Thomas Shum
-Date: Mon, 29 Jul 2019 19:26:23 -0700
-Subject: [PATCH] mata: Remove USB Gadget HAL for now
-
-This is currently causing issues for Android Auto, where the phone can
-see the connected car but Android Auto doesn't start.
-
-This commit consists of the following reverts:
-
-Revert "mata: Allow USB HAL to access dual_role_usb nodes"
-This reverts commit 29e9a2a31c81f3a494880bda3a8f72a2ef54cdc8.
-
-Revert "Add audio_source combinations to usb hal"
-This reverts commit 912db8227c05af0186eaf9af2fb8284e5b78724d.
-
-Revert "Set VID/PID for diag functions"
-This reverts commit 031db1fb302a923ec33a5315139bbc5faf177c5a.
-
-Revert "Initialize booleans"
-This reverts commit 0ec677b9ef561f2a0a55f60decb9b970e9a3d853.
-
-Revert "Usb Gadget hal implementation for mata"
-This reverts commit 841419065a88b247b2485780c6d61a9729e3b18e.
-
-Change-Id: I1981680d2325abc8ea9ad7b04dafbda286e69bb1
----
- manifest.xml | 9 -
- rootdir/etc/init.mata.usb.rc | 413 ++++++++++++++++---
- sepolicy/vendor/file.te | 1 -
- sepolicy/vendor/file_contexts | 2 +-
- sepolicy/vendor/hal_usb_default.te | 1 +
- sepolicy/vendor/hal_usb_impl.te | 14 -
- sepolicy/vendor/property.te | 1 -
- sepolicy/vendor/property_contexts | 4 -
- usb/Android.bp | 3 +-
- usb/Usb.cpp | 2 +-
- usb/Usb.h | 2 +-
- usb/UsbGadget.h | 101 -----
- usb/android.hardware.usb@1.1-service.mata.rc | 13 +-
- usb/service.cpp | 26 +-
- 14 files changed, 377 insertions(+), 215 deletions(-)
- create mode 100644 sepolicy/vendor/hal_usb_default.te
- delete mode 100644 sepolicy/vendor/hal_usb_impl.te
- delete mode 100644 usb/UsbGadget.h
-
-diff --git a/manifest.xml b/manifest.xml
-index f62a3c49..e6972b93 100644
---- a/manifest.xml
-+++ b/manifest.xml
-@@ -249,15 +249,6 @@
- default
-
-
--
-- android.hardware.usb.gadget
-- hwbinder
-- 1.0
--
-- IUsbGadget
-- default
--
--
-
- android.hardware.vibrator
- hwbinder
-diff --git a/rootdir/etc/init.mata.usb.rc b/rootdir/etc/init.mata.usb.rc
-index 5ed1c64a..8a207912 100644
---- a/rootdir/etc/init.mata.usb.rc
-+++ b/rootdir/etc/init.mata.usb.rc
-@@ -30,94 +30,411 @@
-
- on charger
- mount configfs none /config
-- mkdir /config/usb_gadget/g1 0770
-+ mkdir /config/usb_gadget/g1 0770 shell shell
-+ mkdir /config/usb_gadget/g1/strings/0x409 0770 shell shell
- write /config/usb_gadget/g1/bcdUSB 0x0200
-- write /config/usb_gadget/g1/idProduct 0xC033
-- write /config/usb_gadget/g1/idVendor 0x2E17
-- mkdir /config/usb_gadget/g1/strings/0x409 0770
-+ write /config/usb_gadget/g1/os_desc/use 1
- write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno}
- write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer}
- write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model}
-+ mkdir /config/usb_gadget/g1/functions/mass_storage.0
-+ mkdir /config/usb_gadget/g1/functions/mtp.gs0
-+ mkdir /config/usb_gadget/g1/functions/ptp.gs1
- mkdir /config/usb_gadget/g1/functions/accessory.gs2
-- mkdir /config/usb_gadget/g1/functions/audio_source.gs2
- mkdir /config/usb_gadget/g1/functions/audio_source.gs3
-- mkdir /config/usb_gadget/g1/functions/ccid.ccid
-+ mkdir /config/usb_gadget/g1/functions/midi.gs5
-+ mkdir /config/usb_gadget/g1/functions/ffs.adb
-+ mkdir /config/usb_gadget/g1/functions/diag.diag
- mkdir /config/usb_gadget/g1/functions/cser.dun.0
- mkdir /config/usb_gadget/g1/functions/cser.nmea.1
-- mkdir /config/usb_gadget/g1/functions/diag.diag
-- mkdir /config/usb_gadget/g1/functions/ffs.adb
-- mkdir /config/usb_gadget/g1/functions/gsi.dpl
- mkdir /config/usb_gadget/g1/functions/gsi.rmnet
- mkdir /config/usb_gadget/g1/functions/gsi.rndis
-- mkdir /config/usb_gadget/g1/functions/mass_storage.0
-- mkdir /config/usb_gadget/g1/functions/midi.gs5
-- mkdir /config/usb_gadget/g1/functions/mtp.gs0
-- mkdir /config/usb_gadget/g1/functions/ncm.0
-- mkdir /config/usb_gadget/g1/functions/ptp.gs1
-+ mkdir /config/usb_gadget/g1/functions/gsi.dpl
- mkdir /config/usb_gadget/g1/functions/qdss.qdss
-- mkdir /config/usb_gadget/g1/functions/rmnet_bam.dpl
- mkdir /config/usb_gadget/g1/functions/rndis_bam.rndis
- mkdir /config/usb_gadget/g1/functions/rmnet_bam.rmnet
-- mkdir /config/usb_gadget/g1/configs/b.1 0770
-- mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770
-+ mkdir /config/usb_gadget/g1/functions/rmnet_bam.dpl
-+ mkdir /config/usb_gadget/g1/functions/ncm.0
-+ mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell
-+ mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell
- write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
- write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
-- write /config/usb_gadget/g1/os_desc/use 1
-+ symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
- write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "msc"
- rm /config/usb_gadget/g1/configs/b.1/f1
- rm /config/usb_gadget/g1/configs/b.1/f2
- rm /config/usb_gadget/g1/configs/b.1/f3
- rm /config/usb_gadget/g1/configs/b.1/f4
- rm /config/usb_gadget/g1/configs/b.1/f5
-- symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
-+ write /config/usb_gadget/g1/idVendor 0x2E17
-+ write /config/usb_gadget/g1/idProduct 0xC033
- symlink /config/usb_gadget/g1/functions/mass_storage.0 /config/usb_gadget/g1/configs/b.1/f1
- write /config/usb_gadget/g1/UDC a800000.dwc3
-
--on early-boot
-+on boot
-+ mkdir /dev/usb-ffs 0770 shell shell
-+ mkdir /dev/usb-ffs/adb 0770 shell shell
- mount configfs none /config
-- mkdir /config/usb_gadget/g1 0770
-+ mkdir /config/usb_gadget/g1 0770 shell shell
-+ mkdir /config/usb_gadget/g1/strings/0x409 0770 shell shell
-+ write /config/usb_gadget/g1/idVendor 0x2E17
-+ write /config/usb_gadget/g1/os_desc/use 1
- write /config/usb_gadget/g1/bcdDevice 0x0223
- write /config/usb_gadget/g1/bcdUSB 0x0200
-- write /config/usb_gadget/g1/idVendor 0x2E17
-- mkdir /config/usb_gadget/g1/strings/0x409 0770
- write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno}
- write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer}
- write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model}
-+ mkdir /config/usb_gadget/g1/functions/mass_storage.0
-+ mkdir /config/usb_gadget/g1/functions/mtp.gs0
-+ mkdir /config/usb_gadget/g1/functions/ptp.gs1
- mkdir /config/usb_gadget/g1/functions/accessory.gs2
- mkdir /config/usb_gadget/g1/functions/audio_source.gs2
- mkdir /config/usb_gadget/g1/functions/audio_source.gs3
-- mkdir /config/usb_gadget/g1/functions/ccid.ccid
-+ mkdir /config/usb_gadget/g1/functions/midi.gs5
-+ mkdir /config/usb_gadget/g1/functions/ffs.adb
-+ mkdir /config/usb_gadget/g1/functions/diag.diag
- mkdir /config/usb_gadget/g1/functions/cser.dun.0
- mkdir /config/usb_gadget/g1/functions/cser.nmea.1
-- mkdir /config/usb_gadget/g1/functions/diag.diag
-- mkdir /config/usb_gadget/g1/functions/ffs.adb
-- mkdir /config/usb_gadget/g1/functions/gsi.dpl
- mkdir /config/usb_gadget/g1/functions/gsi.rmnet
- mkdir /config/usb_gadget/g1/functions/gsi.rndis
-- mkdir /config/usb_gadget/g1/functions/mass_storage.0
-- mkdir /config/usb_gadget/g1/functions/midi.gs5
-- mkdir /config/usb_gadget/g1/functions/mtp.gs0
-- mkdir /config/usb_gadget/g1/functions/ncm.0
-- mkdir /config/usb_gadget/g1/functions/ptp.gs1
-+ mkdir /config/usb_gadget/g1/functions/gsi.dpl
- mkdir /config/usb_gadget/g1/functions/qdss.qdss
-- mkdir /config/usb_gadget/g1/functions/rmnet_bam.dpl
-- mkdir /config/usb_gadget/g1/functions/rndis_bam.rndis
-- mkdir /config/usb_gadget/g1/functions/rmnet_bam.rmnet
-- mkdir /config/usb_gadget/g1/configs/b.1 0770
-- mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770
-+ mkdir /config/usb_gadget/g1/functions/ncm.0
-+ mkdir /config/usb_gadget/g1/functions/ccid.ccid
-+ mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell
-+ mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell
- write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
- write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
-- write /config/usb_gadget/g1/os_desc/use 1
-- mkdir /dev/usb-ffs 0775 shell shell
-- mkdir /dev/usb-ffs/adb 0770 shell shell
-- mount functionfs adb /dev/usb-ffs/adb rmode=0770,fmode=0660,uid=2000,gid=2000
-- mkdir /dev/usb-ffs/mtp 0770 mtp mtp
-- mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
-- mkdir /dev/usb-ffs/ptp 0770 mtp mtp
-- mount functionfs ptp /dev/usb-ffs/ptp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
- symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
-+ mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
-+ setprop sys.usb.configfs 1
- setprop sys.usb.controller "a800000.dwc3"
-- setprop sys.usb.mtp.device_type 3
-
--on boot
-- setprop sys.usb.configfs 2
-+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=none && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/os_desc/use 0
-+ setprop sys.usb.ffs.ready 0
-+
-+on property:sys.usb.ffs.ready=1 && property:init.svc.adbd=stopped
-+ setprop sys.usb.ffs.ready 0
-+
-+on property:sys.usb.config=none && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/UDC "none"
-+ stop adbd
-+ write /config/usb_gadget/g1/bDeviceClass 0
-+ write /config/usb_gadget/g1/bDeviceSubClass 0
-+ write /config/usb_gadget/g1/bDeviceProtocol 0
-+ setprop sys.usb.state ${sys.usb.config}
-+
-+on property:sys.usb.config=adb && property:sys.usb.configfs=1
-+ start adbd
-+
-+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb"
-+ rm /config/usb_gadget/g1/configs/b.1/f1
-+ rm /config/usb_gadget/g1/configs/b.1/f2
-+ rm /config/usb_gadget/g1/configs/b.1/f3
-+ rm /config/usb_gadget/g1/configs/b.1/f4
-+ rm /config/usb_gadget/g1/configs/b.1/f5
-+ write /config/usb_gadget/g1/idVendor 0x2E17
-+ write /config/usb_gadget/g1/idProduct 0xC032
-+ symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1
-+ write /config/usb_gadget/g1/UDC ${sys.usb.controller}
-+ setprop sys.usb.state ${sys.usb.config}
-+
-+on property:sys.usb.config=mtp && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp"
-+ rm /config/usb_gadget/g1/configs/b.1/f1
-+ rm /config/usb_gadget/g1/configs/b.1/f2
-+ rm /config/usb_gadget/g1/configs/b.1/f3
-+ rm /config/usb_gadget/g1/configs/b.1/f4
-+ rm /config/usb_gadget/g1/configs/b.1/f5
-+ write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP"
-+ write /config/usb_gadget/g1/os_desc/use 1
-+ write /config/usb_gadget/g1/idVendor 0x2E17
-+ write /config/usb_gadget/g1/idProduct 0xC033
-+ symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1
-+ write /config/usb_gadget/g1/UDC ${sys.usb.controller}
-+ setprop sys.usb.state ${sys.usb.config}
-+
-+on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1
-+ start adbd
-+
-+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_adb"
-+ rm /config/usb_gadget/g1/configs/b.1/f1
-+ rm /config/usb_gadget/g1/configs/b.1/f2
-+ rm /config/usb_gadget/g1/configs/b.1/f3
-+ rm /config/usb_gadget/g1/configs/b.1/f4
-+ rm /config/usb_gadget/g1/configs/b.1/f5
-+ write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP"
-+ write /config/usb_gadget/g1/os_desc/use 1
-+ write /config/usb_gadget/g1/idVendor 0x2E17
-+ write /config/usb_gadget/g1/idProduct 0xC030
-+ symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1
-+ symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
-+ write /config/usb_gadget/g1/UDC ${sys.usb.controller}
-+ setprop sys.usb.state ${sys.usb.config}
-+
-+on property:sys.usb.config=ptp && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ptp"
-+ rm /config/usb_gadget/g1/configs/b.1/f1
-+ rm /config/usb_gadget/g1/configs/b.1/f2
-+ rm /config/usb_gadget/g1/configs/b.1/f3
-+ rm /config/usb_gadget/g1/configs/b.1/f4
-+ rm /config/usb_gadget/g1/configs/b.1/f5
-+ write /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id "PTP"
-+ write /config/usb_gadget/g1/os_desc/use 1
-+ write /config/usb_gadget/g1/idVendor 0x2E17
-+ write /config/usb_gadget/g1/idProduct 0xC034
-+ symlink /config/usb_gadget/g1/functions/ptp.gs1 /config/usb_gadget/g1/configs/b.1/f1
-+ write /config/usb_gadget/g1/UDC ${sys.usb.controller}
-+ setprop sys.usb.state ${sys.usb.config}
-+
-+on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1
-+ start adbd
-+
-+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "ptp_adb"
-+ rm /config/usb_gadget/g1/configs/b.1/f1
-+ rm /config/usb_gadget/g1/configs/b.1/f2
-+ rm /config/usb_gadget/g1/configs/b.1/f3
-+ rm /config/usb_gadget/g1/configs/b.1/f4
-+ rm /config/usb_gadget/g1/configs/b.1/f5
-+ write /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id "PTP"
-+ write /config/usb_gadget/g1/os_desc/use 1
-+ write /config/usb_gadget/g1/idVendor 0x2E17
-+ write /config/usb_gadget/g1/idProduct 0xC031
-+ symlink /config/usb_gadget/g1/functions/ptp.gs1 /config/usb_gadget/g1/configs/b.1/f1
-+ symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
-+ write /config/usb_gadget/g1/UDC ${sys.usb.controller}
-+ setprop sys.usb.state ${sys.usb.config}
-+
-+on property:sys.usb.config=midi && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "midi"
-+ rm /config/usb_gadget/g1/configs/b.1/f1
-+ rm /config/usb_gadget/g1/configs/b.1/f2
-+ rm /config/usb_gadget/g1/configs/b.1/f3
-+ rm /config/usb_gadget/g1/configs/b.1/f4
-+ rm /config/usb_gadget/g1/configs/b.1/f5
-+ write /config/usb_gadget/g1/idVendor 0x2E17
-+ write /config/usb_gadget/g1/idProduct 0xC041
-+ symlink /config/usb_gadget/g1/functions/midi.gs5 /config/usb_gadget/g1/configs/b.1/f1
-+ write /config/usb_gadget/g1/UDC ${sys.usb.controller}
-+ setprop sys.usb.state ${sys.usb.config}
-+
-+on property:sys.usb.config=midi,adb && property:sys.usb.configfs=1
-+ start adbd
-+
-+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=midi,adb && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "midi_adb"
-+ rm /config/usb_gadget/g1/configs/b.1/f1
-+ rm /config/usb_gadget/g1/configs/b.1/f2
-+ rm /config/usb_gadget/g1/configs/b.1/f3
-+ rm /config/usb_gadget/g1/configs/b.1/f4
-+ rm /config/usb_gadget/g1/configs/b.1/f5
-+ write /config/usb_gadget/g1/idVendor 0x2E17
-+ write /config/usb_gadget/g1/idProduct 0xC042
-+ symlink /config/usb_gadget/g1/functions/midi.gs5 /config/usb_gadget/g1/configs/b.1/f1
-+ symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
-+ write /config/usb_gadget/g1/UDC ${sys.usb.controller}
-+ setprop sys.usb.state ${sys.usb.config}
-+
-+# Implement AOAv2 interface
-+
-+on property:sys.usb.config=accessory && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "accessory"
-+ rm /config/usb_gadget/g1/configs/b.1/f1
-+ rm /config/usb_gadget/g1/configs/b.1/f2
-+ rm /config/usb_gadget/g1/configs/b.1/f3
-+ rm /config/usb_gadget/g1/configs/b.1/f4
-+ rm /config/usb_gadget/g1/configs/b.1/f5
-+ write /config/usb_gadget/g1/idVendor 0x18D1
-+ write /config/usb_gadget/g1/idProduct 0x2D00
-+ symlink /config/usb_gadget/g1/functions/accessory.gs2 /config/usb_gadget/g1/configs/b.1/f1
-+ write /config/usb_gadget/g1/UDC ${sys.usb.controller}
-+ setprop sys.usb.state ${sys.usb.config}
-+
-+on property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1
-+ start adbd
-+
-+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "accessory_adb"
-+ rm /config/usb_gadget/g1/configs/b.1/f1
-+ rm /config/usb_gadget/g1/configs/b.1/f2
-+ rm /config/usb_gadget/g1/configs/b.1/f3
-+ rm /config/usb_gadget/g1/configs/b.1/f4
-+ rm /config/usb_gadget/g1/configs/b.1/f5
-+ write /config/usb_gadget/g1/idVendor 0x18D1
-+ write /config/usb_gadget/g1/idProduct 0x2D01
-+ symlink /config/usb_gadget/g1/functions/accessory.gs2 /config/usb_gadget/g1/configs/b.1/f1
-+ symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
-+ write /config/usb_gadget/g1/UDC ${sys.usb.controller}
-+ setprop sys.usb.state ${sys.usb.config}
-+
-+on property:sys.usb.config=audio_source && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "audiosource"
-+ rm /config/usb_gadget/g1/configs/b.1/f1
-+ rm /config/usb_gadget/g1/configs/b.1/f2
-+ rm /config/usb_gadget/g1/configs/b.1/f3
-+ rm /config/usb_gadget/g1/configs/b.1/f4
-+ rm /config/usb_gadget/g1/configs/b.1/f5
-+ write /config/usb_gadget/g1/idVendor 0x18D1
-+ write /config/usb_gadget/g1/idProduct 0x2d02
-+ symlink /config/usb_gadget/g1/functions/audio_source.gs2 /config/usb_gadget/g1/configs/b.1/f1
-+ write /config/usb_gadget/g1/UDC ${sys.usb.controller}
-+ setprop sys.usb.state ${sys.usb.config}
-+
-+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=audio_source,adb && property:sys.usb.configfs=1
-+ start adbd
-+
-+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=audio_source,adb && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "audiosource_adb"
-+ rm /config/usb_gadget/g1/configs/b.1/f1
-+ rm /config/usb_gadget/g1/configs/b.1/f2
-+ rm /config/usb_gadget/g1/configs/b.1/f3
-+ rm /config/usb_gadget/g1/configs/b.1/f4
-+ rm /config/usb_gadget/g1/configs/b.1/f5
-+ write /config/usb_gadget/g1/idVendor 0x18D1
-+ write /config/usb_gadget/g1/idProduct 0x2d03
-+ symlink /config/usb_gadget/g1/functions/audio_source.gs2 /config/usb_gadget/g1/configs/b.1/f1
-+ symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
-+ write /config/usb_gadget/g1/UDC ${sys.usb.controller}
-+ setprop sys.usb.state ${sys.usb.config}
-+
-+on property:sys.usb.config=accessory,audio_source && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "accessory_audiosource"
-+ rm /config/usb_gadget/g1/configs/b.1/f1
-+ rm /config/usb_gadget/g1/configs/b.1/f2
-+ rm /config/usb_gadget/g1/configs/b.1/f3
-+ rm /config/usb_gadget/g1/configs/b.1/f4
-+ rm /config/usb_gadget/g1/configs/b.1/f5
-+ write /config/usb_gadget/g1/idVendor 0x18D1
-+ write /config/usb_gadget/g1/idProduct 0x2d04
-+ symlink /config/usb_gadget/g1/functions/accessory.gs2 /config/usb_gadget/g1/configs/b.1/f1
-+ symlink /config/usb_gadget/g1/functions/audio_source.gs3 /config/usb_gadget/g1/configs/b.1/f2
-+ write /config/usb_gadget/g1/UDC ${sys.usb.controller}
-+ setprop sys.usb.state ${sys.usb.config}
-+
-+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=accessory,audio_source,adb && property:sys.usb.configfs=1
-+ start adbd
-+
-+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=accessory,audio_source,adb && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "accessory_audiosource_adb"
-+ rm /config/usb_gadget/g1/configs/b.1/f1
-+ rm /config/usb_gadget/g1/configs/b.1/f2
-+ rm /config/usb_gadget/g1/configs/b.1/f3
-+ rm /config/usb_gadget/g1/configs/b.1/f4
-+ rm /config/usb_gadget/g1/configs/b.1/f5
-+ write /config/usb_gadget/g1/idVendor 0x18D1
-+ write /config/usb_gadget/g1/idProduct 0x2d05
-+ symlink /config/usb_gadget/g1/functions/accessory.gs2 /config/usb_gadget/g1/configs/b.1/f1
-+ symlink /config/usb_gadget/g1/functions/audio_source.gs3 /config/usb_gadget/g1/configs/b.1/f2
-+ symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3
-+ write /config/usb_gadget/g1/UDC ${sys.usb.controller}
-+ setprop sys.usb.state ${sys.usb.config}
-+
-+on property:sys.usb.tethering=true
-+ write /sys/class/net/rndis0/queues/rx-0/rps_cpus ${sys.usb.rps_mask}
-+
-+on property:sys.usb.config=rndis
-+ setprop sys.usb.config rndis,${persist.sys.usb.config.extra}
-+
-+on property:sys.usb.config=rndis,none && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis"
-+ rm /config/usb_gadget/g1/configs/b.1/f1
-+ rm /config/usb_gadget/g1/configs/b.1/f2
-+ rm /config/usb_gadget/g1/configs/b.1/f3
-+ rm /config/usb_gadget/g1/configs/b.1/f4
-+ rm /config/usb_gadget/g1/configs/b.1/f5
-+ write /config/usb_gadget/g1/idVendor 0x2E17
-+ write /config/usb_gadget/g1/idProduct 0xC022
-+ symlink /config/usb_gadget/g1/functions/gsi.rndis /config/usb_gadget/g1/configs/b.1/f1
-+ write /config/usb_gadget/g1/UDC ${sys.usb.controller}
-+ setprop sys.usb.state rndis
-+
-+on property:sys.usb.config=rndis,adb
-+ setprop sys.usb.config rndis,${persist.sys.usb.config.extra},adb
-+
-+on property:sys.usb.config=rndis,none,adb && property:sys.usb.configfs=1
-+ start adbd
-+
-+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,none,adb && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_adb"
-+ rm /config/usb_gadget/g1/configs/b.1/f1
-+ rm /config/usb_gadget/g1/configs/b.1/f2
-+ rm /config/usb_gadget/g1/configs/b.1/f3
-+ rm /config/usb_gadget/g1/configs/b.1/f4
-+ rm /config/usb_gadget/g1/configs/b.1/f5
-+ write /config/usb_gadget/g1/idVendor 0x2E17
-+ write /config/usb_gadget/g1/idProduct 0xC008
-+ symlink /config/usb_gadget/g1/functions/gsi.rndis /config/usb_gadget/g1/configs/b.1/f1
-+ symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
-+ write /config/usb_gadget/g1/UDC ${sys.usb.controller}
-+ setprop sys.usb.state rndis,adb
-+
-+
-+on property:sys.usb.config=diag,serial_cdev,rmnet,adb && property:sys.usb.configfs=1
-+ start adbd
-+
-+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=diag,serial_cdev,rmnet,adb && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "Default composition"
-+ rm /config/usb_gadget/g1/configs/b.1/f1
-+ rm /config/usb_gadget/g1/configs/b.1/f2
-+ rm /config/usb_gadget/g1/configs/b.1/f3
-+ rm /config/usb_gadget/g1/configs/b.1/f4
-+ rm /config/usb_gadget/g1/configs/b.1/f5
-+ write /config/usb_gadget/g1/idVendor 0x05C6
-+ write /config/usb_gadget/g1/idProduct 0x9091
-+ symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1
-+ symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2
-+ symlink /config/usb_gadget/g1/functions/gsi.rmnet /config/usb_gadget/g1/configs/b.1/f3
-+ symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f4
-+ write /config/usb_gadget/g1/UDC "a800000.dwc3"
-+ setprop sys.usb.state ${sys.usb.config}
-+
-+on property:sys.usb.config=diag,serial_cdev,rmnet && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "Default composition"
-+ rm /config/usb_gadget/g1/configs/b.1/f1
-+ rm /config/usb_gadget/g1/configs/b.1/f2
-+ rm /config/usb_gadget/g1/configs/b.1/f3
-+ rm /config/usb_gadget/g1/configs/b.1/f4
-+ rm /config/usb_gadget/g1/configs/b.1/f5
-+ write /config/usb_gadget/g1/idVendor 0x05C6
-+ write /config/usb_gadget/g1/idProduct 0x9092
-+ symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f1
-+ symlink /config/usb_gadget/g1/functions/cser.dun.0 /config/usb_gadget/g1/configs/b.1/f2
-+ symlink /config/usb_gadget/g1/functions/gsi.rmnet /config/usb_gadget/g1/configs/b.1/f3
-+ write /config/usb_gadget/g1/UDC "a800000.dwc3"
-+ setprop sys.usb.state ${sys.usb.config}
-+
-+on property:sys.usb.config=rndis,diag && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag"
-+ rm /config/usb_gadget/g1/configs/b.1/f1
-+ rm /config/usb_gadget/g1/configs/b.1/f2
-+ rm /config/usb_gadget/g1/configs/b.1/f3
-+ rm /config/usb_gadget/g1/configs/b.1/f4
-+ rm /config/usb_gadget/g1/configs/b.1/f5
-+ write /config/usb_gadget/g1/idVendor 0x05C6
-+ write /config/usb_gadget/g1/idProduct 0x902C
-+ symlink /config/usb_gadget/g1/functions/gsi.rndis /config/usb_gadget/g1/configs/b.1/f1
-+ symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f2
-+ write /config/usb_gadget/g1/UDC ${sys.usb.controller}
-+ setprop sys.usb.state ${sys.usb.config}
-+
-+on property:sys.usb.config=rndis,diag,adb && property:sys.usb.configfs=1
-+ start adbd
-+
-+on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,diag,adb && property:sys.usb.configfs=1
-+ write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag_adb"
-+ rm /config/usb_gadget/g1/configs/b.1/f1
-+ rm /config/usb_gadget/g1/configs/b.1/f2
-+ rm /config/usb_gadget/g1/configs/b.1/f3
-+ rm /config/usb_gadget/g1/configs/b.1/f4
-+ rm /config/usb_gadget/g1/configs/b.1/f5
-+ write /config/usb_gadget/g1/idVendor 0x05C6
-+ write /config/usb_gadget/g1/idProduct 0x902D
-+ symlink /config/usb_gadget/g1/functions/gsi.rndis /config/usb_gadget/g1/configs/b.1/f1
-+ symlink /config/usb_gadget/g1/functions/diag.diag /config/usb_gadget/g1/configs/b.1/f2
-+ symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3
-+ write /config/usb_gadget/g1/UDC ${sys.usb.controller}
-+ setprop sys.usb.state ${sys.usb.config}
-diff --git a/sepolicy/vendor/file.te b/sepolicy/vendor/file.te
-index c14fda13..dd6c305f 100644
---- a/sepolicy/vendor/file.te
-+++ b/sepolicy/vendor/file.te
-@@ -12,4 +12,3 @@ type sysfs_input, sysfs_type, fs_type;
- type sysfs_fingerprint, sysfs_type, fs_type;
- type sysfs_msm_subsys, sysfs_type, fs_type;
- type sysfs_scsi_devices_0000, sysfs_type, fs_type;
--type sysfs_usb_device, sysfs_type, fs_type;
-diff --git a/sepolicy/vendor/file_contexts b/sepolicy/vendor/file_contexts
-index 4f9bf864..ae74db82 100644
---- a/sepolicy/vendor/file_contexts
-+++ b/sepolicy/vendor/file_contexts
-@@ -31,7 +31,7 @@
- /vendor/bin/hw/android\.hardware\.power@1\.3-service\.pixel-libperfmgr u:object_r:hal_power_default_exec:s0
- /vendor/bin/hw/android\.hardware\.power\.stats@1\.0-service\.pixel u:object_r:hal_power_stats_default_exec:s0
- /vendor/bin/hw/android\.hardware\.thermal@2\.0-service\.pixel u:object_r:hal_thermal_default_exec:s0
--/vendor/bin/hw/android\.hardware\.usb@1\.1-service\.mata u:object_r:hal_usb_impl_exec:s0
-+/vendor/bin/hw/android\.hardware\.usb@1\.1-service\.mata u:object_r:hal_usb_default_exec:s0
- /vendor/bin/hw/android\.hardware\.vibrator@1\.2-service\.mata u:object_r:hal_vibrator_default_exec:s0
- /vendor/bin/hw/vendor\.essential\.hardware\.sidecar@1\.0-service u:object_r:hal_sidecar_essential_default_exec:s0
-
-diff --git a/sepolicy/vendor/hal_usb_default.te b/sepolicy/vendor/hal_usb_default.te
-new file mode 100644
-index 00000000..c582505a
---- /dev/null
-+++ b/sepolicy/vendor/hal_usb_default.te
-@@ -0,0 +1 @@
-+r_dir_file(hal_usb_default, sysfs_usbpd_device)
-diff --git a/sepolicy/vendor/hal_usb_impl.te b/sepolicy/vendor/hal_usb_impl.te
-deleted file mode 100644
-index a9a3c4f5..00000000
---- a/sepolicy/vendor/hal_usb_impl.te
-+++ /dev/null
-@@ -1,14 +0,0 @@
--type hal_usb_impl, domain;
--hal_server_domain(hal_usb_impl, hal_usb)
--hal_server_domain(hal_usb_impl, hal_usb_gadget)
--
--type hal_usb_impl_exec, exec_type, vendor_file_type, file_type;
--init_daemon_domain(hal_usb_impl)
--
--r_dir_file(hal_usb_impl, sysfs_usbpd_device)
--allow hal_usb_impl sysfs_usbpd_device:file w_file_perms;
--allow hal_usb_impl sysfs_usb_device:dir r_dir_perms;
--allow hal_usb_impl sysfs_usb_device:file rw_file_perms;
--allow hal_usb_impl configfs:file create_file_perms;
--
--set_prop(hal_usb_impl, vendor_usb_config_prop)
-diff --git a/sepolicy/vendor/property.te b/sepolicy/vendor/property.te
-index fdd71e14..cdaba33e 100644
---- a/sepolicy/vendor/property.te
-+++ b/sepolicy/vendor/property.te
-@@ -5,4 +5,3 @@ type qca1530_prop, property_type;
- type sidecar_prop, property_type;
- type vendor_camera_prop, property_type;
- type vendor_device_prop, property_type;
--type vendor_usb_config_prop, property_type;
-diff --git a/sepolicy/vendor/property_contexts b/sepolicy/vendor/property_contexts
-index b8e0513a..b78ac077 100644
---- a/sepolicy/vendor/property_contexts
-+++ b/sepolicy/vendor/property_contexts
-@@ -126,7 +126,3 @@ persist.radio.VT_ENABLE u:object_r:vendor_radio_prop:s0
- persist.radio.VT_HYBRID_ENABLE u:object_r:vendor_radio_prop:s0
- radio. u:object_r:vendor_radio_prop:s0
- rcs.publish.status u:object_r:vendor_radio_prop:s0
--
--# vendor_usb_config_prop
--persist.vendor.usb.config u:object_r:vendor_usb_config_prop:s0
--vendor.usb.config u:object_r:vendor_usb_config_prop:s0
-diff --git a/usb/Android.bp b/usb/Android.bp
-index 028ab138..4a1c4544 100644
---- a/usb/Android.bp
-+++ b/usb/Android.bp
-@@ -17,7 +17,7 @@ cc_binary {
- name: "android.hardware.usb@1.1-service.mata",
- relative_install_path: "hw",
- init_rc: ["android.hardware.usb@1.1-service.mata.rc"],
-- srcs: ["service.cpp", "Usb.cpp", "UsbGadget.cpp"],
-+ srcs: ["service.cpp", "Usb.cpp"],
- shared_libs: [
- "libbase",
- "libhidlbase",
-@@ -27,7 +27,6 @@ cc_binary {
- "libhardware",
- "android.hardware.usb@1.0",
- "android.hardware.usb@1.1",
-- "android.hardware.usb.gadget@1.0",
- "libcutils",
- ],
- proprietary: true,
-diff --git a/usb/Usb.cpp b/usb/Usb.cpp
-index e78a82f2..9f0e6401 100644
---- a/usb/Usb.cpp
-+++ b/usb/Usb.cpp
-@@ -106,7 +106,7 @@ std::string convertRoletoString(PortRole role) {
- }
-
- Return Usb::switchRole(const hidl_string& portName,
-- const V1_0::PortRole& newRole) {
-+ const PortRole& newRole) {
- std::string filename = appendRoleNodeHelper(std::string(portName.c_str()),
- newRole.type);
- std::ofstream file(filename);
-diff --git a/usb/Usb.h b/usb/Usb.h
-index 5de3e1fb..a91ee2f7 100644
---- a/usb/Usb.h
-+++ b/usb/Usb.h
-@@ -42,7 +42,7 @@ using ::android::sp;
- struct Usb : public IUsb {
- Usb();
-
-- Return switchRole(const hidl_string& portName, const V1_0::PortRole& role) override;
-+ Return switchRole(const hidl_string& portName, const PortRole& role) override;
- Return setCallback(const sp& callback) override;
- Return queryPortStatus() override;
-
-diff --git a/usb/UsbGadget.h b/usb/UsbGadget.h
-deleted file mode 100644
-index 9a2c4dd3..00000000
---- a/usb/UsbGadget.h
-+++ /dev/null
-@@ -1,101 +0,0 @@
--/*
-- * Copyright (C) 2018 The Android Open Source Project
-- *
-- * Licensed under the Apache License, Version 2.0 (the "License");
-- * you may not use this file except in compliance with the License.
-- * You may obtain a copy of the License at
-- *
-- * http://www.apache.org/licenses/LICENSE-2.0
-- *
-- * Unless required by applicable law or agreed to in writing, software
-- * distributed under the License is distributed on an "AS IS" BASIS,
-- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- * See the License for the specific language governing permissions and
-- * limitations under the License.
-- */
--
--#ifndef ANDROID_HARDWARE_USB_GADGET_V1_0_USBGADGET_H
--#define ANDROID_HARDWARE_USB_GADGET_V1_0_USBGADGET_H
--
--#include
--#include
--#include
--#include
--#include
--#include
--#include
--#include
--#include
--#include
--#include
--#include
--#include
--#include
--
--namespace android {
--namespace hardware {
--namespace usb {
--namespace gadget {
--namespace V1_0 {
--namespace implementation {
--
--using ::android::sp;
--using ::android::base::GetProperty;
--using ::android::base::SetProperty;
--using ::android::base::unique_fd;
--using ::android::base::WriteStringToFile;
--using ::android::hardware::hidl_array;
--using ::android::hardware::hidl_memory;
--using ::android::hardware::hidl_string;
--using ::android::hardware::hidl_vec;
--using ::android::hardware::Return;
--using ::android::hardware::Void;
--using ::std::lock_guard;
--using ::std::move;
--using ::std::mutex;
--using ::std::string;
--using ::std::thread;
--using ::std::unique_ptr;
--using ::std::vector;
--using namespace std::chrono_literals;
--
--struct UsbGadget : public IUsbGadget {
-- UsbGadget();
-- unique_fd mInotifyFd;
-- unique_fd mEventFd;
-- unique_fd mEpollFd;
--
-- unique_ptr mMonitor;
-- volatile bool mMonitorCreated;
-- vector mEndpointList;
-- // protects the CV.
-- std::mutex mLock;
-- std::condition_variable mCv;
--
-- // Makes sure that only one request is processed at a time.
-- std::mutex mLockSetCurrentFunction;
-- uint64_t mCurrentUsbFunctions;
-- bool mCurrentUsbFunctionsApplied;
--
-- Return setCurrentUsbFunctions(uint64_t functions,
-- const sp& callback,
-- uint64_t timeout) override;
--
-- Return getCurrentUsbFunctions(
-- const sp& callback) override;
--
-- private:
-- Status tearDownGadget();
-- Status setupFunctions(uint64_t functions,
-- const sp& callback,
-- uint64_t timeout);
--};
--
--} // namespace implementation
--} // namespace V1_0
--} // namespace gadget
--} // namespace usb
--} // namespace hardware
--} // namespace android
--
--#endif // ANDROID_HARDWARE_USB_V1_2_USBGADGET_H
-diff --git a/usb/android.hardware.usb@1.1-service.mata.rc b/usb/android.hardware.usb@1.1-service.mata.rc
-index a26cca37..fec6f43d 100644
---- a/usb/android.hardware.usb@1.1-service.mata.rc
-+++ b/usb/android.hardware.usb@1.1-service.mata.rc
-@@ -1,15 +1,4 @@
- service vendor.usb-hal-1-1 /vendor/bin/hw/android.hardware.usb@1.1-service.mata
- class hal
- user root
-- group root system shell mtp
-- capabilities
--
--on boot
-- chown root system /sys/class/dual_role_usb/otg_default/power_role
-- chown root system /sys/class/dual_role_usb/otg_default/data_role
-- chown root system /sys/class/dual_role_usb/otg_default/mode
-- chown root system /sys/class/dual_role_usb/otg_default/supported_modes
-- chmod 664 /sys/class/dual_role_usb/otg_default/power_role
-- chmod 664 /sys/class/dual_role_usb/otg_default/data_role
-- chmod 664 /sys/class/dual_role_usb/otg_default/mode
-- chmod 664 /sys/class/dual_role_usb/otg_default/supported_modes
-+ group root system
-diff --git a/usb/service.cpp b/usb/service.cpp
-index b0f1ce00..37efef1f 100644
---- a/usb/service.cpp
-+++ b/usb/service.cpp
-@@ -17,7 +17,6 @@
-
- #include
- #include "Usb.h"
--#include "UsbGadget.h"
-
- using android::sp;
-
-@@ -27,36 +26,23 @@ using android::hardware::joinRpcThreadpool;
-
- // Generated HIDL files
- using android::hardware::usb::V1_1::IUsb;
--using android::hardware::usb::gadget::V1_0::IUsbGadget;
- using android::hardware::usb::V1_1::implementation::Usb;
--using android::hardware::usb::gadget::V1_0::implementation::UsbGadget;
-
--using android::OK;
- using android::status_t;
-+using android::OK;
-
- int main() {
-
- android::sp service = new Usb();
-- android::sp service2 = new UsbGadget();
-
-- configureRpcThreadpool(2, true /*callerWillJoin*/);
-+ configureRpcThreadpool(1, true /*callerWillJoin*/);
- status_t status = service->registerAsService();
-
-- if (status != OK) {
-- ALOGE("Cannot register USB HAL service");
-- return 1;
-- }
--
-- status = service2->registerAsService();
--
-- if (status != OK) {
-- ALOGE("Cannot register USB Gadget HAL service");
-- return 1;
-+ if (status == OK) {
-+ ALOGI("USB HAL Ready.");
-+ joinRpcThreadpool();
- }
-
-- ALOGI("USB HAL Ready.");
-- joinRpcThreadpool();
-- // Under noraml cases, execution will not reach this line.
-- ALOGI("USB HAL failed to join thread pool.");
-+ ALOGE("Cannot register USB HAL service");
- return 1;
- }
---
-2.26.2
-
diff --git a/Patches/Linux b/Patches/Linux
index 6bcc1f11..22aee428 160000
--- a/Patches/Linux
+++ b/Patches/Linux
@@ -1 +1 @@
-Subproject commit 6bcc1f11b214744b3ad3a8201f3212eaaa994c0a
+Subproject commit 22aee4284ac74f2246fef0cfe05ea68c094c80fa
diff --git a/Scripts/Common/Fix_CVE_Patchers.sh b/Scripts/Common/Fix_CVE_Patchers.sh
index c40f6747..f08e6d18 100644
--- a/Scripts/Common/Fix_CVE_Patchers.sh
+++ b/Scripts/Common/Fix_CVE_Patchers.sh
@@ -39,6 +39,7 @@ commentPatches android_kernel_google_dragon.sh "CVE-2015-4167/^3.19.1/0001.patch
commentPatches android_kernel_google_crosshatch.sh "CVE-2020-0067/ANY/0001.patch";
commentPatches android_kernel_google_marlin.sh "0001-LinuxIncrementals/3.18/3.18.0098-0099.patch" "0006-Copperhead-Kernel_Hardening/3.18/0048.patch" "0006-Copperhead-Kernel_Hardening/3.18/0049.patch" "CVE-2017-13162/3.18/0001.patch";
commentPatches android_kernel_google_msm.sh "CVE-2017-11015/prima/0001.patch" "CVE-2017-11015/prima/0002.patch";
+commentPatches android_kernel_google_msm-4.9.sh "CVE-2020-0067/ANY/0001.patch";
commentPatches android_kernel_htc_flounder.sh "CVE-2018-9514/ANY/0001.patch";
commentPatches android_kernel_htc_msm8994.sh "CVE-2016-8394/ANY/0001.patch" "CVE-2017-13166/3.10/0001.patch";
commentPatches android_kernel_lge_msm8996.sh "CVE-2017-13162/3.18/0001.patch" "CVE-2019-14070/ANY/0006.patch";
diff --git a/Scripts/LineageOS-15.1/Functions.sh b/Scripts/LineageOS-15.1/Functions.sh
index a04b6a70..4a9ac85f 100644
--- a/Scripts/LineageOS-15.1/Functions.sh
+++ b/Scripts/LineageOS-15.1/Functions.sh
@@ -60,16 +60,15 @@ buildAll() {
buildDevice angler verity;
buildDevice Z00T; #broken - needs vendor patching
buildDevice axon7; #broken - needs vendor patching
- buildDevice h850; #broken
- buildDevice us996;
buildDevice us997;
buildDevice flounder verity; #broken encryption (?)
buildDevice dragon verity;
- buildDevice starlte; #broken - device/samsung/universal9810-common/audio: MODULE.TARGET.SHARED_LIBRARIES.libshim_audio_32 already defined by device/samsung/star-common/audio
#The following are all superseded, and should only be enabled if the newer version is broken (not building/booting/etc.)
buildDevice flo; #broken camera?
buildDevice hammerhead;
+ buildDevice h850; #broken
+ buildDevice us996;
buildDevice fugu;
if [ "$DOS_BUILDALL_SUPERSEDED" = true ]; then
buildDevice mako;
@@ -97,6 +96,7 @@ buildAll() {
buildDevice taimen avb;
buildDevice walleye avb;
buildDeviceUserDebug i9100;
+ buildDevice starlte; #broken - device/samsung/universal9810-common/audio: MODULE.TARGET.SHARED_LIBRARIES.libshim_audio_32 already defined by device/samsung/star-common/audio
fi;
}
export -f buildAll;
diff --git a/Scripts/LineageOS-16.0/Functions.sh b/Scripts/LineageOS-16.0/Functions.sh
index 7ff366cc..2ff5ef71 100644
--- a/Scripts/LineageOS-16.0/Functions.sh
+++ b/Scripts/LineageOS-16.0/Functions.sh
@@ -57,8 +57,6 @@ buildAll() {
if [ "$DOS_OPTIMIZE_IMAGES" = true ]; then optimizeImagesRecursive "$DOS_BUILD_BASE"; fi;
#SDS4P
#buildDevice flo; #broken encryption
- #SD410
- buildDevice crackling;
#SD800
buildDevice hammerhead; #broken
#SD801
@@ -67,34 +65,23 @@ buildAll() {
buildDevice klte;
#SD808
buildDevice ether;
- #SD810
- buildDevice oneplus2;
#SD615
buildDevice kipper;
#SD820
- buildDevice oneplus3 verity;
buildDevice z2_plus verity; #broken
#SD625
buildDevice zenfone3; #needs manual patching - fwb xml: fused: dangling tag
#SD835
buildDevice cheeseburger verity; #needs manual patching - vendor common makefile
buildDevice dumpling verity;
- buildDevice taimen avb;
- buildDevice walleye avb;
- #SD845
- buildDevice crosshatch avb;
- buildDevice blueline avb;
- #SD660
- buildDevice Amber verity;
- #SD670
- buildDevice bonito avb;
- buildDevice sargo avb;
#Samsung
buildDeviceUserDebug i9100; #broken
#Intel
buildDevice fugu; #broken
if [ "$DOS_BUILDALL_SUPERSEDED" = true ]; then
+ #SD410
+ buildDevice crackling;
#SDS4P
buildDevice mako;
#SD600
@@ -109,7 +96,10 @@ buildAll() {
buildDevice victara;
#SD805
buildDevice shamu verity;
+ #SD810
+ buildDevice oneplus2;
#SD820
+ buildDevice oneplus3 verity;
buildDevice griffin;
#SD821
buildDevice marlin verity;
@@ -117,6 +107,16 @@ buildAll() {
#SD835
buildDevice cheryl;
buildDevice mata verity;
+ buildDevice taimen avb;
+ buildDevice walleye avb;
+ #SD845
+ buildDevice crosshatch avb;
+ buildDevice blueline avb;
+ #SD660
+ buildDevice Amber verity;
+ #SD670
+ buildDevice bonito avb;
+ buildDevice sargo avb;
fi;
}
export -f buildAll;
diff --git a/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_cyanogen_msm8916.sh b/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_cyanogen_msm8916.sh
new file mode 100644
index 00000000..4ff4547f
--- /dev/null
+++ b/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_cyanogen_msm8916.sh
@@ -0,0 +1,199 @@
+#!/bin/bash
+cd "$DOS_BUILD_BASE""kernel/cyanogen/msm8916"
+git apply $DOS_PATCHES_LINUX_CVES/0002-Misc_Fixes/ANY/0004.patch
+git apply $DOS_PATCHES_LINUX_CVES/0003-syzkaller-Misc2/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/0003-syzkaller-Misc2/ANY/0004.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0004-No_dir-relax.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0005.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0006.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0007.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0008.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0009.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0010.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0011.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0012.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0013.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0014.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0015.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0016.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0017.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0018.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/0007-Accelerated_AES/3.10+/0011.patch
+git apply $DOS_PATCHES_LINUX_CVES/0007-Accelerated_AES/3.10+/0012.patch
+git apply $DOS_PATCHES_LINUX_CVES/0007-Accelerated_AES/3.10+/0013.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2013-2898/^3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2013-4129/^3.10.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2013-4129/^3.10.3/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2013-4470/^3.12/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2014-9730/^3.18.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-1339/^4.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-5307/^4.2.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-6937/^4.2.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-8746/^4.2.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-5244/^4.6.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-5828/^4.6.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6672/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6693/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6696/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-8394/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0003.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0006.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0610/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0648/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0750/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-5972/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-8281/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-8281/3.10/0003.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-8824/^4.14.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-9711/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-9723/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-9984/^4.11.7/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-11176/^4.11.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-11473/^4.12.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-11600/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-12762/^4.12/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13163/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13168/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13218/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13218/3.10/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13218/3.10/0003.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13218/3.10/0004.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13246/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13305/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13694/^4.12.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13695/^4.12.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-14489/^4.13.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-15837/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16526/^4.13.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16531/^4.13.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16532/^4.13.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16533/^4.13.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16534/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16535/^4.13.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16537/^4.13.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16538/^4.13.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16538/^4.13.11/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16643/3.5-^4.13.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16645/^4.13.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16650/^4.13.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16939/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-17450/^4.14.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-17558/^4.14.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-17805/^4.14.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-17806/^4.14.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-18079/^4.12.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-18203/^4.14.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-18255/^4.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-18360/^4.11.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-18595/^4.14.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-1000252/^4.13.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-1000410/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-1068/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-1068/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-1092/^4.15.15/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-3563/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5332/^4.14.13/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5333/^4.14.13/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5390/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5390/3.10/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5750/^4.14.15/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5858/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5897/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5904/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-7273/^4.15.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-7492/^4.14.7/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-7757/^4.15.7/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-8781/^4.15/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-9383/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-9389/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-9416/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-9439/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-9516/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-9518/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-10021/^4.16/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-10087/^4.13/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-10124/^4.13/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-10675/^4.12.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-10877/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-10879/3.10/0004.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-10880/3.10/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-10881/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-10882/3.10/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-10883/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-10940/^4.16.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11273/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11286/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11832/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11918/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11939/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11987/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-13053/^4.17.3/0001.patch
+#git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-13913/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-14634/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-14734/^4.17.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-15594/^4.18.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-16658/^4.18.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-18021/^4.18.12/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-18710/^4.19/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-20511/^4.18.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-20836/^4.20/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-1000199/^3.18/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2001/^3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2101/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2331/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-3459/^5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-8912/^4.20.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10142/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10491/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10519/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10607/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10622/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-11486/^5.0.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-11884/^5.0.15/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12456/^5.1.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-13631/^5.2.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-14038/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-14040/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-14041/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-14055/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15098/^5.2.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15212/^5.1.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15213/^5.2.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15216/^5.0.14/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15807/^5.1.13/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15926/^5.2.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-17052/^5.3.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-17133/^5.3.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-18806/^5.3.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19066/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19073/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19074/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19524/^5.3.12/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19527/^5.2.10/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19528/^5.3.7/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19528/^5.3.7/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19534/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19536/^5.2.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19965/^5.4.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19966/^5.1.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20054/^5.0.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20054/^5.0.6/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20096/^5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20636/^5.4.12/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-8649/^5.5.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-9383/^5.5.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11565/^5.6.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11608/^5.6.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11609/^5.6.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11668/^5.6.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/Untracked-02/ANY/1035495_0001-cnss-Add-NULL-check-for-PM-related-APIs.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6693/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6696/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0750/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10622/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11608/^5.6.1/0001.patch
+editKernelLocalversion "-dos.p195"
+cd "$DOS_BUILD_BASE"
diff --git a/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_essential_msm8998.sh b/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_essential_msm8998.sh
index 7d544f67..696f26ac 100644
--- a/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_essential_msm8998.sh
+++ b/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_essential_msm8998.sh
@@ -24,7 +24,6 @@ git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6187/^4.6.5/0001.patch
git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6693/ANY/0001.patch
git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6696/ANY/0001.patch
git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-8394/ANY/0001.patch
-git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-9919/^4.8.12/0001.patch
git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0006.patch
git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0009.patch
git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0610/ANY/0001.patch
@@ -89,7 +88,6 @@ git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-16994/^5.0/0001.patch
git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19054/^5.3.11/0001.patch
git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19073/^5.3.11/0001.patch
git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19074/^5.3.11/0001.patch
-git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-8992/^5.5.3/0001.patch
git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11608/^5.6.1/0001.patch
git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6693/ANY/0001.patch
git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6696/ANY/0001.patch
@@ -97,5 +95,5 @@ git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0750/ANY/0001.patch
git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-14875/ANY/0001.patch
git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10622/ANY/0002.patch
git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11608/^5.6.1/0001.patch
-editKernelLocalversion "-dos.p97"
+editKernelLocalversion "-dos.p95"
cd "$DOS_BUILD_BASE"
diff --git a/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_google_msm-4.9.sh b/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_google_msm-4.9.sh
new file mode 100644
index 00000000..3359e414
--- /dev/null
+++ b/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_google_msm-4.9.sh
@@ -0,0 +1,87 @@
+#!/bin/bash
+cd "$DOS_BUILD_BASE""kernel/google/msm-4.9"
+git apply $DOS_PATCHES_LINUX_CVES/0007-Accelerated_AES/3.10+/0016.patch
+git apply $DOS_PATCHES_LINUX_CVES/0007-Accelerated_AES/3.10+/0020.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0024.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0025.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0026.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0027.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0028.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0029.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0030.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0031.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0032.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0033.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0034.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0035.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0036.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0037.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0038.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-7837/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-3695/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0006.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0008.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0009.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0750/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-7477/^4.10.12/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13693/^4.12.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13694/^4.12.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-14875/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-1000252/^4.13.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5897/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-7273/^4.15.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-8043/^4.15.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-9415/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-9462/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-9519/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-13094/^4.17.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-13899/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-13899/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-20855/^4.18.7/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-8912/^4.20.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-9453/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10503/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12378/^5.1.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12455/^5.1.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12456/^5.1.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12614/^5.1.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-14040/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-14104/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-14895/^5.4.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-14896/^5.4.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-16921/^4.17/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-16994/^5.0/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-18809/^5.3.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19052/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19054/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19056/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19057/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19066/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19068/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19073/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19074/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19462/^5.4.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19534/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19965/^5.4.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20096/^5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20636/^5.4.12/0001.patch
+#git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-0067/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-8649/^5.5.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-9383/^5.5.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-10711/^5.7/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11494/^5.6.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11565/^5.6.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11608/^5.6.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11609/^5.6.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11668/^5.6.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-12464/^5.6.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-12653/^5.5.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-12654/^5.5.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-UNKNOWN/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-UNKNOWN/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0750/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-14875/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11608/^5.6.1/0001.patch
+editKernelLocalversion "-dos.p83"
+cd "$DOS_BUILD_BASE"
diff --git a/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_google_wahoo.sh b/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_google_wahoo.sh
new file mode 100644
index 00000000..404653ce
--- /dev/null
+++ b/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_google_wahoo.sh
@@ -0,0 +1,91 @@
+#!/bin/bash
+cd "$DOS_BUILD_BASE""kernel/google/wahoo"
+git apply $DOS_PATCHES_LINUX_CVES/0001-LinuxIncrementals/4.4/4.4.0201-0202.patch --exclude=Makefile
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/0007-Accelerated_AES/3.10+/0016.patch
+git apply $DOS_PATCHES_LINUX_CVES/0007-Accelerated_AES/3.10+/0020.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0003.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0004.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0005.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0006.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0007.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0008.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0009.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0010.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0011.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0012.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0013.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0014.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0015.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0016.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0017.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0018.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0019.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0020.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0021.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0022.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.4/0023.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-7837/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-1583/^4.6.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6187/^4.6.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6693/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6696/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-8394/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0006.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0009.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0610/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0627/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0750/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-9699/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-11065/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-11091/4.4/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13693/^4.12.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13694/^4.12.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-14875/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-14886/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-18061/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-18174/^4.7/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-18204/^4.14.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-1000252/^4.13.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-3575/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5902/4.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5906/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-7273/^4.15.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-8043/^4.15.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-9415/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-13094/^4.17.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-8912/^4.20.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10622/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12378/^5.1.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12456/^5.1.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12614/^5.1.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-14038/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-16994/^5.0/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19052/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19054/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19066/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19073/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19074/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19534/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19965/^5.4.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20096/^5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20636/^5.4.12/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-8649/^5.5.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-9383/^5.5.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11494/^5.6.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11565/^5.6.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11608/^5.6.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11609/^5.6.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11668/^5.6.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-UNKNOWN/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-UNKNOWN/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6693/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6696/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0750/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-14875/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10622/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11608/^5.6.1/0001.patch
+editKernelLocalversion "-dos.p87"
+cd "$DOS_BUILD_BASE"
diff --git a/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_lge_msm8996.sh b/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_lge_msm8996.sh
new file mode 100644
index 00000000..60a442c7
--- /dev/null
+++ b/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_lge_msm8996.sh
@@ -0,0 +1,240 @@
+#!/bin/bash
+cd "$DOS_BUILD_BASE""kernel/lge/msm8996"
+git apply $DOS_PATCHES_LINUX_CVES/0001-LinuxIncrementals/3.18/3.18.0115-0116.patch --exclude=Makefile
+git apply $DOS_PATCHES_LINUX_CVES/0003-syzkaller-Misc2/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/0003-syzkaller-Misc2/ANY/0004.patch
+git apply $DOS_PATCHES_LINUX_CVES/0005-Copperhead-Deny_USB/3.18/0002-Alt2.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0019.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0020.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0022.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0023.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0025.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0026.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0027.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0028.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0029.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0030.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0031.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0032.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0033.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0034.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0035.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0036.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0037.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0040.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0041.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0042.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0043.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0045.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0046.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0050.patch
+git apply $DOS_PATCHES_LINUX_CVES/0007-Accelerated_AES/3.10+/0018.patch
+git apply $DOS_PATCHES_LINUX_CVES/0007-Accelerated_AES/3.10+/0019.patch
+git apply $DOS_PATCHES_LINUX_CVES/0007-Accelerated_AES/3.10+/0023.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2014-9900/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-1339/^4.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-2041/^3.19/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-2042/^3.19/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-5257/^4.2.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-7515/^4.4/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-7566/^4.4.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-7837/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-7884/^4.3.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-7885/^4.3.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-8104/^4.2.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-8844/^4.3.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-8845/^4.4.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-8953/^4.2.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-2069/^4.4.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-2188/^4.5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-2188/^4.5.1/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-2549/^4.4.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-2782/^4.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-3136/^4.5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-3137/^4.5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-3138/^4.5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-3140/^4.5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-3857/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-5244/^4.6.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6130/^4.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6187/^4.6.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6672/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6693/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6696/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-8394/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-8646/^4.3.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-GadgetFS/ANY/0007.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-GadgetFS/ANY/0008.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-GadgetFS/ANY/0009.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-GadgetFS/ANY/0010.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0005.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0006.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0009.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0610/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0750/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-5669/^4.9.12/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-5972/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-6001/^4.9.7/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-6348/^4.9.13/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-8924/^4.10.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-8925/^4.10.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-10810/^4.11.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-11031/3.18/0001.patch
+#git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13162/3.18/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13218/3.18/0009.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13220/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13246/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13693/^4.12.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13694/^4.12.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-15102/^4.8.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16650/^4.13.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-18360/^4.11.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-1000252/^4.13.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-1000371/^4.11.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5390/3.18/0003.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5390/3.18/0004.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5832/3.18/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5849/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5897/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5904/3.18/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-7273/^4.15.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-8043/^4.15.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-8087/^4.15.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-9363/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-9415/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-9463/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-9515/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-9516/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-10881/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-10883/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11832/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11939/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11960/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11984/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11986/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11987/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11988/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11988/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-13053/^4.17.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-13094/^4.17.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-13406/^4.17.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-13900/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-13912/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-13913/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-13914/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-13919/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-14734/^4.17.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-15594/^4.18.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-16658/^4.18.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-18021/^4.18.12/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-18690/^4.17/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-18710/^4.19/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-19985/^4.19.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-20511/^4.18.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-20836/^4.20/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-1999/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2000/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2000/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0003.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0004.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0005.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0006.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0007.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0008.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0009.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0010.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0011.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0012.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0013.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2101/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2287/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2323/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2331/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2333/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2333/ANY/0003.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2341/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2345/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-3459/^5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-3460/^5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-8912/^4.20.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10142/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10486/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10491/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10503/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10515/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10524/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10524/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10524/ANY/0003.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10529/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10544/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10555/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10567/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10571/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10622/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10638/^4.1/0003.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-11486/^5.0.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-11833/^5.1.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-11884/^5.0.15/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12378/^5.1.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12456/^5.1.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12614/^5.1.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12818/^4.20.15/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12819/^5.0/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-13631/^5.2.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-14038/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-14040/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-14041/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-14053/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-14055/ANY/0001.patch
+#git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-14070/ANY/0006.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15098/^5.2.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15212/^5.1.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15213/^5.2.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15214/^5.0.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15216/^5.0.14/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15666/^5.0.19/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15807/^5.1.13/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15916/^5.0.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15926/^5.2.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15927/^4.20.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-16994/^5.0/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-17052/^5.3.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-17133/^5.3.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-18806/^5.3.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19052/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19054/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19066/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19073/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19074/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19524/^5.3.12/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19527/^5.2.10/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19528/^5.3.7/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19528/^5.3.7/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19534/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19536/^5.2.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19965/^5.4.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19966/^5.1.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20054/^5.0.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20054/^5.0.6/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20096/^5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20636/^5.4.12/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-3610/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-8649/^5.5.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-9383/^5.5.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-10720/^5.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11494/^5.6.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11565/^5.6.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11608/^5.6.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11609/^5.6.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11668/^5.6.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6693/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6696/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0610/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0750/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10622/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11608/^5.6.1/0001.patch
+editKernelLocalversion "-dos.p236"
+cd "$DOS_BUILD_BASE"
diff --git a/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_oneplus_msm8994.sh b/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_oneplus_msm8994.sh
new file mode 100644
index 00000000..87ed2669
--- /dev/null
+++ b/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_oneplus_msm8994.sh
@@ -0,0 +1,169 @@
+#!/bin/bash
+cd "$DOS_BUILD_BASE""kernel/oneplus/msm8994"
+git apply $DOS_PATCHES_LINUX_CVES/0002-Misc_Fixes/ANY/0004.patch
+git apply $DOS_PATCHES_LINUX_CVES/0003-syzkaller-Misc2/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/0003-syzkaller-Misc2/ANY/0004.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0004-No_dir-relax.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0005.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0006.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0007.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0008.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0009.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0010.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0011.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0012.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0013.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0014.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0015.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0016.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0017.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.10/0018.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2013-2898/^3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2013-4129/^3.10.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2013-4129/^3.10.3/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2013-4470/^3.12/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2014-9730/^3.18.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2014-9904/^3.17/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-1339/^4.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-5307/^4.2.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-6937/^4.2.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-8746/^4.2.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-5244/^4.6.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-5828/^4.6.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6672/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6693/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6696/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-8394/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0003.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0006.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0648/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0750/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-8234/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-8243/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-8281/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-8281/3.10/0003.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-8824/^4.14.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-9723/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-9984/^4.11.7/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-11176/^4.11.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-11473/^4.12.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-11600/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-12762/^4.12/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13168/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13694/^4.12.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13695/^4.12.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-14489/^4.13.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16526/^4.13.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16532/^4.13.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16537/^4.13.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16538/^4.13.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16538/^4.13.11/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16645/^4.13.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16650/^4.13.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-17450/^4.14.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-17805/^4.14.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-18079/^4.12.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-18203/^4.14.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-18255/^4.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-18306/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-18360/^4.11.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-1000252/^4.13.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-3563/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-3584/ANY/0001.patch
+#git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-3585/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-3597/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5332/^4.14.13/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5333/^4.14.13/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5750/^4.14.15/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5825/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5858/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5864/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5897/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5897/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5904/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5908/3.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-7273/^4.15.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-7492/^4.14.7/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-7757/^4.15.7/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-8781/^4.15/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-9389/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-9516/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-9518/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-10021/^4.16/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-10087/^4.13/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-10124/^4.13/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-10675/^4.12.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-10940/^4.16.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11265/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11286/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11832/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11919/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11939/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11987/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-12011/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-13053/^4.17.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-13913/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-14734/^4.17.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-15594/^4.18.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-16658/^4.18.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-18021/^4.18.12/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-18710/^4.19/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-20511/^4.18.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-20836/^4.20/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2101/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2331/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-3459/^5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-8912/^4.20.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10142/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10491/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10519/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10607/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10622/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-11486/^5.0.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-11884/^5.0.15/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12456/^5.1.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-13631/^5.2.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-14038/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-14040/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-14041/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-14055/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15098/^5.2.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15212/^5.1.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15213/^5.2.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15216/^5.0.14/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15807/^5.1.13/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15926/^5.2.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-17052/^5.3.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-17133/^5.3.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-18806/^5.3.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19066/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19073/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19074/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19524/^5.3.12/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19527/^5.2.10/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19528/^5.3.7/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19528/^5.3.7/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19534/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19536/^5.2.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19965/^5.4.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19966/^5.1.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20054/^5.0.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20054/^5.0.6/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20096/^5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20636/^5.4.12/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-8649/^5.5.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-9383/^5.5.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11565/^5.6.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11608/^5.6.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11609/^5.6.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11668/^5.6.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6693/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6696/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0750/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10622/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11608/^5.6.1/0001.patch
+editKernelLocalversion "-dos.p165"
+cd "$DOS_BUILD_BASE"
diff --git a/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_oneplus_msm8996.sh b/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_oneplus_msm8996.sh
new file mode 100644
index 00000000..c554848c
--- /dev/null
+++ b/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_oneplus_msm8996.sh
@@ -0,0 +1,181 @@
+#!/bin/bash
+cd "$DOS_BUILD_BASE""kernel/oneplus/msm8996"
+git apply $DOS_PATCHES_LINUX_CVES/0003-syzkaller-Misc2/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/0003-syzkaller-Misc2/ANY/0004.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0019.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0020.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0022.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0023.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0025.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0026.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0027.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0028.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0029.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0030.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0031.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0032.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0033.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0034.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0035.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0036.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0037.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0040.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0041.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0042.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0043.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0045.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0046.patch
+git apply $DOS_PATCHES_LINUX_CVES/0006-Copperhead-Kernel_Hardening/3.18/0050.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2014-9900/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-1339/^4.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-2041/^3.19/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-2042/^3.19/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-5257/^4.2.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-7515/^4.4/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-7566/^4.4.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-7837/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-7884/^4.3.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-7885/^4.3.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-8104/^4.2.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-8844/^4.3.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-8845/^4.4.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-8953/^4.2.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-2069/^4.4.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-2188/^4.5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-2188/^4.5.1/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-2549/^4.4.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-2782/^4.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-3136/^4.5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-3137/^4.5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-3138/^4.5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-3140/^4.5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-3672/^4.5.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-3857/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-5244/^4.6.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6130/^4.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6187/^4.6.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6672/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6693/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6696/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-8394/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-8646/^4.3.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-GadgetFS/ANY/0003.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-GadgetFS/ANY/0007.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-GadgetFS/ANY/0008.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-GadgetFS/ANY/0009.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-GadgetFS/ANY/0010.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0005.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0006.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0009.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0610/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0750/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-5669/^4.9.12/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-5972/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-6001/^4.9.7/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-6348/^4.9.13/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-8924/^4.10.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-8925/^4.10.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-11031/3.18/0001.patch
+#git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13162/3.18/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13218/3.18/0009.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13220/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13246/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13693/^4.12.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13694/^4.12.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-14883/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-15102/^4.8.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16532/^4.13.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16914/^4.14.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-18360/^4.11.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-1000252/^4.13.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-1000371/^4.11.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5825/3.18/0003.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-5897/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-7273/^4.15.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-8043/^4.15.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-8087/^4.15.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-9415/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-13094/^4.17.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-15594/^4.18.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-18690/^4.17/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-18710/^4.19/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-19985/^4.19.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-1999/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0003.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0004.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0005.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0006.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0007.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0008.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0009.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0010.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0011.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0012.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2054/ANY/0013.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-2101/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-3459/^5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-3460/^5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-8912/^4.20.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10142/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10622/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10638/^4.1/0003.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-11486/^5.0.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-11833/^5.1.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-11884/^5.0.15/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12378/^5.1.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12456/^5.1.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12614/^5.1.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12818/^4.20.15/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12819/^5.0/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-13631/^5.2.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15098/^5.2.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15212/^5.1.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15213/^5.2.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15214/^5.0.10/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15216/^5.0.14/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15666/^5.0.19/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15807/^5.1.13/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15916/^5.0.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15926/^5.2.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-15927/^4.20.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-16994/^5.0/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-17052/^5.3.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-17133/^5.3.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-18806/^5.3.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19052/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19054/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19066/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19073/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19074/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19524/^5.3.12/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19527/^5.2.10/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19528/^5.3.7/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19528/^5.3.7/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19534/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19536/^5.2.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19965/^5.4.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19966/^5.1.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20054/^5.0.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20054/^5.0.6/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20096/^5.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-20636/^5.4.12/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-8649/^5.5.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-9383/^5.5.6/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-10720/^5.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11494/^5.6.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11565/^5.6.2/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11608/^5.6.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11609/^5.6.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11668/^5.6.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6693/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-6696/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0610/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0750/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-14883/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-10622/ANY/0002.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11608/^5.6.1/0001.patch
+editKernelLocalversion "-dos.p177"
+cd "$DOS_BUILD_BASE"
diff --git a/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_samsung_universal9810.sh b/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_samsung_universal9810.sh
new file mode 100644
index 00000000..f4543ed3
--- /dev/null
+++ b/Scripts/LineageOS-17.1/CVE_Patchers/android_kernel_samsung_universal9810.sh
@@ -0,0 +1,49 @@
+#!/bin/bash
+cd "$DOS_BUILD_BASE""kernel/samsung/universal9810"
+git apply $DOS_PATCHES_LINUX_CVES/0001-LinuxIncrementals/4.9/4.9.0218-0219.patch --exclude=Makefile
+git apply $DOS_PATCHES_LINUX_CVES/0007-Accelerated_AES/3.10+/0016.patch
+git apply $DOS_PATCHES_LINUX_CVES/0007-Accelerated_AES/3.10+/0020.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0024.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0029.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0030.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0031.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0032.patch
+git apply $DOS_PATCHES_LINUX_CVES/0008-Graphene-Kernel_Hardening/4.9/0033.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2015-7837/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2016-3695/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0006.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0008.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-16USB/ANY/0009.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0627/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0750/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-7477/^4.10.12/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-11036/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13693/^4.12.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-13694/^4.12.9/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-1000252/^4.13.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-3575/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-7273/^4.15.4/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-8043/^4.15.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-11939/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-13094/^4.17.3/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-13917/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2018-20855/^4.18.7/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-8912/^4.20.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-9453/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12378/^5.1.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12455/^5.1.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-12456/^5.1.5/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-16921/^4.17/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-16994/^5.0/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19054/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19073/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19074/^5.3.11/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2019-19462/^5.4.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-0067/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-10711/^5.7/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11608/^5.6.1/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-12464/^5.6.8/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2017-0750/ANY/0001.patch
+git apply $DOS_PATCHES_LINUX_CVES/CVE-2020-11608/^5.6.1/0001.patch
+editKernelLocalversion "-dos.p45"
+cd "$DOS_BUILD_BASE"
diff --git a/Scripts/LineageOS-17.1/Functions.sh b/Scripts/LineageOS-17.1/Functions.sh
index ce60f716..dec4b2b7 100644
--- a/Scripts/LineageOS-17.1/Functions.sh
+++ b/Scripts/LineageOS-17.1/Functions.sh
@@ -18,7 +18,7 @@
#Last verified: 2020-04-14
patchAllKernels() {
- startPatcher "kernel_essential_msm8998 kernel_fairphone_msm8974 kernel_google_marlin kernel_google_msm kernel_htc_msm8974 kernel_lge_g3 kernel_lge_mako kernel_lge_msm8974 kernel_moto_shamu kernel_motorola_msm8974 kernel_motorola_msm8996 kernel_razer_msm8998 kernel_samsung_jf kernel_yandex_sdm660 kernel_zuk_msm8996";
+ startPatcher "kernel_cyanogen_msm8916 kernel_essential_msm8998 kernel_fairphone_msm8974 kernel_google_marlin kernel_google_msm kernel_google_msm-4.9 kernel_google_wahoo kernel_htc_msm8974 kernel_lge_g3 kernel_lge_mako kernel_lge_msm8974 kernel_lge_msm8996 kernel_moto_shamu kernel_motorola_msm8974 kernel_motorola_msm8996 kernel_oneplus_msm8994 kernel_oneplus_msm8996 kernel_razer_msm8998 kernel_samsung_jf kernel_samsung_universal9810 kernel_yandex_sdm660 kernel_zuk_msm8996";
}
export -f patchAllKernels;
@@ -57,6 +57,8 @@ buildAll() {
if [ "$DOS_OPTIMIZE_IMAGES" = true ]; then optimizeImagesRecursive "$DOS_BUILD_BASE"; fi;
#SDS4P
buildDevice mako;
+ #SD410
+ buildDevice crackling;
#SD600
buildDevice jfltexx;
#SD800
@@ -69,8 +71,13 @@ buildAll() {
buildDevice victara;
#SD805
buildDevice shamu verity;
+ #SD810
+ buildDevice oneplus2;
#SD820
+ buildDevice h850; #failed to find dex jar path for module "WfdCommon"
+ buildDevice us996;
buildDevice griffin;
+ buildDevice oneplus3 verity;
buildDevice z2_plus verity; #broken
#SD821
buildDevice marlin verity;
@@ -78,8 +85,18 @@ buildAll() {
#SD835
buildDevice cheryl;
buildDevice mata verity;
+ buildDevice taimen avb;
+ buildDevice walleye avb;
+ #SD845
+ buildDevice crosshatch avb;
+ buildDevice blueline avb;
#SD660
buildDevice Amber verity;
+ #SD670
+ buildDevice bonito avb;
+ buildDevice sargo avb;
+ #Exynos
+ buildDevice starlte;
}
export -f buildAll;
diff --git a/Scripts/LineageOS-17.1/Patch.sh b/Scripts/LineageOS-17.1/Patch.sh
index 55fb6889..3e6bd752 100644
--- a/Scripts/LineageOS-17.1/Patch.sh
+++ b/Scripts/LineageOS-17.1/Patch.sh
@@ -206,8 +206,8 @@ echo "PRODUCT_PACKAGES += vendor.lineage.trust@1.0-service" >> packages.mk; #All
#
#START OF DEVICE CHANGES
#
-enterAndClear "device/essential/mata";
-patch -p1 < "$DOS_PATCHES/android_device_essential_mata/0001-drop_usb_hal.patch"; #Fix MTP
+#enterAndClear "device/cyanogen/msm8916-common";
+#awk -i inplace '!/TARGET_RELEASETOOLS_EXTENSIONS/' BoardConfigCommon.mk; #broken releasetools
enterAndClear "device/google/marlin";
git revert --no-edit 777dafa35f185b1f501e3c80b8ab495191583444; #remove some carrier blobs
@@ -233,12 +233,24 @@ git revert --no-edit 9a5739e66d0a44347881807c0cc44d7c318c02b8; #fix nfc path
enterAndClear "device/lge/mako";
echo "pmf=0" >> wifi/wpa_supplicant_overlay.conf; #Wi-Fi chipset doesn't support PMF
+enterAndClear "device/lge/msm8996-common";
+sed -i '3itypeattribute hwaddrs misc_block_device_exception;' sepolicy/hwaddrs.te;
+
#enterAndClear "device/moto/shamu";
#git revert --no-edit 05fb49518049440f90423341ff25d4f75f10bc0c; #restore releasetools #TODO
+enterAndClear "device/oneplus/oneplus2";
+sed -i 's|etc/permissions/qti_libpermissions.xml|vendor/etc/permissions/qti_libpermissions.xml|' proprietary-files.txt;
+
+enterAndClear "device/oppo/common";
+awk -i inplace '!/TARGET_RELEASETOOLS_EXTENSIONS/' BoardConfigCommon.mk; #disable releasetools to fix delta ota generation
+
enterAndClear "kernel/google/marlin";
git revert --no-edit dd4a454f080f60cc7c4f5cc281a48cba80947baf; #Resurrect dm-verity
+enterAndClear "kernel/google/wahoo";
+sed -i 's/asm(SET_PSTATE_UAO(1));/asm(SET_PSTATE_UAO(1)); return 0;/' arch/arm64/mm/fault.c; #fix build with CONFIG_ARM64_UAO
+
enter "vendor/google";
echo "" > atv/atv-common.mk;
@@ -258,21 +270,32 @@ deblobAudio;
#Verity
cat "$DOS_SIGNING_KEYS/Amber/verity.x509.pem" >> "kernel/yandex/sdm660/certs/verity.x509.pem";
+cat "$DOS_SIGNING_KEYS/blueline/verity.x509.pem" >> "kernel/google/msm-4.9/certs/verity.x509.pem";
+cat "$DOS_SIGNING_KEYS/bonito/verity.x509.pem" >> "kernel/google/msm-4.9/certs/verity.x509.pem";
cat "$DOS_SIGNING_KEYS/cheryl/verity.x509.pem" >> "kernel/razer/msm8998/certs/verity.x509.pem";
+cat "$DOS_SIGNING_KEYS/crosshatch/verity.x509.pem" >> "kernel/google/msm-4.9/certs/verity.x509.pem";
cat "$DOS_SIGNING_KEYS/mata/verity.x509.pem" >> "kernel/essential/msm8998/certs/verity.x509.pem";
+cat "$DOS_SIGNING_KEYS/sargo/verity.x509.pem" >> "kernel/google/msm-4.9/certs/verity.x509.pem";
+cat "$DOS_SIGNING_KEYS/starlte/verity.x509.pem" >> "kernel/samsung/universal9810/certs/verity.x509.pem";
+cat "$DOS_SIGNING_KEYS/taimen/verity.x509.pem" >> "kernel/google/wahoo/certs/verity.x509.pem";
+cat "$DOS_SIGNING_KEYS/walleye/verity.x509.pem" >> "kernel/google/wahoo/certs/verity.x509.pem";
cat "$DOS_SIGNING_KEYS/z2_plus/verity.x509.pem" >> "kernel/zuk/msm8996/certs/verity.x509.pem";
cp "$DOS_SIGNING_KEYS/Amber/verifiedboot_relkeys.der.x509" "kernel/yandex/sdm660/verifiedboot_Amber_dos_relkeys.der.x509";
cp "$DOS_SIGNING_KEYS/cheryl/verifiedboot_relkeys.der.x509" "kernel/razer/msm8998/verifiedboot_cheryl_dos_relkeys.der.x509";
cp "$DOS_SIGNING_KEYS/griffin/verifiedboot_relkeys.der.x509" "kernel/motorola/msm8996/verifiedboot_griffin_dos_relkeys.der.x509";
cp "$DOS_SIGNING_KEYS/marlin/verifiedboot_relkeys.der.x509" "kernel/google/marlin/verifiedboot_marlin_dos_relkeys.der.x509";
+cp "$DOS_SIGNING_KEYS/oneplus3/verifiedboot_relkeys.der.x509" "kernel/oneplus/msm8996/verifiedboot_oneplus3_dos_relkeys.der.x509";
cp "$DOS_SIGNING_KEYS/sailfish/verifiedboot_relkeys.der.x509" "kernel/google/marlin/verifiedboot_sailfish_dos_relkeys.der.x509";
cp "$DOS_SIGNING_KEYS/z2_plus/verifiedboot_relkeys.der.x509" "kernel/zuk/msm8996/verifiedboot_z2_plus_dos_relkeys.der.x509";
#Fix broken options enabled by hardenDefconfig()
sed -i "s/CONFIG_DEBUG_RODATA=y/# CONFIG_DEBUG_RODATA is not set/" kernel/google/msm/arch/arm/configs/lineageos_*_defconfig; #Breaks on compile
sed -i "s/CONFIG_DEBUG_RODATA=y/# CONFIG_DEBUG_RODATA is not set/" kernel/lge/mako/arch/arm/configs/lineageos_*_defconfig; #Breaks on compile
+sed -i "s/CONFIG_STRICT_MEMORY_RWX=y/# CONFIG_STRICT_MEMORY_RWX is not set/" kernel/lge/msm8996/arch/arm64/configs/lineageos_*_defconfig; #Breaks on compile
sed -i "s/CONFIG_DEBUG_RODATA=y/# CONFIG_DEBUG_RODATA is not set/" kernel/motorola/msm8974/arch/arm/configs/lineageos_*_defconfig; #Breaks on compile
sed -i "s/CONFIG_STRICT_MEMORY_RWX=y/# CONFIG_STRICT_MEMORY_RWX is not set/" kernel/motorola/msm8996/arch/arm64/configs/*_defconfig; #Breaks on compile
+sed -i "s/CONFIG_STRICT_MEMORY_RWX=y/# CONFIG_STRICT_MEMORY_RWX is not set/" kernel/oneplus/msm8996/arch/arm64/configs/lineageos_*_defconfig; #Breaks on compile
+sed -i "s/CONFIG_RANDOMIZE_BASE=y/# CONFIG_RANDOMIZE_BASE is not set/" kernel/samsung/universal9810/arch/arm64/configs/*_defconfig; #Breaks on compile
sed -i 's/YYLTYPE yylloc;/extern YYLTYPE yylloc;/' kernel/*/*/scripts/dtc/dtc-lexer.l*; #Fix builds with GCC 10
#