xref: /xnu-11215.81.4/san/tools/validate_blacklist.sh (revision d4514f0bc1d3f944c22d92e68b646ac3fb40d452)
1*d4514f0bSApple OSS Distributions#!/bin/bash
2*d4514f0bSApple OSS Distributions
3*d4514f0bSApple OSS Distributions# Ensure all blacklisted files exist. Paths with wildcards are ignored.
4*d4514f0bSApple OSS Distributions# Run against a blacklist with fully-qualified paths.
5*d4514f0bSApple OSS Distributions
6*d4514f0bSApple OSS DistributionsIFS=$'\n'
7*d4514f0bSApple OSS Distributions
8*d4514f0bSApple OSS Distributionsblacklist_files=`sed -n -e '
9*d4514f0bSApple OSS Distributions	# ignore paths with wildcards
10*d4514f0bSApple OSS Distributions	/\*/ d
11*d4514f0bSApple OSS Distributions
12*d4514f0bSApple OSS Distributions	# strip leading 'src:'
13*d4514f0bSApple OSS Distributions	/^src/ {
14*d4514f0bSApple OSS Distributions		s/^src://
15*d4514f0bSApple OSS Distributions		p
16*d4514f0bSApple OSS Distributions	}
17*d4514f0bSApple OSS Distributions' $1`
18*d4514f0bSApple OSS Distributions
19*d4514f0bSApple OSS Distributionsret=0
20*d4514f0bSApple OSS Distributions
21*d4514f0bSApple OSS Distributionsfor f in $blacklist_files ; do
22*d4514f0bSApple OSS Distributions	if ! [[ -e $f ]] ; then
23*d4514f0bSApple OSS Distributions		echo "KASan: blacklisted file $f not found" >&2
24*d4514f0bSApple OSS Distributions		ret=1
25*d4514f0bSApple OSS Distributions	fi
26*d4514f0bSApple OSS Distributionsdone
27*d4514f0bSApple OSS Distributions
28*d4514f0bSApple OSS Distributionsexit $ret
29