dma_intel: fix the wrong unformat type 37/37037/2
authorHaiyue Wang <haiyue.wang@intel.com>
Tue, 30 Aug 2022 06:33:02 +0000 (14:33 +0800)
committerDamjan Marion <dmarion@0xa5.net>
Tue, 30 Aug 2022 18:13:18 +0000 (18:13 +0000)
The unformat type for "%d" should be u32 or int, otherwise the 'did' in
high stack address will be overflow to zero by the 'qid' which is in the
low stack address.

Like input "dev wq3.2" will return "did=0, qid=2".

Type: fix
Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
Change-Id: I0fe1d5b03e2c47e0a7925193e2c2f1ccc31d3e90

src/plugins/dma_intel/main.c

index 4e9df04..0f9ac18 100644 (file)
@@ -222,7 +222,7 @@ dsa_config (vlib_main_t *vm, unformat_input_t *input)
 {
   clib_error_t *error = 0;
   intel_dsa_channel_t *ch;
-  u8 did, qid;
+  u32 did, qid;
 
   if (intel_dsa_main.lock == 0)
     clib_spinlock_init (&(intel_dsa_main.lock));