Re: [PATCH] libnvdimm: remove redundant assignment to pointer 'dev'

From: Ross Zwisler
Date: Mon Feb 05 2018 - 16:36:37 EST


On Mon, Feb 05, 2018 at 10:44:07AM -0800, Dan Williams wrote:
> On Mon, Feb 5, 2018 at 10:20 AM, Ross Zwisler
> <ross.zwisler@xxxxxxxxxxxxxxx> wrote:
> > On Mon, Feb 05, 2018 at 02:08:52PM +0000, Colin King wrote:
> >> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> >>
> >> Pointer dev is being assigned a value that is never read, it is being
> >> re-assigned the same value later on, hence the initialization is redundant
> >> and can be removed.
> >>
> >> Cleans up clang warning:
> >> drivers/nvdimm/pfn_devs.c:307:17: warning: Value stored to 'dev' during
> >> its initialization is never read
> >>
> >> Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> >
> > Reviewed-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx>
> >
> > More importantly this fixes a potential NULL pointer dereference. nd_pfn
> > is checked for NULL a few lines down, but we would have crashed here trying to
> > get nd_pfn->dev.
> >
>
> No we wouldn't crash. We're just calculating the address, not
> de-referencing a NULL pointer.

Ah, yep, you're right of course. This is exactly how offsetof() is
implemented in some architectures. Thanks.