mirror of
https://github.com/archr-linux/Arch-R.git
synced 2026-07-12 18:19:42 -07:00
Fix audit-build.sh: use /boot/config-* as primary kernel config source
With CONFIG_IKCONFIG=n (correct for production), /proc/config.gz is not available. The script now reads /boot/config-$(uname -r) as primary source and falls back to /proc/config.gz only if IKCONFIG is enabled. Also removed FRAME_POINTER check (ARM64 forces it via Kconfig select, checking if it's disabled always fails) — now shown as informational. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
+15
-4
@@ -33,23 +33,34 @@ echo "========================================"
|
||||
|
||||
echo ""
|
||||
echo "=== 1. KERNEL DEBUG FLAGS ==="
|
||||
if [ -f /proc/config.gz ]; then
|
||||
# Primary: /boot/config-* (always present)
|
||||
# Fallback: /proc/config.gz (only if CONFIG_IKCONFIG=y, disabled in production)
|
||||
KCONF_FILE="/boot/config-$(uname -r)"
|
||||
if [ -f "$KCONF_FILE" ]; then
|
||||
KCONF=$(cat "$KCONF_FILE")
|
||||
echo " Source: $KCONF_FILE"
|
||||
elif [ -f /proc/config.gz ]; then
|
||||
KCONF=$(zcat /proc/config.gz)
|
||||
echo " Source: /proc/config.gz (IKCONFIG enabled — consider disabling for production)"
|
||||
else
|
||||
KCONF=""
|
||||
warn "No kernel config found (neither /boot/config-* nor /proc/config.gz)"
|
||||
fi
|
||||
|
||||
if [ -n "$KCONF" ]; then
|
||||
check "DEBUG_KERNEL" "not set" "$(echo "$KCONF" | grep -c CONFIG_DEBUG_KERNEL=y | sed 's/1/SET/;s/0/not set/')"
|
||||
check "LOCKDEP" "not set" "$(echo "$KCONF" | grep -c CONFIG_LOCKDEP=y | sed 's/1/SET/;s/0/not set/')"
|
||||
check "KASAN" "not set" "$(echo "$KCONF" | grep -c CONFIG_KASAN=y | sed 's/1/SET/;s/0/not set/')"
|
||||
check "KMEMLEAK" "not set" "$(echo "$KCONF" | grep -c CONFIG_KMEMLEAK=y | sed 's/1/SET/;s/0/not set/')"
|
||||
check "FTRACE" "not set" "$(echo "$KCONF" | grep -c CONFIG_FTRACE=y | sed 's/1/SET/;s/0/not set/')"
|
||||
check "SCHEDSTATS" "not set" "$(echo "$KCONF" | grep -c CONFIG_SCHEDSTATS=y | sed 's/1/SET/;s/0/not set/')"
|
||||
check "FRAME_POINTER" "not set" "$(echo "$KCONF" | grep -c CONFIG_FRAME_POINTER=y | sed 's/1/SET/;s/0/not set/')"
|
||||
check "PROFILING" "not set" "$(echo "$KCONF" | grep -c CONFIG_PROFILING=y | sed 's/1/SET/;s/0/not set/')"
|
||||
|
||||
echo ""
|
||||
echo " Kernel Timer: $(echo "$KCONF" | grep CONFIG_HZ= | head -1)"
|
||||
echo " Preempt: $(echo "$KCONF" | grep CONFIG_PREEMPT= | head -1)"
|
||||
echo " Optimize: $(echo "$KCONF" | grep CONFIG_CC_OPTIMIZE | head -1)"
|
||||
else
|
||||
warn "/proc/config.gz not available (CONFIG_IKCONFIG disabled - OK for production)"
|
||||
echo " Frame Pointer: $(echo "$KCONF" | grep CONFIG_FRAME_POINTER= | head -1) (forced on ARM64)"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
Reference in New Issue
Block a user