On 6/26/2019 8:53 PM, Kees Cook wrote: > On Wed, Jun 26, 2019 at 12:22:28PM -0700, Casey Schaufler wrote: >> Replace the (secctx,seclen) pointer pair with a single >> lsmcontext pointer to allow return of the LSM identifier >> along with the context and context length. This allows >> security_release_secctx() to know how to release the >> context. Callers have been modified to use or save the >> returned data from the new structure. >> >> Signed-off-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> >> --- >> drivers/android/binder.c | 24 ++++++--------- >> include/linux/security.h | 4 +-- >> include/net/scm.h | 9 ++---- >> kernel/audit.c | 29 +++++++----------- >> kernel/auditsc.c | 31 +++++++------------ >> net/ipv4/ip_sockglue.c | 7 ++--- >> net/netfilter/nf_conntrack_netlink.c | 14 +++++---- >> net/netfilter/nf_conntrack_standalone.c | 7 ++--- >> net/netfilter/nfnetlink_queue.c | 5 +++- >> net/netlabel/netlabel_unlabeled.c | 40 ++++++++----------------- >> net/netlabel/netlabel_user.c | 7 ++--- >> security/security.c | 9 ++++-- >> 12 files changed, 72 insertions(+), 114 deletions(-) >> >> diff --git a/drivers/android/binder.c b/drivers/android/binder.c >> index 89e574be34cc..5d417a7b9bb3 100644 >> --- a/drivers/android/binder.c >> +++ b/drivers/android/binder.c >> @@ -2874,9 +2874,7 @@ static void binder_transaction(struct binder_proc *proc, >> binder_size_t last_fixup_min_off = 0; >> struct binder_context *context = proc->context; >> int t_debug_id = atomic_inc_return(&binder_last_id); >> - char *secctx = NULL; >> - u32 secctx_sz = 0; >> - struct lsmcontext scaff; /* scaffolding */ >> + struct lsmcontext lsmctx; > As James found, this needs to be zero initialized: > > struct lsmcontext lsmctx = { }; Thanks! I'll incorporate this in v5. It's great to have y'all checking it out. ??