mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 14:42:24 +00:00
selinux: enclose macro arguments in parenthesis
Enclose the macro arguments in parenthesis to avoid potential evaluation order issues. Note the xperm and ebitmap macros are still not side-effect safe due to double evaluation. Reported by clang-tidy [bugprone-macro-parentheses] Signed-off-by: Christian Göttsche <cgzones@googlemail.com> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Paul Moore <paul@paul-moore.com>
This commit is contained in:
parent
d3b1161f29
commit
9e2fe574c0
@ -254,8 +254,8 @@ struct av_decision {
|
||||
#define XPERMS_AUDITALLOW 2
|
||||
#define XPERMS_DONTAUDIT 4
|
||||
|
||||
#define security_xperm_set(perms, x) (perms[x >> 5] |= 1 << (x & 0x1f))
|
||||
#define security_xperm_test(perms, x) (1 & (perms[x >> 5] >> (x & 0x1f)))
|
||||
#define security_xperm_set(perms, x) ((perms)[(x) >> 5] |= 1 << ((x) & 0x1f))
|
||||
#define security_xperm_test(perms, x) (1 & ((perms)[(x) >> 5] >> ((x) & 0x1f)))
|
||||
struct extended_perms_data {
|
||||
u32 p[8];
|
||||
};
|
||||
|
@ -118,9 +118,9 @@ static inline void ebitmap_node_clr_bit(struct ebitmap_node *n,
|
||||
}
|
||||
|
||||
#define ebitmap_for_each_positive_bit(e, n, bit) \
|
||||
for (bit = ebitmap_start_positive(e, &n); \
|
||||
bit < ebitmap_length(e); \
|
||||
bit = ebitmap_next_positive(e, &n, bit)) \
|
||||
for ((bit) = ebitmap_start_positive(e, &(n)); \
|
||||
(bit) < ebitmap_length(e); \
|
||||
(bit) = ebitmap_next_positive(e, &(n), bit)) \
|
||||
|
||||
int ebitmap_cmp(struct ebitmap *e1, struct ebitmap *e2);
|
||||
int ebitmap_cpy(struct ebitmap *dst, struct ebitmap *src);
|
||||
|
@ -27,8 +27,8 @@ struct sidtab_str_cache {
|
||||
char str[];
|
||||
};
|
||||
|
||||
#define index_to_sid(index) (index + SECINITSID_NUM + 1)
|
||||
#define sid_to_index(sid) (sid - (SECINITSID_NUM + 1))
|
||||
#define index_to_sid(index) ((index) + SECINITSID_NUM + 1)
|
||||
#define sid_to_index(sid) ((sid) - (SECINITSID_NUM + 1))
|
||||
|
||||
int sidtab_init(struct sidtab *s)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user