addr = info->attrs[MPTCP_PM_ATTR_ADDR];
        err = mptcp_pm_parse_entry(addr, info, true, &addr_val);
-       if (err < 0) {
-               GENL_SET_ERR_MSG(info, "error parsing local address");
+       if (err < 0)
                goto announce_err;
-       }
 
        if (addr_val.addr.id == 0) {
                GENL_SET_ERR_MSG(info, "invalid addr id");
 
        laddr = info->attrs[MPTCP_PM_ATTR_ADDR];
        err = mptcp_pm_parse_entry(laddr, info, true, &entry);
-       if (err < 0) {
-               NL_SET_ERR_MSG_ATTR(info->extack, laddr, "error parsing local addr");
+       if (err < 0)
                goto create_err;
-       }
 
        if (entry.flags & MPTCP_PM_ADDR_FLAG_SIGNAL) {
                GENL_SET_ERR_MSG(info, "invalid addr flags");
 
        raddr = info->attrs[MPTCP_PM_ATTR_ADDR_REMOTE];
        err = mptcp_pm_parse_addr(raddr, info, &addr_r);
-       if (err < 0) {
-               NL_SET_ERR_MSG_ATTR(info->extack, raddr, "error parsing remote addr");
+       if (err < 0)
                goto create_err;
-       }
 
        if (!mptcp_pm_addr_families_match(sk, &entry.addr, &addr_r)) {
                GENL_SET_ERR_MSG(info, "families mismatch");
 
        laddr = info->attrs[MPTCP_PM_ATTR_ADDR];
        err = mptcp_pm_parse_entry(laddr, info, true, &addr_l);
-       if (err < 0) {
-               NL_SET_ERR_MSG_ATTR(info->extack, laddr, "error parsing local addr");
+       if (err < 0)
                goto destroy_err;
-       }
 
        raddr = info->attrs[MPTCP_PM_ATTR_ADDR_REMOTE];
        err = mptcp_pm_parse_addr(raddr, info, &addr_r);
-       if (err < 0) {
-               NL_SET_ERR_MSG_ATTR(info->extack, raddr, "error parsing remote addr");
+       if (err < 0)
                goto destroy_err;
-       }
 
 #if IS_ENABLED(CONFIG_MPTCP_IPV6)
        if (addr_l.addr.family == AF_INET && ipv6_addr_v4mapped(&addr_r.addr6)) {