[LG V20 Guides, News, & Discussion] emdroidle:
"disk destroyer" is a new one to me, though I can see why some might refer to it that way.

What is being done here is `dd` is simply copying "abootbackup.img" to "/dev/block/bootdevice/by-name/aboot". This is extremely hazardous since the latter is the last stage of the Android bootloader.

The key portion of "DirtySanta" is replacing aboot with a debug unlocked one from a US-996. The above is undoing that. The danger is if the wrong aboot is flashed you've suddenly got a fairly hard brick.

Meanwhile `sync` is a perfectly safe command. `sync` simply tells Unix to flush all write caches. Traditionally the Unix emergency reboot procedure was to run `sync` three times, then press the hard power switch. In this case I was using it to be certain everything was written to flash before the procedure was complete. TWRP's shutdown procedure should itself tell the kernel to finish writing everything to flash before shutting down, but I'm being paranoid here because it is very important.

Now have them added to the main instructions. I strongly recommend the method of using TWRP since it seems the Linux kernel is rather more reliable at finishing writing data than the debug bootloader is. Also be careful, this process involves rewriting the bootloader, a hazardous operation. (I've successfully done this before, and it was nerve-wracking)

If only I'd been on sooner... They might be cross-compatible from the angle of them all being for the H990ds and LGUP being willing to accept them all as the same, but the problem is the versions likely aren't compatible with each other.

Nope. :( Best approach would have been to retrieve the appropriate aboot from the KDZ file (utilities exist which can do this).

Yes, going through menus: Settings -> General -> About phone -> Common -> Software info -> Android security patch level

As long as that date is November 1, 2016 or earlier it should be vulnerable to CVE-2016-5195/DirtyCOW and this process should work.

Not quite, some work still needs to be done before this is true. My small branch off the LineageOS kernel originates from October 30. If you had a LineageOS release for the V20 from October 30, it would be at the exact same point as any other device.

The LineageOS folks have done quite a lot of changes since my branch and those need to be merged in. Problem is rather a lot of suboptimal changes have been done in LineageOS's tree, so I'm going to have to fix a bunch of things in this process.

The major good news on this front is the root of my source tree is joined to LineageOS's tree, so merging changes in shouldn't be too difficult. Apparently the LineageOS tree has a Bluetooth driver which has much better AOSP compatibility than LGE's.

I've got plans, the difficulty is finding time to implement them. I also consider the issue of firmware updates a higher priority.

Maybe. One method would be to find an equivalent of CVE-2016-5195/DirtyCOW on later kernels, that could be used to replicate the procedure on a later update. Problem with OTA updates is those will almost certainly replace the DirtySanta bootloader with the stock one, and the stock one won't allow unsigned kernels.

More realistically, the format of KDZ files is mostly known. As such it should be possible to write a utility which selectively writes KDZ files to the phone. This utility would then just install /system, /firmware, and ignore the rest of the KDZ file. This though requires someone to write such a utility. For me that means figuring out more about how TWRP works; I'm up for the task, but have no timeframe for completion.

I've posted a link to my source tree. The likely adaptations needed for the H990TR should be quite small, you just need someone who knows how to build kernels. Once the thread about the technical details exists I'll even be discussing how to do it oneself. Problem is there are a bunch of requests and my time is limited.