lsm_audit,selinux: pass IB device name by reference
While trying to address a Coverity warning that the dev_name string might end up unterminated when strcpy'ing it in selinux_ib_endport_manage_subnet(), I realized that it is possible (and simpler) to just pass the dev_name pointer directly, rather than copying the string to a buffer. The ibendport variable goes out of scope at the end of the function anyway, so the lifetime of the dev_name pointer will never be shorter than that of ibendport, thus we can safely just pass the dev_name pointer and be done with it. Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com> Acked-by: Richard Guy Briggs <rgb@redhat.com> Signed-off-by: Paul Moore <paul@paul-moore.com>
This commit is contained in:
parent
fd781f459b
commit
869cbeef18
|
@ -48,13 +48,13 @@ struct lsm_ioctlop_audit {
|
|||
};
|
||||
|
||||
struct lsm_ibpkey_audit {
|
||||
u64 subnet_prefix;
|
||||
u16 pkey;
|
||||
u64 subnet_prefix;
|
||||
u16 pkey;
|
||||
};
|
||||
|
||||
struct lsm_ibendport_audit {
|
||||
char dev_name[IB_DEVICE_NAME_MAX];
|
||||
u8 port;
|
||||
const char *dev_name;
|
||||
u8 port;
|
||||
};
|
||||
|
||||
/* Auxiliary data to use in generating the audit record. */
|
||||
|
|
|
@ -6850,7 +6850,7 @@ static int selinux_ib_endport_manage_subnet(void *ib_sec, const char *dev_name,
|
|||
return err;
|
||||
|
||||
ad.type = LSM_AUDIT_DATA_IBENDPORT;
|
||||
strncpy(ibendport.dev_name, dev_name, sizeof(ibendport.dev_name));
|
||||
ibendport.dev_name = dev_name;
|
||||
ibendport.port = port_num;
|
||||
ad.u.ibendport = &ibendport;
|
||||
return avc_has_perm(&selinux_state,
|
||||
|
|
Loading…
Reference in New Issue