netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Potential bugs found in ne2k-pci+8390
@ 2014-11-22  3:51 Jia-Ju Bai
  2014-11-23  3:21 ` Ben Hutchings
  0 siblings, 1 reply; 2+ messages in thread
From: Jia-Ju Bai @ 2014-11-22  3:51 UTC (permalink / raw)
  To: netdev

Dear Sir,
I'm very sorry to trouble you. 
Recently I test 15 linux device drivers and find some potential bugs both in
Linux 3.8.6 and Linux 3.17.2. 

The target file is drivers/net/ethernet/8390/ne2k-pci.c, which is used to
build ne2k-pci.ko. I hope you can help me check my findings:
[1] The function request_region is called by ne2k_pci_init_one when
initializing the ethernet card driver. But when request_region is failed,
which means that it returns the error value, ne2k_pci_init_one returns
immediately to halt the process. However, because pci_enable_device has been
called before request_region in ne2k_pci_init_one, pci_disable_device should
be called before exiting. When the driver works normally, pci_enable_device
and pci_disable_device are called in pairs in ne2k_pci_init_one and
ne2k_pci_remove_one. Moreover, other ethernet card drivers call
pci_enable_device and pci_disable_device in pairs in error handling paths,
such as r8169 and sky2.
[2] The similar problem to [1] occurs when alloc_ei_netdev is failed in
ne2k_pci_init_one.
[3] The similar problem to [1] occurs when register_netdev is failed in
ne2k_pci_init_one.

Could you help me check these findings? Thank you very much, and I'm looking
forward to your reply.

--
Best wishes!
Jia-Ju Bai
E-mail: baijiaju1990@163.com
Department of Computer Science and Technology, Tsinghua University
Address: Room 1-417, West Main, Tsinghua University, Haidian District,
Beijing, 100084, China.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Potential bugs found in ne2k-pci+8390
  2014-11-22  3:51 Potential bugs found in ne2k-pci+8390 Jia-Ju Bai
@ 2014-11-23  3:21 ` Ben Hutchings
  0 siblings, 0 replies; 2+ messages in thread
From: Ben Hutchings @ 2014-11-23  3:21 UTC (permalink / raw)
  To: Jia-Ju Bai; +Cc: netdev

[-- Attachment #1: Type: text/plain, Size: 1579 bytes --]

On Sat, 2014-11-22 at 11:51 +0800, Jia-Ju Bai wrote:
> Dear Sir,
> I'm very sorry to trouble you. 
> Recently I test 15 linux device drivers and find some potential bugs both in
> Linux 3.8.6 and Linux 3.17.2. 
> 
> The target file is drivers/net/ethernet/8390/ne2k-pci.c, which is used to
> build ne2k-pci.ko. I hope you can help me check my findings:
> [1] The function request_region is called by ne2k_pci_init_one when
> initializing the ethernet card driver. But when request_region is failed,
> which means that it returns the error value, ne2k_pci_init_one returns
> immediately to halt the process. However, because pci_enable_device has been
> called before request_region in ne2k_pci_init_one, pci_disable_device should
> be called before exiting. When the driver works normally, pci_enable_device
> and pci_disable_device are called in pairs in ne2k_pci_init_one and
> ne2k_pci_remove_one. Moreover, other ethernet card drivers call
> pci_enable_device and pci_disable_device in pairs in error handling paths,
> such as r8169 and sky2.
> [2] The similar problem to [1] occurs when alloc_ei_netdev is failed in
> ne2k_pci_init_one.
> [3] The similar problem to [1] occurs when register_netdev is failed in
> ne2k_pci_init_one.
> 
> Could you help me check these findings? Thank you very much, and I'm looking
> forward to your reply.

I agree this is a real bug (or bugs).  You should send a patch to fix
this - see Documentation/SubmittingPatches.

Ben.

-- 
Ben Hutchings
Never put off till tomorrow what you can avoid all together.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 811 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-11-23  3:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-22  3:51 Potential bugs found in ne2k-pci+8390 Jia-Ju Bai
2014-11-23  3:21 ` Ben Hutchings

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).