Skip to contentSkip to conversation

add kmalloc check in drviers/pcmcia/rsrc_mgr.c (245-ac16)

PATCH In review Rasmus Andersen 3 participants 7 messages Jun 23, 2001 – Jun 24, 2001 Pcmcia

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 add kmalloc check in drviers/pcmcia/rsrc_mgr.c (245-ac16)

Hi.

The patch below adds a kmalloc check to drivers/pcmcmia/rsrc_mgr.c. Against 245-ac16 but aplies to 256p6 also. Reported a while back by the stanford team.

drivers/pcmcia/rsrc_mgr.c +5 -0
@@ -189,6 +189,11 @@
     
     /* First, what does a floating port look like? */
     b = kmalloc(256, GFP_KERNEL);
+    if (!b) {
+	printk(" -- aborting.\n");
+	printk(KERN_ERR "Out of memory.");
+	return;
+    }
     memset(b, 0, 256);
     for (i = base, most = 0; i < base+num; i += 8) {
 	if (check_io_resource(i, 8))
Signature · 6 lines
Regards,
        Rasmus([email protected])

"The obvious mathematical breakthrough would be development of an easy way
to factor large prime numbers." 
  -- Bill Gates, The Road Ahead, Viking Penguin (1995)
#1 lore raw

drivers/pcmcia/rsrc_mgr.c line 196

Quoted 5 lines · Rasmus Andersen
drivers/pcmcia/rsrc_mgr.c +5 -0
+    if (!b) {
+	printk(" -- aborting.\n");
+	printk(KERN_ERR "Out of memory.");
+	return;
+    }

Why not printk(KERN_ERR "rsrc_mgr: Out of memory.\n"); ? Then at least people will know what it was that ran out of memory.

Eric

#2 lore raw
In reply to Rasmus Andersen

Em Sat, Jun 23, 2001 at 07:09:37PM +0200, Eric Lammerts escreveu:

Quoted 11 lines · Rasmus Andersen

drivers/pcmcia/rsrc_mgr.c line 196

Quoted 6 lines
drivers/pcmcia/rsrc_mgr.c +5 -0
+    if (!b) {
+	printk(" -- aborting.\n");
+	printk(KERN_ERR "Out of memory.");
+	return;
+    }

Why not printk(KERN_ERR "rsrc_mgr: Out of memory.\n"); ? Then at least people will know what it was that ran out of memory.

Better yet:

printk(KERN_ERR __FUNCTION__ "Out of memory.");

Then if you move the code to other function or if you change the name of the function you don't have to go all over the code doing s/old_function_name/new_function_name/g

- Arnaldo

#3 lore raw
In reply to Rasmus Andersen

On Sat, Jun 23, 2001 at 02:30:06PM -0300, Arnaldo Carvalho de Melo wrote:
[...]

Quoted 5 lines

printk(KERN_ERR __FUNCTION__ "Out of memory.");

Then if you move the code to other function or if you change the name of the function you don't have to go all over the code doing s/old_function_name/new_function_name/g

Excellent suggestion. How about this one:

--- linux-245-ac16-clean/drivers/pcmcia/rsrc_mgr.c Sat May 19 20:59:21 2001+++ linux-245-ac16/drivers/pcmcia/rsrc_mgr.c Sat Jun 23 15:06:54 2001
@@ -189,6 +189,11 @@

     /* First, what does a floating port look like? */
     b = kmalloc(256, GFP_KERNEL);
+    if (!b) {
+       printk(" -- aborting.\n");
+       printk(KERN_ERR __FUNCTION__ ": Out of memory.");
+       return;
+    }
     memset(b, 0, 256);
     for (i = base, most = 0; i < base+num; i += 8) {
        if (check_io_resource(i, 8))
Signature · 5 lines
Regards,
        Rasmus([email protected])

You don't become a failure until you're satisfied with being one. 
  -- Anonymous
#4 lore raw

drivers/pcmcia/rsrc_mgr.c line 196

Quoted 7 lines · Rasmus Andersen

Excellent suggestion. How about this one:

drivers/pcmcia/rsrc_mgr.c +5 -0
+    if (!b) {
+       printk(" -- aborting.\n");
+       printk(KERN_ERR __FUNCTION__ ": Out of memory.");
+       return;
+    }

There are zillions of functions called 'init_module' in the kernel. I think my suggestion was better (and it had a \n at the end!)

Eric

#5 lore raw
In reply to Rasmus Andersen

On Sun, Jun 24, 2001 at 10:52:31PM +0200, Eric Lammerts wrote:
[...]

Quoted 2 lines

There are zillions of functions called 'init_module' in the kernel. I think my suggestion was better (and it had a \n at the end!)

Agreed. Actually, 'ouch' on point two :) BTW, was it intentional that you dropped the maintainer from the recipient-list back then?

--- linux-245-ac16-clean/drivers/pcmcia/rsrc_mgr.c Sat May 19 20:59:21 2001+++ linux-245-ac16/drivers/pcmcia/rsrc_mgr.c Sat Jun 23 15:06:54 2001
@@ -189,6 +189,11 @@

     /* First, what does a floating port look like? */
     b = kmalloc(256, GFP_KERNEL);
+    if (!b) {
+       printk(" -- aborting.\n");
+       printk(KERN_ERR "rsrc_mgr: Out of memory.\n");
+       return;
+    }
     memset(b, 0, 256);
     for (i = base, most = 0; i < base+num; i += 8) {
        if (check_io_resource(i, 8))
Signature · 6 lines
Regards,
        Rasmus([email protected])

You know how dumb the average guy is?  Well, by  definition, half
of them are even dumber than that.
            -- J.R. "Bob" Dobbs 
#6 lore raw
Quoted 7 lines · Rasmus Andersen

On Sun, Jun 24, 2001 at 10:52:31PM +0200, Eric Lammerts wrote:
[...]

Quoted 2 lines

There are zillions of functions called 'init_module' in the kernel. I think my suggestion was better (and it had a \n at the end!)

Agreed. Actually, 'ouch' on point two :) BTW, was it intentional that you dropped the maintainer from the recipient-list back then?

No, sorry.

Eric