Move __system_properties_reload to LIBC from LIBC_PLATFORM

The zygote cannot have visiblity to LIBC_PLATFORM methods. Therefore,
move __system_properties_reload to LIBC, and rename it
__system_properties_zygote_reload, and indicate in comments that it
should not be used by non-zygote apps

Bug: 291814949
Test: atest CtsBionicRootTestCases
Change-Id: Iee8fa0c76b740543c05a433393f2f4bef36d6d3d
diff --git a/libc/system_properties/system_properties.cpp b/libc/system_properties/system_properties.cpp
index e0b771c..9dd5e35 100644
--- a/libc/system_properties/system_properties.cpp
+++ b/libc/system_properties/system_properties.cpp
@@ -382,8 +382,8 @@
     } else if (is_override) {
       // We already wrote the ro.*, but appcompat_override.ro.* should override that. We don't
       // need to do the usual dirty bit setting, as this only happens during the init process,
-      // before any readers are started.
-      CHECK(getpid() == 1);
+      // before any readers are started. Check that only init or root can write appcompat props.
+      CHECK(getpid() == 1 || getuid() == 0);
       atomic_thread_fence(memory_order_release);
       strlcpy(other_pi->value, value, valuelen + 1);
     }