apparmor: use designated initializers
authorKees Cook <keescook@chromium.org>
Sat, 17 Dec 2016 01:04:13 +0000 (17:04 -0800)
committerJohn Johansen <john.johansen@canonical.com>
Mon, 16 Jan 2017 04:00:32 +0000 (20:00 -0800)
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 <keescook@chromium.org>
Signed-off-by: John Johansen <john.johansen@canonical.com>
security/apparmor/file.c
security/apparmor/lsm.c

index 4d2af4b01033fd40623172c988985fece9b4abde..608971ac6781d2ee26ffedeb2766027f5d0024ec 100644 (file)
@@ -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
index 41b8cb115801724172ce48cbb3ac6b3d96a8d6f6..f76738b1eb153f41648e4515b4ec31b6fb6f45cc 100644 (file)
@@ -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,10 @@ 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
                };