]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
selftests: net: py: ensure defer() is only used within a test case
authorJakub Kicinski <kuba@kernel.org>
Thu, 8 Jan 2026 22:52:57 +0000 (14:52 -0800)
committerJakub Kicinski <kuba@kernel.org>
Sat, 10 Jan 2026 23:11:59 +0000 (15:11 -0800)
commit7a1ff3545adeec5dc65c3063c2f084500d6f7014
tree27d8ae8e8dce1ac6fa7e2c71741b396f9e155c5b
parent799a4912eea74c667da1c8167f93bf2d1508a89e
selftests: net: py: ensure defer() is only used within a test case

I wasted a couple of hours recently after accidentally adding
a defer() from within a function which itself was called as
part of defer(). This leads to an infinite loop of defer().
Make sure this cannot happen and raise a helpful exception.

I understand that the pair of _ksft_defer_arm() calls may
not be the most Pythonic way to implement this, but it's
easy enough to understand.

Reviewed-by: Petr Machata <petrm@nvidia.com>
Link: https://patch.msgid.link/20260108225257.2684238-2-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/lib/py/ksft.py
tools/testing/selftests/net/lib/py/utils.py