All of lore.kernel.org
 help / color / mirror / Atom feed
From: Travis B. Sawyer <tsawyer+u-boot@sandburst.com>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] PATCH fix 440gx_enet.c driver was: WARNING:  in 440gx_enet.c
Date: Fri, 10 Jun 2005 09:03:39 -0400	[thread overview]
Message-ID: <42A98FAB.7010305@sandburst.com> (raw)
In-Reply-To: <5F98E47AD7B1C349895ED4E2EDF3918B01164F3E@stca209a>

Roberts, John wrote:
> U-Boot 1.1.2
> In function: int ppc_440x_eth_initialize (bd_t * bis)
> 
> This function malloc's a data structures
> 
> 		/* Allocate our private use data */
> 		hw = (EMAC_440GX_HW_PST) malloc (sizeof (EMAC_440GX_HW_ST));
> 
> Later in function: static int ppc_440x_eth_init (struct eth_device *dev,
> bd_t * bis)
> 
> 	/* Free "old" buffers */
> 	if (hw_p->alloc_tx_buf)
> 		free (hw_p->alloc_tx_buf);
> 	if (hw_p->alloc_rx_buf)
> 		free (hw_p->alloc_rx_buf);
> 
> 
> The first time through, the code assumes hw_p->alloc_tx_buf and
> hw_p->alloc_rx_buf will be zero. A malloc doesn't guarantee that and the
> variables are never initialized to zero. If the malloc'd memory is all "F"s
> you end up with : free(0xFFFFFFFF); Or it may be any random non-zero value
> you try to free.
> 
> I added a memset after the malloc to init the struct to zero. I suppose
> replacing the malloc with calloc will do the trick as well.

(file) 405gp_enet.c 	 1.11 	 11 months 	 stroese 	 Fix bug in 405 
ethernet driver; allocated data not cleared!

Hmmm... Looks like I let that slip by when Stefan updated the 405
ethernet driver and I didn't update the 440 version.


CHANGELOG:
* Patch by Travis Sawyer, 10 June 2005:
   Initialize allocated dev and private hw structures
   after their respective allocation in 440gx_enet.c

Patch is attached...


Thanx

Travis
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 440gx_enet_malloc.patch
Type: text/x-patch
Size: 685 bytes
Desc: not available
Url : http://lists.denx.de/pipermail/u-boot/attachments/20050610/c6f63e86/attachment.bin 

  reply	other threads:[~2005-06-10 13:03 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-10 12:10 [U-Boot-Users] WARNING: in 440gx_enet.c Roberts, John
2005-06-10 13:03 ` Travis B. Sawyer [this message]
2005-06-10 14:21   ` [U-Boot-Users] PATCH fix 440gx_enet.c driver was: " Wolfgang Denk

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=42A98FAB.7010305@sandburst.com \
    --to=tsawyer+u-boot@sandburst.com \
    --cc=u-boot@lists.denx.de \
    /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.