summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdio/vfprintf.c
diff options
context:
space:
mode:
authorrrs <rrs@FreeBSD.org>2006-09-21 09:55:43 +0000
committerrrs <rrs@FreeBSD.org>2006-09-21 09:55:43 +0000
commit9221681b1a1bd2c38b6899f2f356a13fb3a67ad5 (patch)
treef693c7920436b46ba34da14c13b088334dc185c4 /lib/libc/stdio/vfprintf.c
parentf928d7c5b7d569a937577c848b265c54e49f1d3d (diff)
downloadFreeBSD-src-9221681b1a1bd2c38b6899f2f356a13fb3a67ad5.zip
FreeBSD-src-9221681b1a1bd2c38b6899f2f356a13fb3a67ad5.tar.gz
atomic_fetchadd_int is used by mb_free_ext(), but it
returns the previous value that the "add" effected (In this case we are adding -1), afterwhich we compare it to '0'... to see if we free the mbuf... we should be comparing it to '1'... Note that this only effects when there is contention since there is a first part to the comparison that checks to see if its '1'. So this bug would only crop up if two CPU's are trying to free the same mbuf refcount at the same time. This will happen in SCTP but I doubt can happen in TCP or UDP. PR: N/A Submitted by: rrs Reviewed by: gnn,sam Approved by: gnn,sam
Diffstat (limited to 'lib/libc/stdio/vfprintf.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud