[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