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>
This commit is contained in:
Georgia Garcia 2025-02-07 11:44:27 -03:00
parent 55889ef783
commit e1ae6fa81c

View file

@ -139,7 +139,7 @@ ratelimit_saved = sysctl_read(ratelimit_sysctl)
try: try:
sysctl_write(ratelimit_sysctl, 0) 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") warn("Can't set printk_ratelimit, some events might be lost")
atexit.register(restore_ratelimit) atexit.register(restore_ratelimit)