Module Name: src
Committed By: kamil
Date: Sat Jul 7 21:35:16 UTC 2018
Modified Files:
src/sys/arch/amd64/include: tss.h
src/sys/arch/i386/include: tss.h
Log Message:
Correct unportable signed integer left shift in i386/amd64 tss code
Change the type of IOMAP_INVALOFF to unsigned int.
sys/arch/amd64/amd64/machdep.c:518:42, left shift of 65535 by 16 places cannot
be represented in type 'int'
Detected with Kernel Undefined Behavior Sanitizer.
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/amd64/include/tss.h
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/i386/include/tss.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/amd64/include/tss.h
diff -u src/sys/arch/amd64/include/tss.h:1.7 src/sys/arch/amd64/include/tss.h:1.8
--- src/sys/arch/amd64/include/tss.h:1.7 Thu Jan 4 14:02:23 2018
+++ src/sys/arch/amd64/include/tss.h Sat Jul 7 21:35:16 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tss.h,v 1.7 2018/01/04 14:02:23 maxv Exp $ */
+/* $NetBSD: tss.h,v 1.8 2018/07/07 21:35:16 kamil Exp $ */
/*
* Copyright (c) 2001 Wasabi Systems, Inc.
@@ -63,7 +63,7 @@ struct x86_64_tss {
* I/O bitmap offset beyond TSS's segment limit means no bitmaps.
* (i.e. any I/O attempt generates an exception.)
*/
-#define IOMAP_INVALOFF 0xffff
+#define IOMAP_INVALOFF 0xffffu
/*
* If we have an I/O bitmap, there is only one valid offset.
Index: src/sys/arch/i386/include/tss.h
diff -u src/sys/arch/i386/include/tss.h:1.11 src/sys/arch/i386/include/tss.h:1.12
--- src/sys/arch/i386/include/tss.h:1.11 Thu Jan 4 14:02:23 2018
+++ src/sys/arch/i386/include/tss.h Sat Jul 7 21:35:16 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: tss.h,v 1.11 2018/01/04 14:02:23 maxv Exp $ */
+/* $NetBSD: tss.h,v 1.12 2018/07/07 21:35:16 kamil Exp $ */
/*-
* Copyright (c) 1990 The Regents of the University of California.
@@ -74,7 +74,7 @@ struct i386tss {
* I/O bitmap offset beyond TSS's segment limit means no bitmaps.
* (i.e. any I/O attempt generates an exception.)
*/
-#define IOMAP_INVALOFF 0xffff
+#define IOMAP_INVALOFF 0xffffu
/*
* If we have an I/O bitmap, there is only one valid offset.