Merge tag 'apparmor-pr-2019-12-03' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor
Pull apparmor updates from John Johansen:
"Features:
- increase left match history buffer size to provide improved
conflict resolution in overlapping execution rules.
- switch buffer allocation to use a memory pool and GFP_KERNEL where
possible.
- add compression of policy blobs to reduce memory usage.
Cleanups:
- fix spelling mistake "immutible" -> "immutable"
Bug fixes:
- fix unsigned len comparison in update_for_len macro
- fix sparse warning for type-casting of current->real_cred"
* tag 'apparmor-pr-2019-12-03' of git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor:
apparmor: make it so work buffers can be allocated from atomic context
apparmor: reduce rcu_read_lock scope for aa_file_perm mediation
apparmor: fix wrong buffer allocation in aa_new_mount
apparmor: fix unsigned len comparison with less than zero
apparmor: increase left match history buffer size
apparmor: Switch to GFP_KERNEL where possible
apparmor: Use a memory pool instead per-CPU caches
apparmor: Force type-casting of current->real_cred
apparmor: fix spelling mistake "immutible" -> "immutable"
apparmor: fix blob compression when ns is forced on a policy load
apparmor: fix missing ZLIB defines
apparmor: fix blob compression build failure on ppc
apparmor: Initial implementation of raw policy blob compression
This commit is contained in:
@@ -1458,11 +1458,13 @@ static inline bool use_label_hname(struct aa_ns *ns, struct aa_label *label,
|
||||
/* helper macro for snprint routines */
|
||||
#define update_for_len(total, len, size, str) \
|
||||
do { \
|
||||
size_t ulen = len; \
|
||||
\
|
||||
AA_BUG(len < 0); \
|
||||
total += len; \
|
||||
len = min(len, size); \
|
||||
size -= len; \
|
||||
str += len; \
|
||||
total += ulen; \
|
||||
ulen = min(ulen, size); \
|
||||
size -= ulen; \
|
||||
str += ulen; \
|
||||
} while (0)
|
||||
|
||||
/**
|
||||
@@ -1597,7 +1599,7 @@ int aa_label_snxprint(char *str, size_t size, struct aa_ns *ns,
|
||||
struct aa_ns *prev_ns = NULL;
|
||||
struct label_it i;
|
||||
int count = 0, total = 0;
|
||||
size_t len;
|
||||
ssize_t len;
|
||||
|
||||
AA_BUG(!str && size != 0);
|
||||
AA_BUG(!label);
|
||||
|
||||
Reference in New Issue
Block a user