Module Name: src Committed By: msaitoh Date: Thu Oct 17 15:57:56 UTC 2019
Modified Files: src/sys/dev/pci: if_bce.c if_mcx.c Log Message: Use unsigned to avoid undefined behavior. Found by kUBSan. To generate a diff of this commit: cvs rdiff -u -r1.52 -r1.53 src/sys/dev/pci/if_bce.c cvs rdiff -u -r1.4 -r1.5 src/sys/dev/pci/if_mcx.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_bce.c diff -u src/sys/dev/pci/if_bce.c:1.52 src/sys/dev/pci/if_bce.c:1.53 --- src/sys/dev/pci/if_bce.c:1.52 Thu May 30 02:32:18 2019 +++ src/sys/dev/pci/if_bce.c Thu Oct 17 15:57:56 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: if_bce.c,v 1.52 2019/05/30 02:32:18 msaitoh Exp $ */ +/* $NetBSD: if_bce.c,v 1.53 2019/10/17 15:57:56 msaitoh Exp $ */ /* * Copyright (c) 2003 Clifford Wright. All rights reserved. @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_bce.c,v 1.52 2019/05/30 02:32:18 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_bce.c,v 1.53 2019/10/17 15:57:56 msaitoh Exp $"); #include "vlan.h" @@ -1010,7 +1010,7 @@ bce_add_mac(struct bce_softc *sc, uint8_ uint32_t rval; bus_space_write_4(sc->bce_btag, sc->bce_bhandle, BCE_FILT_LOW, - mac[2] << 24 | mac[3] << 16 | mac[4] << 8 | mac[5]); + (uint32_t)mac[2] << 24 | mac[3] << 16 | mac[4] << 8 | mac[5]); bus_space_write_4(sc->bce_btag, sc->bce_bhandle, BCE_FILT_HI, mac[0] << 8 | mac[1] | 0x10000); /* MAGIC */ bus_space_write_4(sc->bce_btag, sc->bce_bhandle, BCE_FILT_CTL, Index: src/sys/dev/pci/if_mcx.c diff -u src/sys/dev/pci/if_mcx.c:1.4 src/sys/dev/pci/if_mcx.c:1.5 --- src/sys/dev/pci/if_mcx.c:1.4 Sat Sep 28 16:22:45 2019 +++ src/sys/dev/pci/if_mcx.c Thu Oct 17 15:57:56 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: if_mcx.c,v 1.4 2019/09/28 16:22:45 tnn Exp $ */ +/* $NetBSD: if_mcx.c,v 1.5 2019/10/17 15:57:56 msaitoh Exp $ */ /* $OpenBSD: if_mcx.c,v 1.33 2019/09/12 04:23:59 jmatthew Exp $ */ /* @@ -130,7 +130,7 @@ #define MCX_CMDQ_DOORBELL 0x0018 #define MCX_STATE 0x01fc -#define MCX_STATE_MASK (1 << 31) +#define MCX_STATE_MASK (1U << 31) #define MCX_STATE_INITIALIZING (1 << 31) #define MCX_STATE_READY (0 << 31) #define MCX_STATE_INTERFACE_MASK (0x3 << 24) @@ -1324,7 +1324,7 @@ CTASSERT(sizeof(struct mcx_wq_ctx) == 0x struct mcx_sq_ctx { uint32_t sq_flags; -#define MCX_SQ_CTX_RLKEY (1 << 31) +#define MCX_SQ_CTX_RLKEY (1U << 31) #define MCX_SQ_CTX_FRE_SHIFT (1 << 29) #define MCX_SQ_CTX_FLUSH_IN_ERROR (1 << 28) #define MCX_SQ_CTX_MIN_WQE_INLINE_SHIFT 24 @@ -1434,7 +1434,7 @@ struct mcx_cmd_destroy_sq_out { struct mcx_rq_ctx { uint32_t rq_flags; -#define MCX_RQ_CTX_RLKEY (1 << 31) +#define MCX_RQ_CTX_RLKEY (1U << 31) #define MCX_RQ_CTX_VLAN_STRIP_DIS (1 << 28) #define MCX_RQ_CTX_MEM_RQ_TYPE_SHIFT 24 #define MCX_RQ_CTX_STATE_SHIFT 20 @@ -6501,7 +6501,7 @@ mcx_media_add_types(struct mcx_softc *sc proto_cap = be32toh(ptys.rp_eth_proto_cap); for (i = 0; i < __arraycount(mcx_eth_cap_map); i++) { - if ((proto_cap & (1 << i)) && (mcx_eth_cap_map[i] != 0)) + if ((proto_cap & (1U << i)) && (mcx_eth_cap_map[i] != 0)) ifmedia_add(&sc->sc_media, IFM_ETHER | mcx_eth_cap_map[i], 0, NULL); } @@ -6531,7 +6531,7 @@ mcx_media_status(struct ifnet *ifp, stru media_oper = 0; for (i = 0; i < __arraycount(mcx_eth_cap_map); i++) { - if (proto_oper & (1 << i)) { + if (proto_oper & (1U << i)) { media_oper = mcx_eth_cap_map[i]; } }