The max profile name length is supposed to be (PATH_MAX - 1). However, there seems to be some sort of unintended limitation in place that is restricting it to 253 chars:
$ name=a; while [ $? -eq 0 ]; do prof="profile $name {}"; echo "$prof" | sudo apparmor_parser -qa && echo "$prof" | sudo apparmor_parser -qR && name=${name}a; done; echo "$name" | wc -m
apparmor_parser: Unable to add "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa". Unknown error (36): File name too long
253
That command should result in the value of (PATH_MAX - 1) being printed.
The max profile name length is supposed to be (PATH_MAX - 1). However, there seems to be some sort of unintended limitation in place that is restricting it to 253 chars:
$ name=a; while [ $? -eq 0 ]; do prof="profile $name {}"; echo "$prof" | sudo apparmor_parser -qa && echo "$prof" | sudo apparmor_parser -qR && name=${name}a; done; echo "$name" | wc -m aaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaaaaaaa aaaaaaaaaaaaa" . Unknown error (36): File name too long
apparmor_parser: Unable to add "aaaaaaaaaaaaaa
253
That command should result in the value of (PATH_MAX - 1) being printed.