grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

network support : memory management problem


From: Vincent Guffens
Subject: network support : memory management problem
Date: Tue, 31 May 2005 15:48:02 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20040913

Hi,

I sent a similar e-mail yesterday but I think it didn't get through.

I have a working version of the netboot support in grub2. I can issue commands like (seeking in file is not yet possible):

cat (nd0)test.txt
linux (nd0)linux24

but depending on where in the code I free my data blocks, I sometimes get a "free magic is broken" fatal error msg from grub_free().

I found out that if I use the grub_printf() function just before the call to grub_free(), the problem disappears.

That is to say that in my grub_net_close function (the close file function associated with the net binding file system), I do something like:

struct grub_netfs_data * priv =  (struct grub_netfs_data *) file->data;
struct grub_netfs_block *pp, * p = priv->head;

grub_printf("FREEING\n");

if (p)
  pp = p->next;

  while (p) {
    if ((p->data)){
      grub_free(p->data);
    }


If I remove the FREEING msg, I have the panic error message, otherwise, everything looks fine. The exact error message is

free magic is broken at 0x85900: 0x0

Does someone has an idea ? Is there some documentation available about the mm in grub2 ?

The full code is available on this web page:
http://www.auto.ucl.ac.be/~guffens/grub2_netboot/index.html


--
                                Vincent Guffens
                                PhD Student UCL/CESAME
                                tel:   +32 10 47 80 30
Value your freedom, or you will lose it, teaches history.
"Don't bother us with politics," respond those who don't want to learn.
                -- Richard M. Stallman




reply via email to

[Prev in Thread] Current Thread [Next in Thread]