On 08/16/16 14:40, Randall Stewart wrote:
+int
+tcp_inpinfo_lock_add(struct inpcb *inp)
+{
+       in_pcbref(inp);
+       INP_WUNLOCK(inp);
+       INP_INFO_RLOCK(&V_tcbinfo);
+       INP_WLOCK(inp);
+       if (inp->inp_flags & (INP_TIMEWAIT | INP_DROPPED)) {
+               return(1);
+       }
+       return(0);
+
+}

Hi,

Could you add some comments describing how it is considered safe to drop the INP write-lock and then pick it up again?

My first impression is that because you are dropping the inp lock, multiple threads can enter the code in question, leaving the window open to races?

--HPS
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to