File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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:
Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments