diff options
author | Phil Sutter <phil@nwl.cc> | 2023-12-19 00:56:07 +0100 |
---|---|---|
committer | Phil Sutter <phil@nwl.cc> | 2023-12-21 14:33:47 +0100 |
commit | 63ab5b8906f6913a14d38ec231f21daa760339a9 (patch) | |
tree | c11fb0a551885592aefc7160b23328860285d9ab /extensions/libxt_TCPMSS.t | |
parent | f5cf76626d95d2c491a80288bccc160c53b44e88 (diff) |
iptables-legacy: Fix for mandatory lock waiting
Parameter 'wait' passed to xtables_lock() signals three modes of
operation, depending on its value:
0: --wait not specified, do not wait if lock is busy
-1: --wait specified without value, wait indefinitely until lock becomes
free
>0: Wait for 'wait' seconds for lock to become free, abort otherwise
Since fixed commit, the first two cases were treated the same apart from
calling alarm(0), but that is a nop if no alarm is pending. Fix the code
by requesting a non-blocking flock() in the second case. While at it,
restrict the alarm setup to the third case only.
Cc: Jethro Beekman <jethro@fortanix.com>
Cc: howardjohn@google.com
Cc: Antonio Ojea <antonio.ojea.garcia@gmail.com>
Closes: https://bugzilla.netfilter.org/show_bug.cgi?id=1728
Fixes: 07e2107ef0cbc ("xshared: Implement xtables lock timeout using signals")
Signed-off-by: Phil Sutter <phil@nwl.cc>
Diffstat (limited to 'extensions/libxt_TCPMSS.t')
0 files changed, 0 insertions, 0 deletions