Message ID | 20230901065203.125150-1-yinjun.zhang@corigine.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 7fd525f67cf5176340421f598bfaef65ecd0b8c8 |
Delegated to: | Michal Kubecek |
Headers | show |
Series | [v2,ethtool] rxclass: fix a bug in rmgr when searching for empty slot | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Not a local patch |
Hello: This patch was applied to ethtool/ethtool.git (master) by Michal Kubecek <mkubecek@suse.cz>: On Fri, 1 Sep 2023 14:52:03 +0800 you wrote: > When reverse searching the list in rmgr for a free location the last > slot (first slot searched) in the list needs special care as it might > not span the full word length. This is done by building a bit-mask > covering the not-active parts of the last word and using that to judge > if there is a free location in the last word or not. Once that is known > searching in the last slot, or to skip it, can be done by the same > algorithm as for the other slots in the list. > > [...] Here is the summary with links: - [v2,ethtool] rxclass: fix a bug in rmgr when searching for empty slot https://git.kernel.org/pub/scm/network/ethtool/ethtool.git/commit/?id=7fd525f67cf5 You are awesome, thank you!
diff --git a/rxclass.c b/rxclass.c index 66cf00ba7728..f17e3a5124c0 100644 --- a/rxclass.c +++ b/rxclass.c @@ -446,7 +446,7 @@ static int rmgr_find_empty_slot(struct rmgr_ctrl *rmgr, * If loc rolls over it should be greater than or equal to rmgr->size * and as such we know we have reached the end of the list. */ - if (!~(rmgr->slot[slot_num] | (~1UL << rmgr->size % BITS_PER_LONG))) { + if (!~(rmgr->slot[slot_num] | (~1UL << loc % BITS_PER_LONG))) { loc -= 1 + (loc % BITS_PER_LONG); slot_num--; }