linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Coverity CIDs 138749, 138750: cnb20le_res() unintended sign extension
@ 2014-04-03 20:56 Bjorn Helgaas
  2014-04-04  0:02 ` Yinghai Lu
  2014-04-04 15:40 ` Bjorn Helgaas
  0 siblings, 2 replies; 4+ messages in thread
From: Bjorn Helgaas @ 2014-04-03 20:56 UTC (permalink / raw)
  To: Ira W. Snyder; +Cc: Yinghai Lu, linux-pci@vger.kernel.org

Coverity complains about unintended sign extension in cnb20le_res() in
arch/x86/pci/broadcom_bus.c here:

60        word1 = read_pci_config_16(bus, slot, func, 0xc4);
 61        word2 = read_pci_config_16(bus, slot, func, 0xc6);
 62        if (word1 != word2) {

CID 138749 (#1 of 2): Unintended sign extension (SIGN_EXTENSION)
sign_extension: Suspicious implicit sign extension: word1 with type
unsigned short (16 bits, unsigned) is promoted in (word1 << 16) | 0 to
type int (32 bits, signed), then sign-extended to type unsigned long
long (64 bits, unsigned). If (word1 << 16) | 0 is greater than
0x7FFFFFFF, the upper bits of the result will all be 1.
 63                res.start = (word1 << 16) | 0x0000;
    CID 138750: Unintended sign extension (SIGN_EXTENSION) [select issue]
 64                res.end   = (word2 << 16) | 0xffff;
 65                res.flags = IORESOURCE_MEM | IORESOURCE_PREFETCH;
 66                update_res(info, res.start, res.end, res.flags, 0);
 67        }

Bjorn

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-04-25 17:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-03 20:56 Coverity CIDs 138749, 138750: cnb20le_res() unintended sign extension Bjorn Helgaas
2014-04-04  0:02 ` Yinghai Lu
2014-04-04 15:40 ` Bjorn Helgaas
2014-04-25 17:02   ` Bjorn Helgaas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).