On Thu, 26 Nov 2015 14:59:24 +0300 Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote: > Hello Michael Buesch, > > The patch 6bbc321a96d4: "b43: Add debugfs files for random SHM > access" from Jun 19, 2008, leads to the following static checker > warning: > > drivers/net/wireless/broadcom/b43/debugfs.c:217 shm32write__write_file() > warn: impossible condition '(mask > 4294967295) => (0-u32max > u32max)' > > drivers/net/wireless/broadcom/b43/debugfs.c > 198 static int shm32write__write_file(struct b43_wldev *dev, > 199 const char *buf, size_t count) > 200 { > 201 unsigned int routing, addr, mask, set; > 202 u32 val; > 203 int res; > 204 > 205 res = sscanf(buf, "0x%X 0x%X 0x%X 0x%X", > 206 &routing, &addr, &mask, &set); > 207 if (res != 4) > 208 return -EINVAL; > 209 if (routing > B43_MAX_SHM_ROUTING) > 210 return -EADDRNOTAVAIL; > 211 if (addr > B43_MAX_SHM_ADDR) > 212 return -EADDRNOTAVAIL; > 213 if (routing == B43_SHM_SHARED) { > 214 if ((addr % 2) != 0) > 215 return -EADDRNOTAVAIL; > 216 } > 217 if ((mask > 0xFFFFFFFF) || (set > 0xFFFFFFFF)) > > Both of these conditions are impossible. > > 218 return -E2BIG; > 219 > 220 if (mask == 0) > 221 val = 0; > 222 else > 223 val = b43_shm_read32(dev, routing, addr); > 224 val &= mask; > 225 val |= set; > 226 b43_shm_write32(dev, routing, addr, val); > 227 > 228 return 0; > 229 } > > See also: > drivers/net/wireless/broadcom/b43/debugfs.c:346 mmio32write__write_file() warn: impossible condition '(mask > 4294967295) => (0-u32max > u32max)' > drivers/net/wireless/broadcom/b43/debugfs.c:346 mmio32write__write_file() warn: impossible condition '(set > 4294967295) => (0-u32max > u32max)' Sure. These are intentional. The compiler will optimize this out. -- Michael
Attachment:
pgpwWBNn7tQOE.pgp
Description: OpenPGP digital signature