Index: busybox-1.23.1/util-linux/umount.c
===================================================================
--- busybox-1.23.1.orig/util-linux/umount.c
+++ busybox-1.23.1/util-linux/umount.c
@@ -142,6 +142,14 @@ int umount_main(int argc UNUSED_PARAM, c
 						break;
 			}
 		}
+
+		// For umount -a, skip umounting /proc, as systems may symlink
+		// /etc/mtab to /proc/mounts
+		if (m && (opt & OPT_ALL) && (strcmp(m->dir,"/proc") == 0)) {
+			m = m->next;
+			continue;
+		}
+
 		// If we couldn't find this sucker in /etc/mtab, punt by passing our
 		// command line argument straight to the umount syscall.  Otherwise,
 		// umount the directory even if we were given the block device.
