]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
apparmor: fix signedness bug in unpack_tags()
authorMassimiliano Pellizzer <mpellizzer.dev@gmail.com>
Tue, 10 Feb 2026 17:15:38 +0000 (18:15 +0100)
committerJohn Johansen <john.johansen@canonical.com>
Wed, 18 Feb 2026 19:50:20 +0000 (11:50 -0800)
commit08020dbe3125e936429e7966bf072e08fa964f36
treee2b82cbe2bc30094c6c9c767732166b03aa5a688
parent1b51bd761599b84e963d9cb510e7c7d8fbf9d1ee
apparmor: fix signedness bug in unpack_tags()

Smatch static checker warning:
    security/apparmor/policy_unpack.c:966 unpack_pdb()
    warn: unsigned 'unpack_tags(e, &pdb->tags, info)' is never less than zero.

unpack_tags() is declared with return type size_t (unsigned) but returns
negative errno values on failure. The caller in unpack_pdb() tests the
return with `< 0`, which is always false for an unsigned type, making
error handling dead code. Malformed tag data would be silently accepted
instead of causing a load failure.

Change return type of unpack_tags() from size_t to int to match the
functions's actual semantic.

Fixes: 3d28e2397af7 ("apparmor: add support loading per permission tagging")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Massimiliano Pellizzer <mpellizzer.dev@gmail.com>
Signed-off-by: John Johansen <john.johansen@canonical.com>
security/apparmor/policy_unpack.c