In Linux 2.6 before 2.6.23, the TRACE_IRQS_ON function in iret_exc calls a C function without ensuring that the segments are set properly. The kernels %fs needs to be restored before the call in TRACE_IRQS_ON and before enabling interrupts, so that current references work. Without this, current used in the window between iret_exc and the middle of error_code where %fs is reset, would crash.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Linux_kernel | Linux | 2.6.0 (including) | 2.6.23 (excluding) |
Linux | Ubuntu | upstream | * |
Linux-armadaxp | Ubuntu | upstream | * |
Linux-flo | Ubuntu | upstream | * |
Linux-goldfish | Ubuntu | upstream | * |
Linux-grouper | Ubuntu | trusty | * |
Linux-grouper | Ubuntu | upstream | * |
Linux-linaro-omap | Ubuntu | precise | * |
Linux-linaro-omap | Ubuntu | upstream | * |
Linux-linaro-shared | Ubuntu | precise | * |
Linux-linaro-shared | Ubuntu | upstream | * |
Linux-linaro-vexpress | Ubuntu | precise | * |
Linux-linaro-vexpress | Ubuntu | upstream | * |
Linux-lts-quantal | Ubuntu | precise | * |
Linux-lts-quantal | Ubuntu | upstream | * |
Linux-lts-raring | Ubuntu | precise | * |
Linux-lts-raring | Ubuntu | upstream | * |
Linux-lts-saucy | Ubuntu | precise | * |
Linux-lts-saucy | Ubuntu | upstream | * |
Linux-lts-trusty | Ubuntu | upstream | * |
Linux-lts-utopic | Ubuntu | upstream | * |
Linux-lts-vivid | Ubuntu | upstream | * |
Linux-lts-wily | Ubuntu | upstream | * |
Linux-lts-xenial | Ubuntu | upstream | * |
Linux-maguro | Ubuntu | trusty | * |
Linux-maguro | Ubuntu | upstream | * |
Linux-mako | Ubuntu | upstream | * |
Linux-manta | Ubuntu | upstream | * |
Linux-qcm-msm | Ubuntu | precise | * |
Linux-qcm-msm | Ubuntu | upstream | * |
Linux-raspi2 | Ubuntu | upstream | * |
Linux-ti-omap4 | Ubuntu | upstream | * |