[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKRnqNLFM_96NK3QbeoF-zC4KTe8oc7Q-eejzPgkE==XUHrwkQ@mail.gmail.com>
Date: Mon, 19 Dec 2016 08:47:50 -0800
From: Bruce Korb <bruce.korb@...il.com>
To: James Simmons <jsimmons@...radead.org>
Cc: Kees Cook <keescook@...omium.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Oleg Drokin <oleg.drokin@...el.com>,
Andreas Dilger <andreas.dilger@...el.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"John L. Hammond" <john.hammond@...el.com>,
Emoly Liu <emoly.liu@...el.com>,
Vitaly Fertman <vitaly_fertman@...atex.com>,
Bruno Faccini <bruno.faccini@...el.com>,
Lustre Development List <lustre-devel@...ts.lustre.org>,
devel@...verdev.osuosl.org
Subject: Re: [PATCH] staging: lustre: ldlm: use designated initializers
On Mon, Dec 19, 2016 at 8:22 AM, James Simmons
>> --- 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. If you look at
> ldlm_lock_create() where this is used you have
>
> if (cbs) {
> lock->l_blocking_ast = cbs->lcs_blocking;
> lock->l_completion_ast = cbs->lcs_completion;
> lock->l_glimpse_ast = cbs->lcs_glimpse;
> }
>
> Having lock->l_* point to random addresses is a bad idea.
> What really needs to be done is proper initialization of that
> structure. A bunch of patches will be coming to address this.
I'm not understanding the effect of the original difference. If you
specify any initializer, then all fields not specified are filled with
zero bits. Any pointers are, perforce, NULL. That should make both "{
NULL }" and "{}" equivalent. Maybe a worthwhile change would be to:
static const struct ldlm_callback_suite null_cbs;
then it is not even necessary to specify an initializer.
Powered by blists - more mailing lists