From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754963AbcLTKlV (ORCPT ); Tue, 20 Dec 2016 05:41:21 -0500 Received: from userp1040.oracle.com ([156.151.31.81]:34619 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752329AbcLTKlS (ORCPT ); Tue, 20 Dec 2016 05:41:18 -0500 Date: Tue, 20 Dec 2016 13:40:26 +0300 From: Dan Carpenter To: James Simmons Cc: Kees Cook , devel@driverdev.osuosl.org, Andreas Dilger , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, Bruno Faccini , Oleg Drokin , Vitaly Fertman , "John L. Hammond" , Bruce Korb , Emoly Liu , lustre-devel@lists.lustre.org Subject: Re: [PATCH] staging: lustre: ldlm: use designated initializers Message-ID: <20161220104026.GM8176@mwanda> References: <20161217010045.GA140343@beast> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Source-IP: aserv0022.oracle.com [141.146.126.234] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Dec 19, 2016 at 04:22:58PM +0000, James Simmons 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 > > --- > > drivers/staging/lustre/lustre/ldlm/ldlm_flock.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c b/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c > > index 722160784f83..f815827532dc 100644 > > --- a/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c > > +++ b/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c > > @@ -143,7 +143,7 @@ static int ldlm_process_flock_lock(struct ldlm_lock *req, __u64 *flags, > > int added = (mode == LCK_NL); > > int overlaps = 0; > > int splitted = 0; > > - const struct ldlm_callback_suite null_cbs = { NULL }; > > + const struct ldlm_callback_suite null_cbs = { }; > > > > CDEBUG(D_DLMTRACE, > > "flags %#llx owner %llu pid %u mode %u start %llu end %llu\n", > > Nak. Filling null_cbs with random data is a bad idea. You've misunderstood. The plugin just changes how the struct is laid out, it doesn't put data into the struct. So this is fine. The places where it's not fine are when the layout is required because it's shared with userspace or set by the hardware. regards, dan carpenter From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Date: Tue, 20 Dec 2016 13:40:26 +0300 Subject: [lustre-devel] [PATCH] staging: lustre: ldlm: use designated initializers In-Reply-To: References: <20161217010045.GA140343@beast> Message-ID: <20161220104026.GM8176@mwanda> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: James Simmons Cc: Kees Cook , devel@driverdev.osuosl.org, Andreas Dilger , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, Bruno Faccini , Oleg Drokin , Vitaly Fertman , "John L. Hammond" , Bruce Korb , Emoly Liu , lustre-devel@lists.lustre.org On Mon, Dec 19, 2016 at 04:22:58PM +0000, James Simmons 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 > > --- > > drivers/staging/lustre/lustre/ldlm/ldlm_flock.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c b/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c > > index 722160784f83..f815827532dc 100644 > > --- a/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c > > +++ b/drivers/staging/lustre/lustre/ldlm/ldlm_flock.c > > @@ -143,7 +143,7 @@ static int ldlm_process_flock_lock(struct ldlm_lock *req, __u64 *flags, > > int added = (mode == LCK_NL); > > int overlaps = 0; > > int splitted = 0; > > - const struct ldlm_callback_suite null_cbs = { NULL }; > > + const struct ldlm_callback_suite null_cbs = { }; > > > > CDEBUG(D_DLMTRACE, > > "flags %#llx owner %llu pid %u mode %u start %llu end %llu\n", > > Nak. Filling null_cbs with random data is a bad idea. You've misunderstood. The plugin just changes how the struct is laid out, it doesn't put data into the struct. So this is fine. The places where it's not fine are when the layout is required because it's shared with userspace or set by the hardware. regards, dan carpenter