DragonFlyBSD Kernel Audit
DF-2222 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/drm/include/linux/completion.h b/sys/dev/drm/include/linux/completion.h
--- a/sys/dev/drm/include/linux/completion.h
+++ b/sys/dev/drm/include/linux/completion.h
@@ -94,7 +94,10 @@
 			ret = 0;
 			break;
 		case ERESTART:
+		case EINTR:
+			/* signal pending: stop waiting, propagate ERESTARTSYS */
 			ret = -ERESTARTSYS;
+			timeout_expired = true;
 			break;
 		case 0:
 			awakened = true;