struct net *net = sock_net(skb->sk);
        struct ifinfomsg *ifm;
        struct net_device *dev;
-       struct nlattr *br_spec, *attr = NULL;
+       struct nlattr *br_spec, *attr, *br_flags_attr = NULL;
        int rem, err = -EOPNOTSUPP;
        u16 flags = 0;
-       bool have_flags = false;
 
        if (nlmsg_len(nlh) < sizeof(*ifm))
                return -EINVAL;
        br_spec = nlmsg_find_attr(nlh, sizeof(struct ifinfomsg), IFLA_AF_SPEC);
        if (br_spec) {
                nla_for_each_nested(attr, br_spec, rem) {
-                       if (nla_type(attr) == IFLA_BRIDGE_FLAGS && !have_flags) {
+                       if (nla_type(attr) == IFLA_BRIDGE_FLAGS && !br_flags_attr) {
                                if (nla_len(attr) < sizeof(flags))
                                        return -EINVAL;
 
-                               have_flags = true;
+                               br_flags_attr = attr;
                                flags = nla_get_u16(attr);
                        }
 
                }
        }
 
-       if (have_flags)
-               memcpy(nla_data(attr), &flags, sizeof(flags));
+       if (br_flags_attr)
+               memcpy(nla_data(br_flags_attr), &flags, sizeof(flags));
 out:
        return err;
 }