lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <877fg3mjti.fsf@intel.com>
Date:	Tue, 12 Apr 2016 09:18:17 +0300
From:	Felipe Balbi <balbi@...nel.org>
To:	"Du\, Changbin" <changbin.du@...el.com>
Cc:	"gregkh\@linuxfoundation.org" <gregkh@...uxfoundation.org>,
	"linux-usb\@vger.kernel.org" <linux-usb@...r.kernel.org>,
	"linux-kernel\@vger.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] usb: dwc3: free dwc->regset on dwc3_debugfs_exit


Hi Changbin,

"Du, Changbin" <changbin.du@...el.com> writes:
>> Hi,
>> 
>> "Du, Changbin" <changbin.du@...el.com> writes:
>> >>
>> >> >> > +	dwc->regset = NULL;
>> >> >>
>> >> >> setting regset to NULL is unnecessary. We only call
>> dwc3_debugfs_exit()
>> >> >> when removing the driver.
>> >> >>
>> >> >> --
>> >> >> Balbi
>> >> > I'd like keep this line even it is unnecessary, because It is a good habit to
>> >> > Avoid wild pointers. Just like the dwc->root = NULL.
>> >>
>> >> there won't be any wild pointers here, we'll free struct dwc3 *dwc itself.
>> >>
>> >> --
>> >> Balbi
>> > I agree the dwc will be freed in current code. But the 'free' logical is out
>> > of the debugfs code. They should be treat as some logical independent.
>> Per
>> > this point, I still think set pointer to null is not bad. For example, if dwc3
>> core
>> > code invoke dwc3_debugfs_exit twice by mistake(just an example case,
>> not
>> > really), then no crash/impact for the second call.
>> 
>> the second call should crash because it's clearly wrong ;-) If dwc3 ever
>> calls dwc3_debugfs_exit() twice, it really deserves to crash. It's
>> something so wrong that we want the verbosity and urgency of a kernel
>> oops to make sure we fix it ASAP.
>> 
>> If, however, we set it to null, it might be years before we notice
>> anything's wrong.
>> 
>> --
>> Balbi
>
> Hmm, I agree from this point. I will combine this patch with other two patches
> (due to their dependency). And I'd like remove the 'dwc->root=NULL' as well,

you are creating a dependency that doesn't exist. Please stop that. You
should have two separate branches based on v4.6-rc3 (or, if you prefer,
one based on my testing/fixes and another based on my testing/next). On
one branch you have *only* $subject and you fix *all* the memory
leaks. On the other branch you have the other two patches.

Ignore the fact that we might have a conflict, that's for git (and
maintainers) to handle when they happen.

Again, don't create dependencies between fixes for the -rc cycle and
changes for the next merge window.

> Is it ok for you?

yeah, please remove root = NULL as that's completely unnecessary, but
split these patches in separate branches and fix all memory leaks.

-- 
balbi

Download attachment "signature.asc" of type "application/pgp-signature" (819 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ