diff options
Diffstat (limited to 'results/classifier/118/none/1844817')
| -rw-r--r-- | results/classifier/118/none/1844817 | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/results/classifier/118/none/1844817 b/results/classifier/118/none/1844817 new file mode 100644 index 000000000..77b9bb9ed --- /dev/null +++ b/results/classifier/118/none/1844817 @@ -0,0 +1,57 @@ +device: 0.708 +files: 0.698 +socket: 0.491 +kernel: 0.483 +ppc: 0.482 +network: 0.428 +PID: 0.419 +risc-v: 0.395 +peripherals: 0.372 +architecture: 0.335 +performance: 0.326 +register: 0.277 +graphic: 0.238 +arm: 0.234 +boot: 0.231 +vnc: 0.228 +hypervisor: 0.203 +TCG: 0.200 +semantic: 0.185 +mistranslation: 0.144 +x86: 0.140 +VMM: 0.132 +debug: 0.122 +permissions: 0.119 +i386: 0.118 +KVM: 0.109 +user-level: 0.086 +assembly: 0.040 +virtual: 0.028 + +trace: dynamic width format syntax not validated + +The dtrace via stap backend cannot support the dynamic '*' width format. + +Eric noted in https://lists.gnu.org/archive/html/qemu-devel/2019-09/msg04720.html: + + https://sourceware.org/systemtap/langref.pdf + + section 9.2 printf, states: + + "The printf formatting directives are similar to those of C, except that + they are fully checked for type by the translator." + + and does NOT list handling for '*' under precision or width. + +Some trace events have been merged without checking this: + +$ git ls-files|fgrep trace-event|xargs git grep '*\("\|x\)' +hw/block/trace-events:11:pflash_io_read(uint64_t offset, int width, int fmt_width, uint32_t value, uint8_t cmd, uint8_t wcycle) "offset:0x%04"PRIx64" width:%d value:0x%0*x cmd:0x%02x wcycle:%u" +hw/block/trace-events:12:pflash_io_write(uint64_t offset, int width, int fmt_width, uint32_t value, uint8_t wcycle) "offset:0x%04"PRIx64" width:%d value:0x%0*x wcycle:%u" +hw/block/trace-events:13:pflash_data_read(uint64_t offset, int width, uint32_t value) "data offset:0x%04"PRIx64" value:0x%0*x" +hw/block/trace-events:14:pflash_data_write(uint64_t offset, int width, uint32_t value, uint64_t counter) "data offset:0x%04"PRIx64" value:0x%0*x counter:0x%016"PRIx64 +hw/mips/trace-events:2:gt64120_read(const char *regname, int width, uint64_t value) "gt64120 read %s value:0x%0*" PRIx64 +hw/mips/trace-events:3:gt64120_write(const char *regname, int width, uint64_t value) "gt64120 write %s value:0x%0*" PRIx64 + +Fixed in v4.2.0 (commits abc7cf3655 & 10f9f1fbed). + |