2.6.6 memory allocation checks in drivers/pci/hotplug/shpchprm_acpi.c
PATCH 1/1 2.6.6 memory allocation checks in drivers/pci/hotplug/shpchprm_acpi.c
Adds memory allocation checks in acpi_get__hpp()
./linux-2.6.6-modified/drivers/pci/hotplug/shpchprm_acpi.c | 2 ++ 1 files changed, 2 insertions(+)
diff -rupN ./linux-2.6.6/drivers/pci/hotplug/shpchprm_acpi.c ./linux-2.6.6-modified/drivers/pci/hotplug/shpchprm_acpi.c
--- ./linux-2.6.6/drivers/pci/hotplug/shpchprm_acpi.c Mon May 10
05:32:28 2004
+++ ./linux-2.6.6-modified/drivers/pci/hotplug/shpchprm_acpi.c Wed Jun
2 14:28:07 2004
@@ -218,6 +218,8 @@ static void acpi_get__hpp ( struct acpi_
}
ab->_hpp = kmalloc (sizeof (struct acpi__hpp), GFP_KERNEL);
+ if (!ab->_hpp)
+ goto free_and_return;
memset(ab->_hpp, 0, sizeof(struct acpi__hpp));
ab->_hpp->cache_line_size = nui[0];
Signature · 1 line
umka
On Sun, 06 Jun 2004 19:20:51 +0300 Yury Umanets wrote:
| Adds memory allocation checks in acpi_get__hpp() | | ./linux-2.6.6-modified/drivers/pci/hotplug/shpchprm_acpi.c | 2 ++ | 1 files changed, 2 insertions(+) | | Signed-off-by: Yury Umanets <[email protected]> | | diff -rupN ./linux-2.6.6/drivers/pci/hotplug/shpchprm_acpi.c | ./linux-2.6.6-modified/drivers/pci/hotplug/shpchprm_acpi.c | --- ./linux-2.6.6/drivers/pci/hotplug/shpchprm_acpi.c Mon May 10 | 05:32:28 2004 | +++ ./linux-2.6.6-modified/drivers/pci/hotplug/shpchprm_acpi.c Wed Jun | 2 14:28:07 2004 | @@ -218,6 +218,8 @@ static void acpi_get__hpp ( struct acpi_ | } | | ab->_hpp = kmalloc (sizeof (struct acpi__hpp), GFP_KERNEL); | + if (!ab->_hpp) | + goto free_and_return; | memset(ab->_hpp, 0, sizeof(struct acpi__hpp)); | | ab->_hpp->cache_line_size = nui[0]; | | --
All other failure paths in this function use err() to inform the console about what's happening... so flip a coin, I guess:
add a message or say that ACPI already has too many messages. :(
--
~Randy
Quoted 27 lines · Randy.Dunlap
On Sun, 06 Jun 2004 19:20:51 +0300 Yury Umanets wrote:
| Adds memory allocation checks in acpi_get__hpp() | | ./linux-2.6.6-modified/drivers/pci/hotplug/shpchprm_acpi.c | 2 ++ | 1 files changed, 2 insertions(+) | | Signed-off-by: Yury Umanets <[email protected]> | | diff -rupN ./linux-2.6.6/drivers/pci/hotplug/shpchprm_acpi.c | ./linux-2.6.6-modified/drivers/pci/hotplug/shpchprm_acpi.c | --- ./linux-2.6.6/drivers/pci/hotplug/shpchprm_acpi.c Mon May 10 | 05:32:28 2004 | +++ ./linux-2.6.6-modified/drivers/pci/hotplug/shpchprm_acpi.c Wed Jun | 2 14:28:07 2004 | @@ -218,6 +218,8 @@ static void acpi_get__hpp ( struct acpi_ | } | | ab->_hpp = kmalloc (sizeof (struct acpi__hpp), GFP_KERNEL); | + if (!ab->_hpp) | + goto free_and_return; | memset(ab->_hpp, 0, sizeof(struct acpi__hpp)); | | ab->_hpp->cache_line_size = nui[0]; | | --
Quoted 3 lines
All other failure paths in this function use
err()to inform the console about what's happening... so flip a coin, I guess:
add a message or say that ACPI already has too many messages. :(
Hello Randy!
Fixed versions for both (shpchprm_acpi.c and pciehprm_acpi.c) are below:
./linux-2.6.6-modified/drivers/pci/hotplug/pciehprm_acpi.c | 4 ++++ 1 files changed, 4 insertions(+)
diff -rupN ./linux-2.6.6/drivers/pci/hotplug/pciehprm_acpi.c ./linux-2.6.6-modified/drivers/pci/hotplug/pciehprm_acpi.c
--- ./linux-2.6.6/drivers/pci/hotplug/pciehprm_acpi.c Mon May 10
05:33:19 2004
+++ ./linux-2.6.6-modified/drivers/pci/hotplug/pciehprm_acpi.c Mon Jun
7 18:40:15 2004
@@ -218,6 +218,10 @@ static void acpi_get__hpp ( struct acpi_
}
ab->_hpp = kmalloc (sizeof (struct acpi__hpp), GFP_KERNEL);
+ if (!ab->_hpp) {
+ err ("acpi_pciehprm:%s alloc for _HPP fail\n", path_name);
+ goto free_and_return;
+ }
memset(ab->_hpp, 0, sizeof(struct acpi__hpp));
ab->_hpp->cache_line_size = nui[0];
./linux-2.6.6-modified/drivers/pci/hotplug/shpchprm_acpi.c | 4 ++++ 1 files changed, 4 insertions(+)
diff -rupN ./linux-2.6.6/drivers/pci/hotplug/shpchprm_acpi.c ./linux-2.6.6-modified/drivers/pci/hotplug/shpchprm_acpi.c
--- ./linux-2.6.6/drivers/pci/hotplug/shpchprm_acpi.c Mon May 10
05:32:28 2004
+++ ./linux-2.6.6-modified/drivers/pci/hotplug/shpchprm_acpi.c Mon Jun
7 18:39:01 2004
@@ -218,6 +218,10 @@ static void acpi_get__hpp ( struct acpi_
}
ab->_hpp = kmalloc (sizeof (struct acpi__hpp), GFP_KERNEL);
+ if (!ab->_hpp) {
+ err ("acpi_shpchprm:%s alloc for _HPP fail\n", path_name);
+ goto free_and_return;
+ }
memset(ab->_hpp, 0, sizeof(struct acpi__hpp));
ab->_hpp->cache_line_size = nui[0];
Signature · 1 line
umka
Hello Randy, Yury,
Em Sun, Jun 06, 2004 at 10:51:06AM -0700, Randy.Dunlap escreveu:
| On Sun, 06 Jun 2004 19:20:51 +0300 Yury Umanets wrote: | | | Adds memory allocation checks in acpi_get__hpp() | | | | ./linux-2.6.6-modified/drivers/pci/hotplug/shpchprm_acpi.c | 2 ++ | | 1 files changed, 2 insertions(+) | | | | Signed-off-by: Yury Umanets <[email protected]> | | | | diff -rupN ./linux-2.6.6/drivers/pci/hotplug/shpchprm_acpi.c | | ./linux-2.6.6-modified/drivers/pci/hotplug/shpchprm_acpi.c | | --- ./linux-2.6.6/drivers/pci/hotplug/shpchprm_acpi.c Mon May 10 | | 05:32:28 2004 | | +++ ./linux-2.6.6-modified/drivers/pci/hotplug/shpchprm_acpi.c Wed Jun | | 2 14:28:07 2004 | | @@ -218,6 +218,8 @@ static void acpi_get__hpp ( struct acpi_ | | } | | | | ab->_hpp = kmalloc (sizeof (struct acpi__hpp), GFP_KERNEL); | | + if (!ab->_hpp) | | + goto free_and_return; | | memset(ab->_hpp, 0, sizeof(struct acpi__hpp)); | | | | ab->_hpp->cache_line_size = nui[0]; | | | | -- | | All other failure paths in this function use err() to inform the | console about what's happening... so flip a coin, I guess: | add a message or say that ACPI already has too many messages. :(
I sent the same patch for this some weeks ago. Dely accepted, but it was
not applyed. Don't know why.
Signature · 2 lines
Luiz Fernando N. Capitulino <http://www.telecentros.sp.gov.br>
Quoted 35 lines · Luiz Fernando N. Capitulino
Hello Randy, Yury,
Em Sun, Jun 06, 2004 at 10:51:06AM -0700, Randy.Dunlap escreveu:
| On Sun, 06 Jun 2004 19:20:51 +0300 Yury Umanets wrote: | | | Adds memory allocation checks in acpi_get__hpp() | | | | ./linux-2.6.6-modified/drivers/pci/hotplug/shpchprm_acpi.c | 2 ++ | | 1 files changed, 2 insertions(+) | | | | Signed-off-by: Yury Umanets <[email protected]> | | | | diff -rupN ./linux-2.6.6/drivers/pci/hotplug/shpchprm_acpi.c | | ./linux-2.6.6-modified/drivers/pci/hotplug/shpchprm_acpi.c | | --- ./linux-2.6.6/drivers/pci/hotplug/shpchprm_acpi.c Mon May 10 | | 05:32:28 2004 | | +++ ./linux-2.6.6-modified/drivers/pci/hotplug/shpchprm_acpi.c Wed Jun | | 2 14:28:07 2004 | | @@ -218,6 +218,8 @@ static void acpi_get__hpp ( struct acpi_ | | } | | | | ab->_hpp = kmalloc (sizeof (struct acpi__hpp), GFP_KERNEL); | | + if (!ab->_hpp) | | + goto free_and_return; | | memset(ab->_hpp, 0, sizeof(struct acpi__hpp)); | | | | ab->_hpp->cache_line_size = nui[0]; | | | | -- | | All other failure paths in this function use err() to inform the | console about what's happening... so flip a coin, I guess: | add a message or say that ACPI already has too many messages. :(
Quoted 2 lines
I sent the same patch for this some weeks ago. Dely accepted, but it was
not applyed. Don't know why.
Hello,
I'm not sure that I know the order of patches reviewing/applying, but it seems to be depend on contact person busyness and importance of the patch. This patch is not so important though :)
Signature · 1 line
umka