2002-06-18 13:40:13

by Petter

[permalink] [raw]
Subject: small 5575 PCI ATM fix


I was grepping through some code, and noticed that the return value
of a kmalloc in iphase.c was not checked.
A patch was sendt to the author, but this was the reply I got:

"Peter Wang is no longer a member of the Interphase team. Interphase
does support the 5575 PCI ATM adapter with Linux, but for driver enhancements
and fixes, we require a current software warranty contract. If you
could send me the serial number and / or the MAC address of your adapter, I
can verify your warranty status and have the latest driver sent to you."

I do not care about their driver since I do not have an ATM card, but
the current driver should anyhow be fixed.

Please apply the patch below.

Regards

Petter Wahlman


--- linux-2.4.19-pre10/drivers/atm/iphase.c Mon Feb 25 20:37:57 2002
+++ linux-2.4.19-pre10-pw/drivers/atm/iphase.c Tue Jun 18 10:47:02 2002
@@ -2002,6 +2002,10 @@
}
iadev->desc_tbl = kmalloc(iadev->num_tx_desc *
sizeof(struct desc_tbl_t),
GFP_KERNEL);
+ if (!iadev->desc_tbl) {
+ printk(KERN_ERR DEV_LABEL " couldn't get mem\n");
+ return -EAGAIN;
+ }

/* Communication Queues base address */
i = TX_COMP_Q * iadev->memSize;


2002-06-18 13:58:37

by Dave Jones

[permalink] [raw]
Subject: Re: small 5575 PCI ATM fix

On Tue, Jun 18, 2002 at 03:35:27PM +0200, Petter wrote:
>
> I was grepping through some code, and noticed that the return value
> of a kmalloc in iphase.c was not checked.
> A patch was sendt to the author, but this was the reply I got:
>
> "Peter Wang is no longer a member of the Interphase team. Interphase
> does support the 5575 PCI ATM adapter with Linux, but for driver enhancements
> and fixes, we require a current software warranty contract. If you
> could send me the serial number and / or the MAC address of your adapter, I
> can verify your warranty status and have the latest driver sent to you."

rofl. 8-)

> I do not care about their driver since I do not have an ATM card, but
> the current driver should anyhow be fixed.

Error handling in that driver seems to be 'creative' at best.
No releasing of already allocated resources, just returning -EAGAIN
everywhere, and no checking for already allocated resources.

Someone with too much time on their hands[1] could probably clean this
up to free allocated resources on failure and return -ENOMEM on
allocation failures.

Dave

[1] or a 'software warranty contract'.

--
| Dave Jones. http://www.codemonkey.org.uk
| SuSE Labs

2002-06-18 14:16:29

by Petter

[permalink] [raw]
Subject: Re: small 5575 PCI ATM fix

On Tue, Jun 18, 2002 at 03:58:37PM +0200, Dave Jones wrote:
> On Tue, Jun 18, 2002 at 03:35:27PM +0200, Petter wrote:
> Error handling in that driver seems to be 'creative' at best.

I agree.

> No releasing of already allocated resources, just returning -EAGAIN
> everywhere, and no checking for already allocated resources.
>
> Someone with too much time on their hands[1] could probably clean this
> up to free allocated resources on failure and return -ENOMEM on
> allocation failures.


Yup, but I do not have that much spare time ;)
I just looked at the code for two seconds and thought that I'd send a
quick fix for it.


Regards


Petter Wahlman