From: Bjørn Mork Date: Fri, 4 Dec 2015 13:15:08 +0000 (+0100) Subject: ipv6: keep existing flags when setting IFA_F_OPTIMISTIC X-Git-Tag: v4.1.12-92~201^2~15 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=3c4d1197af32de4888a1d5d94942662f718a38f4;p=users%2Fjedix%2Flinux-maple.git ipv6: keep existing flags when setting IFA_F_OPTIMISTIC Orabug: 22623877 [ Upstream commit 9a1ec4612c9bfc94d4185e3459055a37a685e575 ] Commit 64236f3f3d74 ("ipv6: introduce IFA_F_STABLE_PRIVACY flag") failed to update the setting of the IFA_F_OPTIMISTIC flag, causing the IFA_F_STABLE_PRIVACY flag to be lost if IFA_F_OPTIMISTIC is set. Cc: Erik Kline Cc: Fernando Gont Cc: Lorenzo Colitti Cc: YOSHIFUJI Hideaki/吉藤英明 Cc: Hannes Frederic Sowa Fixes: 64236f3f3d74 ("ipv6: introduce IFA_F_STABLE_PRIVACY flag") Signed-off-by: Bjørn Mork Acked-by: Hannes Frederic Sowa Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman (cherry picked from commit a7a97780df2c5d34f0ab7a9a748708dc5e98a087) Signed-off-by: Dan Duval --- diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 37b70e82bff8..53d035347326 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -2383,7 +2383,7 @@ ok: #ifdef CONFIG_IPV6_OPTIMISTIC_DAD if (in6_dev->cnf.optimistic_dad && !net->ipv6.devconf_all->forwarding && sllao) - addr_flags = IFA_F_OPTIMISTIC; + addr_flags |= IFA_F_OPTIMISTIC; #endif /* Do not allow to create too much of autoconfigured