* [dpdk-dev] [Bug 809] KNI request overwritten with new asynchronous kni_net_release mechanism
@ 2021-09-14 14:41 bugzilla
0 siblings, 0 replies; only message in thread
From: bugzilla @ 2021-09-14 14:41 UTC (permalink / raw)
To: dev
https://bugs.dpdk.org/show_bug.cgi?id=809
Bug ID: 809
Summary: KNI request overwritten with new asynchronous
kni_net_release mechanism
Product: DPDK
Version: 21.11
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: ethdev
Assignee: dev@dpdk.org
Reporter: erclists@gmail.com
Target Milestone: ---
With the new asynchronous KNI request for kni_net_release() there is a
potential for an interface down request to be overwritten in the KNI request
fifo. The issue occurs when an application sets an interface down, immediately
followed by setting the interface up.
The down request gets put on the KNI fifo and then returns immediately (inside
kni_net_process_request) . If a subsequent up request comes in before the down
request has had a chance to be processed by the request handler, the new up
request gets written to the same KNI sync address, thus overwriting the down
request and the first down request will be missed:
/* Construct data */
memcpy(kni->sync_kva, req, sizeof(struct rte_kni_request)); <--
Overwritten
num = kni_fifo_put(kni->req_q, &kni->sync_va, 1);
Before this asynchronous mechanism was introduced this was prevented by taking
the kni->sync_lock and waiting for the response. But even in this case if the
wait timeout was exceeded, this same type of condition could theoretically
happen.
--
You are receiving this mail because:
You are the assignee for the bug.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-09-14 14:41 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-14 14:41 [dpdk-dev] [Bug 809] KNI request overwritten with new asynchronous kni_net_release mechanism bugzilla
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).