0,
 };
 
+static const char * const procfs__known_mountpoints[] = {
+       "/proc",
+       0,
+};
+
 struct fs {
        const char              *name;
        const char * const      *mounts;
 };
 
 enum {
-       FS__SYSFS = 0,
+       FS__SYSFS  = 0,
+       FS__PROCFS = 1,
 };
 
 static struct fs fs__entries[] = {
                .mounts = sysfs__fs_known_mountpoints,
                .magic  = SYSFS_MAGIC,
        },
+       [FS__PROCFS] = {
+               .name   = "proc",
+               .mounts = procfs__known_mountpoints,
+               .magic  = PROC_SUPER_MAGIC,
+       },
 };
 
 static bool fs__read_mounts(struct fs *fs)
        return fs__mountpoint(idx);     \
 }
 
-FS__MOUNTPOINT(sysfs, FS__SYSFS);
+FS__MOUNTPOINT(sysfs,  FS__SYSFS);
+FS__MOUNTPOINT(procfs, FS__PROCFS);