Skip to content

Update nvidia for reading application profiles

Vincas Dargis requested to merge Talkless/apparmor:nvidia-app-profiles into master

Add file rule to allow reading application profiles for NVIDIA Linux graphics driver.

Deniel example:

type=AVC msg=audit(1526494038.501:140): apparmor="DENIED" operation="open" profile="/usr/bin/glxgears" name="/usr/share/nvidia/nvidia-application-profiles-390.48-rc" pid=2288 comm="glxgears" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0

Backtrace showing it's triggered by NVIDIA libGLX_nvidia library:

Catchpoint 1 (returned from syscall openat), 0x00007f0619053c8e in __libc_open64 (file=0x55648d5c6943 "/usr/share/nvidia/nvidia-application-profiles-rc", file@entry=0x8 <error: Cannot access memory at address 0x8>, oflag=0) at ../sysdeps/unix/sysv/linux/open64.c:47
47  in ../sysdeps/unix/sysv/linux/open64.c
#0  0x00007f0619053c8e in __libc_open64 (file=0x55648d5c6943 "/usr/share/nvidia/nvidia-application-profiles-rc", file@entry=0x8 <error: Cannot access memory at address 0x8>, oflag=0) at ../sysdeps/unix/sysv/linux/open64.c:47
#1  0x00007f0618fd058a in __GI__IO_file_open (is32not64=1, read_write=8, prot=438, posix_mode=<optimized out>, filename=0x8 <error: Cannot access memory at address 0x8>, fp=0x55648d5b6090) at fileops.c:189
#2  _IO_new_file_fopen (fp=fp@entry=0x55648d5b6090, filename=filename@entry=0x55648d5c6943 "/usr/share/nvidia/nvidia-application-profiles-rc", mode=<optimized out>, mode@entry=0x7f06179ad182 "r", is32not64=is32not64@entry=1) at fileops.c:281
#3  0x00007f0618fc2eaa in __fopen_internal (is32=1, mode=0x7f06179ad182 "r", filename=0x55648d5c6943 "/usr/share/nvidia/nvidia-application-profiles-rc") at iofopen.c:78
#4  _IO_new_fopen (filename=0x55648d5c6943 "/usr/share/nvidia/nvidia-application-profiles-rc", mode=0x7f06179ad182 "r") at iofopen.c:89
#5  0x00007f0617971c3e in ?? () from /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0
#6  0x00007f0617972713 in ?? () from /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0
#7  0x00007f06179028df in ?? () from /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0
#8  0x00007f06179309a9 in ?? () from /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0
#9  0x00007f061792ae31 in glXChooseVisual () from /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0
#10 0x000055648ca5c58b in ?? ()
#11 0x000055648ca5aa87 in ?? ()
#12 0x00007f0618f65b97 in __libc_start_main (main=0x55648ca5a930, argc=1, argv=0x7ffdf16c2df8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffdf16c2de8) at ../csu/libc-start.c:310
#13 0x000055648ca5b41a in ?? ()

Detected on Ubuntu 18.04.

Edited by Vincas Dargis

Merge request reports