Skip to content

Commit e2254a2

Browse files
committed
Add support for nlmsg extended permission
Signed-off-by: Thiébaud Weksteen <tweek@google.com>
1 parent ab4cce4 commit e2254a2

2 files changed

Lines changed: 7 additions & 2 deletions

File tree

setools/policyrep/sepol.pxd

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ cdef extern from "<sepol/policydb/avtab.h>":
157157
#
158158
cdef int AVTAB_XPERMS_IOCTLFUNCTION
159159
cdef int AVTAB_XPERMS_IOCTLDRIVER
160+
cdef int AVTAB_XPERMS_NLMSG
160161

161162
cdef struct avtab_extended_perms:
162163
uint8_t specified
@@ -437,6 +438,7 @@ cdef extern from "<sepol/policydb/policydb.h>":
437438
#
438439
cdef int AVRULE_XPERMS_IOCTLFUNCTION
439440
cdef int AVRULE_XPERMS_IOCTLDRIVER
441+
cdef int AVRULE_XPERMS_NLMSG
440442
cdef int EXTENDED_PERMS_LEN
441443

442444
cdef struct av_extended_perms:

setools/policyrep/terule.pxi

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -300,9 +300,10 @@ cdef class AVRuleXperm(BaseTERule):
300300
#
301301
for curr in range(len):
302302
if sepol.xperm_test(curr, xperms.perms):
303-
if xperms.specified & sepol.AVTAB_XPERMS_IOCTLFUNCTION:
303+
if (xperms.specified == sepol.AVTAB_XPERMS_IOCTLFUNCTION \
304+
or xperms.specified == sepol.AVTAB_XPERMS_NLMSG):
304305
perms.add(xperms.driver << 8 | curr)
305-
elif xperms.specified & sepol.AVTAB_XPERMS_IOCTLDRIVER:
306+
elif xperms.specified == sepol.AVTAB_XPERMS_IOCTLDRIVER:
306307
base_value = curr << 8
307308
perms.update(range(base_value, base_value + 0x100))
308309
else:
@@ -317,6 +318,8 @@ cdef class AVRuleXperm(BaseTERule):
317318
if datum.xperms.specified == sepol.AVTAB_XPERMS_IOCTLFUNCTION \
318319
or datum.xperms.specified == sepol.AVTAB_XPERMS_IOCTLDRIVER:
319320
xperm_type = intern("ioctl")
321+
elif datum.xperms.specified == sepol.AVTAB_XPERMS_NLMSG:
322+
xperm_type = intern("nlmsg")
320323
else:
321324
raise LowLevelPolicyError(f"Unknown extended permission: {datum.xperms.specified}")
322325

0 commit comments

Comments
 (0)