Activity log for bug #1688164

Date Who What changed Old value New value Message
2017-05-04 02:47:30 dann frazier bug added bug
2017-05-04 02:47:44 dann frazier nominated for series Ubuntu Zesty
2017-05-04 02:47:44 dann frazier bug task added linux (Ubuntu Zesty)
2017-05-04 02:47:50 dann frazier linux (Ubuntu): assignee dann frazier (dannf)
2017-05-04 02:47:52 dann frazier linux (Ubuntu Zesty): assignee dann frazier (dannf)
2017-05-04 02:47:54 dann frazier linux (Ubuntu): importance Undecided High
2017-05-04 02:47:56 dann frazier linux (Ubuntu Zesty): importance Undecided High
2017-05-04 02:47:58 dann frazier linux (Ubuntu): status New In Progress
2017-05-04 02:48:01 dann frazier linux (Ubuntu Zesty): status New In Progress
2017-05-08 17:03:36 dann frazier description [Impact] Userspace reads of CNTVCT_EL0 are broken on HiSilicon D05 systems, which breaks some applications such as OpenMPI. [Test Case] #include <sys/times.h> #include <stdio.h> int main(int argc, char *argv[]) { unsigned int freq; __asm__ __volatile__ ("mrs %0, CNTFRQ_EL0" : "=r" (freq)); printf("freq %d\n",freq); return (int)freq; } ================================== gcc test.c test ./test This will report an illegal instruction, but should print a frequency value. [Regression Risk] The best way we can minimize risk is to verify on both a system that has an errata handler for the timer (D05) and a system that doesn't. We should then be exercising both code paths. [Impact] Userspace reads of CNTVCT_EL0 are broken on HiSilicon D05 systems, which breaks some applications such as OpenMPI. [Test Case] #include <sys/times.h> #include <stdio.h> int main(int argc, char *argv[]) {    unsigned int freq;    __asm__ __volatile__ ("mrs %0, CNTFRQ_EL0" : "=r" (freq));    printf("freq %d\n",freq);     return (int)freq; } ================================== gcc test.c test ./test This will report an illegal instruction, but should print a frequency value. [Regression Risk] The best way we can minimize risk is to verify on both a system that has an errata handler for the timer (D05) and a system that doesn't. We should then be exercising both code paths. I have regression tested this, using the above test case, on the HP m400, the QDT Centriq 2400, and a Cavium ThunderX CRB.
2017-05-17 20:00:36 Thadeu Lima de Souza Cascardo linux (Ubuntu Zesty): status In Progress Fix Committed
2017-05-24 13:38:09 Seth Forshee linux (Ubuntu): status In Progress Fix Committed
2017-05-26 02:58:11 Thadeu Lima de Souza Cascardo tags verification-needed-zesty
2017-05-26 14:59:18 dann frazier tags verification-needed-zesty verification-done-zesty
2017-06-01 20:49:51 Launchpad Janitor linux (Ubuntu): status Fix Committed Fix Released
2017-06-01 20:49:51 Launchpad Janitor cve linked 2017-0605
2017-06-01 20:49:51 Launchpad Janitor cve linked 2017-7979
2017-06-06 13:13:53 Launchpad Janitor linux (Ubuntu Zesty): status Fix Committed Fix Released