On 7/7/2020 1:22 PM, Dmitry Kozlyuk wrote:
AdjustTokenPrivileges() succeeds even if no requested privileges have
been granted; this behavior is documented. Check last error code in
addition to return value to detect such case.

Signed-off-by: Dmitry Kozlyuk <dmitry.kozl...@gmail.com>
---
  lib/librte_eal/windows/eal_hugepages.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/lib/librte_eal/windows/eal_hugepages.c 
b/lib/librte_eal/windows/eal_hugepages.c
index 5779cd325..07a5467d0 100644
--- a/lib/librte_eal/windows/eal_hugepages.c
+++ b/lib/librte_eal/windows/eal_hugepages.c
@@ -41,6 +41,10 @@ hugepage_claim_privilege(void)
                goto exit;
        }
+ /* AdjustTokenPrivileges() may succeed with ERROR_NOT_ALL_ASSIGNED. */
+       if (GetLastError() != ERROR_SUCCESS)
+               goto exit;
+
        ret = 0;
exit:

Wouldn't this be better if we could print a message here after explicitly checking for the ERROR_NOT_ALL_ASSIGNED return value?

Otherwise, the caller simply gets a -1 return value for a failure with no message.


ranjit m.

Reply via email to