--- libnl-1.1/lib/route/link.c.BAD 2010-02-27 08:43:45.671957250 -0600
+++ libnl-1.1/lib/route/link.c 2010-02-28 10:23:42.732957755 -0600
@@ -364,14 +364,9 @@
link->ce_mask |= LINK_ATTR_QDISC;
}
- if (tb[IFLA_MAP]) {
- struct rtnl_link_ifmap *map = nla_data(tb[IFLA_MAP]);
- link->l_map.lm_mem_start = map->mem_start;
- link->l_map.lm_mem_end = map->mem_end;
- link->l_map.lm_base_addr = map->base_addr;
- link->l_map.lm_irq = map->irq;
- link->l_map.lm_dma = map->dma;
- link->l_map.lm_port = map->port;
+ if (tb[IFLA_MAP]) {
+ nla_memcpy(&link->l_map, tb[IFLA_MAP],
+ sizeof(struct rtnl_link_ifmap));
link->ce_mask |= LINK_ATTR_MAP;
}