On Monday 2012-06-04 14:21, pablo@xxxxxxxxxxxxx wrote: >+static int >+ctnetlink_nfqueue_parse(const struct nlattr *attr, struct nf_conn *ct) >+{ >+ const struct nlattr * const cda[CTA_MAX+1]; I suppose you wrote that because the same appears in function headers/signatures void foo(const struct nlattr *const tb[]) { ... } But there, it is actually equal to void foo(const struct nlattr *const *tb) { ... } In either case, tb is writable. IMHO, [] should be avoided in signatures to avoid self-confusion, as it seemed to occur in your case, where cda is - unlike tb - really marked const. You likely wanted const struct nlattr *cda[CTA_MAX+1]; >+ nla_parse_nested((struct nlattr **)cda, CTA_MAX, attr, ct_nla_policy); -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html