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
prev parent 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.