Lfs - adjust program to not access '/sys/block/'

Hi,

I’m creating a snap for an application that lists a host’s drives. It is not working though, after I installed the snap locally and monitor it with snappy-debug I get this app error:

Error: IO(Os { code: 13, kind: PermissionDenied, message: "Permission denied" })

and this snappy-debug I get this error:

= AppArmor =
Time: Oct  8 21:55:40
Log: apparmor="DENIED" operation="open" profile="snap.lfs.lfs" name="/sys/block/" pid=36512 comm="lfs" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
File: /sys/block/ (read)
Suggestion:
* adjust program to not access '/sys/block/'

I have found on another post that I should use hardware-observe but after trying that and mount-observe I’m not having success.

I tried these plugs:

  • mount-observe
  • hardware-observe

Any guidance on what steps I need to follow to give the app access to the host’s drives sizes. Is this something I can fix in the package or do the developer of the software need to make a modification?

Can anyone please assist with some guidance?

not sure why snappy-debug does not suggest it, but:

might help …

Thank you! That helped. All I needed was these

  • block-devices
  • mount-observe