From: Austin Kim <austin.kim@xxxxxxx> The local variable 'i' is used to be incremented inside while loop within sidtab_convert_tree(). Before while loop, 'i' is set to 0 inside if/else statement. Since there is no 'goto' statement within sidtab_convert_tree(), it had better initialize 'i' as 0 once before if/else statement. Signed-off-by: Austin Kim <austin.kim@xxxxxxx> --- security/selinux/ss/sidtab.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/security/selinux/ss/sidtab.c b/security/selinux/ss/sidtab.c index 656d50b09f76..301620de63d3 100644 --- a/security/selinux/ss/sidtab.c +++ b/security/selinux/ss/sidtab.c @@ -374,7 +374,7 @@ static int sidtab_convert_tree(union sidtab_entry_inner *edst, struct sidtab_convert_params *convert) { int rc; - u32 i; + u32 i = 0; if (level != 0) { if (!edst->ptr_inner) { @@ -383,7 +383,6 @@ static int sidtab_convert_tree(union sidtab_entry_inner *edst, if (!edst->ptr_inner) return -ENOMEM; } - i = 0; while (i < SIDTAB_INNER_ENTRIES && *pos < count) { rc = sidtab_convert_tree(&edst->ptr_inner->entries[i], &esrc->ptr_inner->entries[i], @@ -400,7 +399,6 @@ static int sidtab_convert_tree(union sidtab_entry_inner *edst, if (!edst->ptr_leaf) return -ENOMEM; } - i = 0; while (i < SIDTAB_LEAF_ENTRIES && *pos < count) { rc = convert->func(&esrc->ptr_leaf->entries[i].context, &edst->ptr_leaf->entries[i].context, -- 2.20.1