diff --git a/src/core/support/env_linux.c b/src/core/support/env_linux.c
index 183bcd2bd0ae185caaab7ee0024d71517159fc2e..7bfd8415f8c91716282f5aae196d1d559e834165 100644
--- a/src/core/support/env_linux.c
+++ b/src/core/support/env_linux.c
@@ -49,11 +49,19 @@
 
 #include "src/core/support/string.h"
 
+/* Declare weak symbols for versions of secure_getenv that *may* be
+ * on a users machine. Older libc's call this __secure_getenv, even
+ * older don't support the functionality.
+ *
+ * If a symbol is not present, these will be equal to NULL.
+ */
 char *__attribute__((weak)) secure_getenv(const char *name);
 char *__attribute__((weak)) __secure_getenv(const char *name);
 
 char *gpr_getenv(const char *name) {
   static char *(*getenv_func)(const char *) = secure_getenv;
+  /* Check to see which getenv variant is supported (go from most
+   * to least secure */
   if (getenv_func == NULL) {
     getenv_func = __secure_getenv;
     if (getenv_func == NULL) {