Commit 102ada7c authored by John Johansen's avatar John Johansen
Browse files

apparmor: fix fmt string type error in process_strs_entry



pointer subtraction has a type of int when using clang on hexagon,
microblaze (and possibly other archs). We know the subtraction is
postive so cast the expression to unsigned long to match what is in
the fmt string.

Reported-by: default avatarkernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202602021429.CcmWkR9K-lkp@intel.com/
Closes: https://lore.kernel.org/oe-kbuild-all/202602021427.PvvDjgyL-lkp@intel.com/
Closes: https://lore.kernel.org/oe-kbuild-all/202602021510.JPzX5zKb-lkp@intel.com/


Fixes: c140dcd1 ("apparmor: make str table more generic and be able to have multiple entries")
Signed-off-by: default avatarJohn Johansen <john.johansen@canonical.com>
parent 3734b946
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -474,7 +474,7 @@ static int process_strs_entry(char *str, int size, bool multi)
			if (!*str) {
				AA_DEBUG(DEBUG_UNPACK,
					 "starting with null save=%lu size %d c=%d",
					 str - save, size, c);
					 (unsigned long)(str - save), size, c);
				return -4;
			}
			if (isspace(*str))
@@ -545,7 +545,8 @@ static int unpack_strs_table(struct aa_ext *e, const char *name, bool multi,
			c = process_strs_entry(str, size2, multi);
			if (c <= 0) {
				AA_DEBUG(DEBUG_UNPACK, "process_strs %d i %d pos %ld",
					 c, i, e->pos - saved_pos);
					 c, i,
					 (unsigned_long) e->pos - saved_pos);
				goto fail;
			}
			if (!multi && c > 1) {