The Rx and Tx single queue settings in idpf driver are both boolean
values, but the parse_bool function writes to them as int. This causes
an extra 3 bytes to be written beyond the variable itself.
Fix by changing store type to bool.

Bugzilla ID: 2042
Fixes: 549343c25db8 ("net/idpf: support device initialization")
Cc: [email protected]

Signed-off-by: Bruce Richardson <[email protected]>
===
Note: this fix is superceded by the kvargs numeric args patchset [1].
However, that patchset relies on new kvargs features unlikely to be
backported, so this standalone fix is useful for backporting or if the
whole other set doesn't make the 26.11 release.

[1] https://patches.dpdk.org/project/dpdk/list/?series=39247
---
 drivers/net/intel/idpf/idpf_ethdev.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/intel/idpf/idpf_ethdev.c 
b/drivers/net/intel/idpf/idpf_ethdev.c
index c13505416a..9fd5b28adb 100644
--- a/drivers/net/intel/idpf/idpf_ethdev.c
+++ b/drivers/net/intel/idpf/idpf_ethdev.c
@@ -1247,7 +1247,7 @@ parse_vport(const char *key, const char *value, void 
*args)
 static int
 parse_bool(const char *key, const char *value, void *args)
 {
-       int *i = args;
+       bool *i = args;
        char *end;
        int num;
 
@@ -1261,7 +1261,7 @@ parse_bool(const char *key, const char *value, void *args)
                return -EINVAL;
        }
 
-       *i = num;
+       *i = (num == 1);
        return 0;
 }
 
-- 
2.53.0

Reply via email to