[PATCH v2] kexec/fs2dt: Check for NULL pointer in dt_copy_old_root_param()

Dave Young dyoung at redhat.com
Thu Sep 29 01:29:11 PDT 2016


On 09/29/16 at 10:20am, Simon Horman wrote:
> [CC Dave Young]
> 
> On Thu, Sep 29, 2016 at 01:29:13PM +0530, Madhavan Srinivasan wrote:
> > In dt_copy_old_root_param(), FILE * returned
> > from fopen is not checked for NULL pointer
> > before passinig to fclose(). This could trigger
> > a segfault. Patch to fix the same.
> > 
> > Reviewed-by: Dave Young <dyoung at redhat.com>
> 
> Probably Dave's tag should be dropped as that was for a somewhat
> different (though equally trivial) approach.

Simion, I think I'm fine with any of them. 

> 
> > Signed-off-by: Madhavan Srinivasan <maddy at linux.vnet.ibm.com>
> > ---
> > Changelog v1:
> >  - Moved the check right after fopen
> > 
> >  kexec/fs2dt.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/kexec/fs2dt.c b/kexec/fs2dt.c
> > index 6ed2399759cf..5ba3ec0fa65c 100644
> > --- a/kexec/fs2dt.c
> > +++ b/kexec/fs2dt.c
> > @@ -524,6 +524,9 @@ static void dt_copy_old_root_param(void)
> >  	strcpy(filename, pathname);
> >  	strcat(filename, "bootargs");
> >  	fp = fopen(filename, "r");
> > +	if (!fp)
> > +		return;
> > +
> 
> With the (!fp) conditional above the (fp) conditional below can be removed.
> 
> >  	if (fp) {
> >  		if (getline(&last_cmdline, &len, fp) == -1)
> >  			die("unable to read %s\n", filename);
> > -- 
> > 2.7.4
> > 



More information about the kexec mailing list