utils: aa-genprof fails on lxd with OSError: Read-only file system

On certain lxc containers, when aa-genprof tries to set
printk_ratelimit, it fails with the OSError exception, with the
message "OSError: [Errno 30] Read-only file system" instead of
PermissionError.

Since PermissionError is a subclass of OSError, replace it by broader
OSError exception to include both cases in which running aa-genprof
fails.

Reported-by: Paulo Flabiano Smorigo <paulo.smorigo@canonical.com>
Signed-off-by: Georgia Garcia <georgia.garcia@canonical.com>
(cherry picked from commit e1ae6fa81c)
Signed-off-by: John Johansen <john.johansen@canonical.com>
This commit is contained in:
Georgia Garcia 2025-02-07 11:44:27 -03:00 committed by John Johansen
parent 042d3b783f
commit 65971c8764

View file

@ -139,7 +139,7 @@ ratelimit_saved = sysctl_read(ratelimit_sysctl)
try:
sysctl_write(ratelimit_sysctl, 0)
except PermissionError: # will fail in lxd
except OSError: # will fail in lxd
warn("Can't set printk_ratelimit, some events might be lost")
atexit.register(restore_ratelimit)