[OnePlus 7 Pro ROMs, Kernels, Recoveries, & Other D] anupritaisno1:
There were a lot of changes in this build and discussion about what they do is really needed

Rmnet accelerator driver is a driver by Qualcomm to increase internet speed (well, kind of). It was always present on kernels like kirisakura and arter kernel. It wasn't added to glassrom because it caused CFI failures until very recently

Memory initialization: following glassrom's original post in 2019 about memory initialization, memory initialization is now made stricter

This post will only talk about init_on_free as it is used for hardening and finding bugs. Init_on_alloc is redundant and largely defensive programming

init_on_free basically makes sure ram is zeroed out when it is freed and you need this. Firstly glassrom zeroes out all ram every boot to make sure that there is no data leak from ram at boot (along with forcing full hardware resets every reboot). Traditionally windows has done something similar at boot for security reasons but they do it mostly to clear bitlocker secrets and others from ram. In simple words. When the kernel says that it is done with a certain part of ram it zeroes it

Now why is this important? Well the zeroing itself is not important at all. There are 2 reasons to use zero as a value however:

Zero is a very "natural" value. It is unlikely to break any code relying on undefined behavior

Zero is just easier to verify. A mere 5-10 lines of code is sufficient to implement verification

In some cases when there are programming errors your program can write to freed memory. Most operating systems will be smart and kill the program in most cases but what if the operating system itself has the bad access? Now things get a little tricky. The glassrom kernel verifies that that ram has been zeroed out. The logic is simple: if you verify that data you zeroed was actually zeroed and then bad code tries to write to freed memory the ram area will fail the zero after free check and the kernel will immediately crash itself to tell you that something is wrong

The hardening for the str/mem functions is just -D_FORTIFY_SOURCE=2. Beware. This option can cause serious issues and boot failures. It should only be enabled after sufficient testing has been done on a given device

Yes, many people say that if somebody takes your phone adding a password to turn off things like WiFi, etc is useless but we added the feature in anyway. This is because there are other ways quicksettings on locked device can be abused than just a thief stealing your phone. Example somebody could subject the device to a rogue WiFi network by enabling WiFi on locked screen or cause you to incur unnecessary charges as your nosey friend enabled hotspot behind your back

The safe volume warning was removed because it frequently pops up when users are driving and this can cause a serious hazard especially because it distracts the user while driving. It is already required to disable the feature in the US and the hazards that the feature can expose the user to are real. The user should instead be responsible and not raise the volume beyond a certain limit

Chromium 84 has build errors. If you ignore the build errors you'll see errors in the system log. This is why I decided to not ship chromium 84 as the webview in this release

Glassrom now has assertion checks for boot, bootloader and radio on top of vendor image checks. Flashing a custom kernel may trip the boot image assertions and on boot you may see a "there is an internal problem with your device" error. You can safely ignore this message. In most cases support will not be refused for a custom kernel but you are asked to test against the stock kernel first

If you haven't upgraded to chromium 84 yet I suggest you hold off the upgrade for at least 2-3 weeks