Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1761963AbcLQCBe (ORCPT ); Fri, 16 Dec 2016 21:01:34 -0500 Received: from youngberry.canonical.com ([91.189.89.112]:41344 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753805AbcLQCBd (ORCPT ); Fri, 16 Dec 2016 21:01:33 -0500 Subject: Re: [PATCH] apparmor: use designated initializers To: Kees Cook , linux-kernel@vger.kernel.org References: <20161217010413.GA140564@beast> Cc: James Morris , "Serge E. Hallyn" , linux-security-module@vger.kernel.org From: John Johansen Organization: Canonical Message-ID: <1729ffe5-b81c-ede5-51e1-ba618d1957ab@canonical.com> Date: Fri, 16 Dec 2016 18:01:27 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: <20161217010413.GA140564@beast> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2452 Lines: 57 On 12/16/2016 05:04 PM, Kees Cook wrote: > Prepare to mark sensitive kernel structures for randomization by making > sure they're using designated initializers. These were identified during > allyesconfig builds of x86, arm, and arm64, with most initializer fixes > extracted from grsecurity. > > Signed-off-by: Kees Cook Acked-by: John Johansen I'll pull this in to my tree for the pull request I will be sending in a couple weeks. > --- > security/apparmor/file.c | 4 ++-- > security/apparmor/lsm.c | 6 +++--- > 2 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/security/apparmor/file.c b/security/apparmor/file.c > index 4d2af4b01033..608971ac6781 100644 > --- a/security/apparmor/file.c > +++ b/security/apparmor/file.c > @@ -349,8 +349,8 @@ static inline bool xindex_is_subset(u32 link, u32 target) > int aa_path_link(struct aa_profile *profile, struct dentry *old_dentry, > const struct path *new_dir, struct dentry *new_dentry) > { > - struct path link = { new_dir->mnt, new_dentry }; > - struct path target = { new_dir->mnt, old_dentry }; > + struct path link = { .mnt = new_dir->mnt, .dentry = new_dentry }; > + struct path target = { .mnt = new_dir->mnt, .dentry = old_dentry }; > struct path_cond cond = { > d_backing_inode(old_dentry)->i_uid, > d_backing_inode(old_dentry)->i_mode > diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c > index 41b8cb115801..83b2ab5c9d08 100644 > --- a/security/apparmor/lsm.c > +++ b/security/apparmor/lsm.c > @@ -176,7 +176,7 @@ static int common_perm_dir_dentry(int op, const struct path *dir, > struct dentry *dentry, u32 mask, > struct path_cond *cond) > { > - struct path path = { dir->mnt, dentry }; > + struct path path = { .mnt = dir->mnt, .dentry = dentry }; > > return common_perm(op, &path, mask, cond); > } > @@ -306,8 +306,8 @@ static int apparmor_path_rename(const struct path *old_dir, struct dentry *old_d > > profile = aa_current_profile(); > if (!unconfined(profile)) { > - struct path old_path = { old_dir->mnt, old_dentry }; > - struct path new_path = { new_dir->mnt, new_dentry }; > + struct path old_path = { .mnt = old_dir->mnt, .dentry = old_dentry }; > + struct path new_path = { .mnt = new_dir->mnt, .dentry = new_dentry }; > struct path_cond cond = { d_backing_inode(old_dentry)->i_uid, > d_backing_inode(old_dentry)->i_mode > }; >