Module Name: src
Committed By: msaitoh
Date: Wed Dec 18 13:25:00 UTC 2019
Modified Files:
src/sys/dev/pci: if_alc.c
Log Message:
Cast to uint32_t to avoid undefined behavior. Found by kUBSan.
To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.46 src/sys/dev/pci/if_alc.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/pci/if_alc.c
diff -u src/sys/dev/pci/if_alc.c:1.45 src/sys/dev/pci/if_alc.c:1.46
--- src/sys/dev/pci/if_alc.c:1.45 Sun Dec 1 08:16:49 2019
+++ src/sys/dev/pci/if_alc.c Wed Dec 18 13:25:00 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: if_alc.c,v 1.45 2019/12/01 08:16:49 msaitoh Exp $ */
+/* $NetBSD: if_alc.c,v 1.46 2019/12/18 13:25:00 msaitoh Exp $ */
/* $OpenBSD: if_alc.c,v 1.1 2009/08/08 09:31:13 kevlo Exp $ */
/*-
* Copyright (c) 2009, Pyun YongHyeon <[email protected]>
@@ -2815,8 +2815,8 @@ alc_init_backend(struct ifnet *ifp, bool
/* Reprogram the station address. */
memcpy(eaddr, CLLADDR(ifp->if_sadl), sizeof(eaddr));
- CSR_WRITE_4(sc, ALC_PAR0,
- eaddr[2] << 24 | eaddr[3] << 16 | eaddr[4] << 8 | eaddr[5]);
+ CSR_WRITE_4(sc, ALC_PAR0, (uint32_t)eaddr[2] << 24
+ | eaddr[3] << 16 | eaddr[4] << 8 | eaddr[5]);
CSR_WRITE_4(sc, ALC_PAR1, eaddr[0] << 8 | eaddr[1]);
/*
* Clear WOL status and disable all WOL feature as WOL