3
static struct ipv6_devconf ipv6_devconf_dflt __read_mostly = {
    .forwarding     = 0,
    .hop_limit      = IPV6_DEFAULT_HOPLIMIT,
    .mtu6           = IPV6_MIN_MTU,
};

static int __net_init addrconf_init_net(struct net *net)
{
    struct ipv6_devconf *dflt;
    dflt = &ipv6_devconf_dflt;
    kfree(dflt);
}

ipv6_devconf_dflt是一个静态结构变量。的地址ipv6_devconf_dflt分配给局部变量。然后使用kfree().

是否允许释放非堆内存?

4

1 回答 1

4

不——在堆外释放内存是没有意义的,因为它kfree()只能在kmalloc()ed 块的上下文中释放内存!

时间线:

于 2012-06-28T00:50:06.233 回答