[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20071018.051919.07619008.davem@davemloft.net>
Date: Thu, 18 Oct 2007 05:19:19 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: xemul@...nvz.org
Cc: netdev@...r.kernel.org, devel@...nvz.org
Subject: Re: [PATCH 3/3] Fix race in ipv6_flowlabel_opt() when inserting
two labels
From: Pavel Emelyanov <xemul@...nvz.org>
Date: Thu, 18 Oct 2007 15:59:14 +0400
> In the IPV6_FL_A_GET case the hash is checked for flowlabels
> with the given label. If it is not found, the lock, protecting
> the hash, is dropped to be re-get for writing. After this a
> newly allocated entry is inserted, but no checks are performed
> to catch a classical SMP race, when the conflicting label may
> be inserted on another cpu.
>
> Use the (currently unused) return value from fl_intern() to
> return the conflicting entry (if found) and re-check, whether
> we can reuse it (IPV6_FL_F_EXCL) or return -EEXISTS.
>
> Also add the comment, about why not re-lookup the current
> sock for conflicting flowlabel entry.
>
> Signed-off-by: Pavel Emelyanov <xemul@...nvz.org>
Applied.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists