mirror of
https://github.com/topjohnwu/selinux.git
synced 2024-12-04 01:20:52 +00:00
libsepol: When generating CIL use HLL line mark for neverallows
When converting pp files to CIL or generating CIL using checkpolicy or checkmodule use CIL's HLL line mark annotations to record the original file and line numbers for neverallow rules so that CIL can produce more informative error messages. (Unfortunately, the original line number information is not saved in pp files, so there is no benefit for policy modules.) This is only done for neverallow rules currently. Signed-off-by: James Carter <jwcart2@tycho.nsa.gov>
This commit is contained in:
parent
67560cc7ac
commit
175aba387b
@ -1073,6 +1073,10 @@ static int avrule_list_to_cil(int indent, struct policydb *pdb, struct avrule *a
|
||||
struct type_set *ts;
|
||||
|
||||
for (avrule = avrule_list; avrule != NULL; avrule = avrule->next) {
|
||||
if (avrule->specified == AVRULE_NEVERALLOW && avrule->source_filename) {
|
||||
cil_println(0, ";;* lmx %lu %s\n",avrule->source_line, avrule->source_filename);
|
||||
}
|
||||
|
||||
ts = &avrule->stypes;
|
||||
rc = process_typeset(indent, pdb, ts, attr_list, &snames, &num_snames);
|
||||
if (rc != 0) {
|
||||
@ -1103,6 +1107,10 @@ static int avrule_list_to_cil(int indent, struct policydb *pdb, struct avrule *a
|
||||
|
||||
names_destroy(&snames, &num_snames);
|
||||
names_destroy(&tnames, &num_tnames);
|
||||
|
||||
if (avrule->specified == AVRULE_NEVERALLOW && avrule->source_filename) {
|
||||
cil_println(0, ";;* lme\n");
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user