[prev in list] [next in list] [prev in thread] [next in thread]
List: openbsd-bugs
Subject: Problem with ipq_lock
From: Sally Bao <sallybao () cebatech ! com>
Date: 2006-02-23 20:28:40
Message-ID: 1140726520.20249.24.camel () dhcp26 ! cebatech ! com
[Download RAW message or body]
Hi,
I am using OpenBSD 3.7,
ipq_lock is used to lock ipq list in BSD stack, ipq_lock() is
defined as ipq_lock_try() which simply returns 0 or 1 depending on
ipq_locked variable is 1 or 0. There are two functions accesses
ipq list, one is ip_slowtimo() and another is ipv4_input(),
both call ipq_lock(), but the problem is that the functions don't
check if the lock is successfully obtained or not, they just go ahead to
access ipq table after ipq_lock() call.
It wouldn't matter if IPL_SOFTCLOCK and IPL_SOFTNET were the same value,
which they were a long long time ago in the Net/3 code, but it appears
that since splnet and splsoftnet are now a higher priority than
splsoftclock() then ipv4_input can pre-empt ip_slowtimo so I'd call that
a bug.
Could you help me out?
Thanks
Sally Bao
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic