Package: intel-gpu-tools
Version: 1.22-1
Severity: normal

With a recent libc update, the register access tools all fail like this:

Error: /usr/share/intel-gpu-tools/registers/common_display.txt:1: 
('CPU_VGACNTRL', '0x00041000', '')
Error: /usr/share/intel-gpu-tools/registers/haswell:1: common_display.txt
Warning: reading '/usr/share/intel-gpu-tools/registers/haswell' failed. Using 
builtin register spec.

Some gdb work tracked this down to a use-after free in the parsing code
(tools/intel_reg_spec.c)

                } else if (i == 2) {
                        reg->addr = strtoul(p, &e, 16);
                        free(p);
                        if (*e)
                                ret = -1;

It seems that it "got away" with this with older libc versions, but
something changed between the libc in stretch and that in buster and now
this use-after-free reliably fails every time for me.

-- System Information:
Debian Release: 9.6
  APT prefers stable
  APT policy: (990, 'stable'), (500, 'testing'), (490, 'unstable'), (1, 
'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-8-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages intel-gpu-tools depends on:
ii  libc6          2.28-2
ii  libcairo2      1.16.0-2
ii  libdrm-intel1  2.4.74-1
ii  libdrm2        2.4.95-1
ii  libkmod2       23-2
ii  libpciaccess0  0.13.4-1+b2
ii  libprocps6     2:3.3.12-3+deb9u1
ii  libudev1       232-25+deb9u6
ii  libunwind8     1.1-4.1
ii  libx11-6       2:1.6.4-3+deb9u1
ii  libxext6       2:1.3.3-1+b2
ii  libxrandr2     2:1.5.1-1
ii  libxv1         2:1.0.11-1
ii  zlib1g         1:1.2.11.dfsg-1

intel-gpu-tools recommends no packages.

intel-gpu-tools suggests no packages.

-- no debconf information

Reply via email to