(bug report) b43: impossible conditions in debugfs
Dan Carpenter
dan.carpenter at oracle.com
Thu Nov 26 03:59:24 PST 2015
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)'
regards,
dan carpenter
More information about the b43-dev
mailing list