(bug report) b43: impossible conditions in debugfs
Michael Büsch
m at bues.ch
Thu Nov 26 04:32:41 PST 2015
On Thu, 26 Nov 2015 14:59:24 +0300
Dan Carpenter <dan.carpenter at oracle.com> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/b43-dev/attachments/20151126/99514e38/attachment.sig>
More information about the b43-dev
mailing list