#!/usr/bin/env bash # SPDX-License-Identifier: LGPL-2.1-or-later set -eu set -o pipefail cpp="$1" filesystems_gperf="$2" shift 2 includes="" for i in "$@"; do includes="$includes -include $i" done error=false # shellcheck disable=SC2086 for fs in $($cpp -dM $includes - /dev/null; then # STACK_END_MAGIC doesn't refer to a filesystem # mtd_inode was removed in 2015 # futexfs was removed in 2018 if [[ "$fs" =~ ^(STACK_END_MAGIC|MTD_INODE_FS_MAGIC|FUTEXFS_SUPER_MAGIC)$ ]]; then continue fi echo "Filesystem found in kernel header but not in $(basename "$filesystems_gperf"): $fs"; error=true fi done if $error; then exit 1 fi