public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Yury Umanets <torque@ukrpost.net>
To: "Randy.Dunlap" <rddunlap@osdl.org>
Cc: akpm@osdl.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] 2.6.6 memory allocation checks in SliceBlock()
Date: Mon, 07 Jun 2004 18:54:17 +0300	[thread overview]
Message-ID: <1086623657.20964.19.camel@firefly> (raw)
In-Reply-To: <20040606110333.57e5b853.rddunlap@osdl.org>

On Sun, 2004-06-06 at 21:03, Randy.Dunlap wrote:
> On Sun, 06 Jun 2004 19:23:12 +0300 Yury Umanets wrote:
> 
> | Adds memory allocation checks in SliceBlock()
> | 
> |  ./linux-2.6.6-modified/drivers/char/drm/sis_ds.c |    4 ++++
> |  1 files changed, 4 insertions(+)
> | 
> | Signed-off-by: Yury Umanets <torque@ukrpost.net>
> | 
> | diff -rupN ./linux-2.6.6/drivers/char/drm/sis_ds.c
> | ./linux-2.6.6-modified/drivers/char/drm/sis_ds.c
> | --- ./linux-2.6.6/drivers/char/drm/sis_ds.c	Mon May 10 05:33:19 2004
> | +++ ./linux-2.6.6-modified/drivers/char/drm/sis_ds.c	Wed Jun  2 14:19:22
> | 2004
> | @@ -231,6 +231,8 @@ static TMemBlock* SliceBlock(TMemBlock *
> |  	if (startofs > p->ofs) {
> |  		newblock = (TMemBlock*) DRM(calloc)(1, sizeof(TMemBlock),
> |  		    DRM_MEM_DRIVER);
> | +		if (!newblock)
> | +			return NULL;
> |  		newblock->ofs = startofs;
> |  		newblock->size = p->size - (startofs - p->ofs);
> |  		newblock->free = 1;
> | @@ -244,6 +246,8 @@ static TMemBlock* SliceBlock(TMemBlock *
> |  	if (size < p->size) {
> |  		newblock = (TMemBlock*) DRM(calloc)(1, sizeof(TMemBlock),
> |  		    DRM_MEM_DRIVER);
> | +		if (!newblock)
> | +			return NULL;
> |  		newblock->ofs = startofs + size;
> |  		newblock->size = p->size - size;
> |  		newblock->free = 1;
> | 
> | -- 
> 
> These look like the right thing to do, but one caller of
> SliceBlock() has no error handling:
> 
> mmAllocMem():
> 
> 	p = SliceBlock(p,startofs,size,0,mask+1);
> 	p->heap = heap;
> 	return p;
> 
> However, callers of mmAllocMem() do have failure handling.
Hello Randy,

This is fixed version:

 ./linux-2.6.6-modified/drivers/char/drm/sis_ds.c |    6 ++++++
 1 files changed, 6 insertions(+)

Signed-off-by: Yury Umanets <torque@ukrpost.net>

diff -rupN ./linux-2.6.6/drivers/char/drm/sis_ds.c
./linux-2.6.6-modified/drivers/char/drm/sis_ds.c
--- ./linux-2.6.6/drivers/char/drm/sis_ds.c	Mon May 10 05:33:19 2004
+++ ./linux-2.6.6-modified/drivers/char/drm/sis_ds.c	Mon Jun  7 18:41:41
2004
@@ -231,6 +231,8 @@ static TMemBlock* SliceBlock(TMemBlock *
 	if (startofs > p->ofs) {
 		newblock = (TMemBlock*) DRM(calloc)(1, sizeof(TMemBlock),
 		    DRM_MEM_DRIVER);
+		if (!newblock)
+			return NULL;
 		newblock->ofs = startofs;
 		newblock->size = p->size - (startofs - p->ofs);
 		newblock->free = 1;
@@ -244,6 +246,8 @@ static TMemBlock* SliceBlock(TMemBlock *
 	if (size < p->size) {
 		newblock = (TMemBlock*) DRM(calloc)(1, sizeof(TMemBlock),
 		    DRM_MEM_DRIVER);
+		if (!newblock)
+			return NULL;
 		newblock->ofs = startofs + size;
 		newblock->size = p->size - size;
 		newblock->free = 1;
@@ -285,6 +289,8 @@ PMemBlock mmAllocMem( memHeap_t *heap, i
 	if (p == NULL)
 		return NULL;
 	p = SliceBlock(p,startofs,size,0,mask+1);
+	if (!p)
+		return NULL;
 	p->heap = heap;
 	return p;
 }


-- 
umka


      reply	other threads:[~2004-06-07 15:55 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-06 16:23 [PATCH] 2.6.6 memory allocation checks in SliceBlock() Yury Umanets
2004-06-06 18:03 ` Randy.Dunlap
2004-06-07 15:54   ` Yury Umanets [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1086623657.20964.19.camel@firefly \
    --to=torque@ukrpost.net \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rddunlap@osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox