Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[SCSI] fcoe: precedence bug in fcoe_filter_frames()

Negate has higher precedence than bitwise AND. FCPHF_CRC_UNCHECKED is
0x1 so the original code is equivalent to: if (!fr_flags(fp)) { ...

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

authored by

Dan Carpenter and committed by
James Bottomley
f2f96d20 70be6344

+1 -1
+1 -1
drivers/scsi/fcoe/fcoe.c
··· 1548 1548 return -EINVAL; 1549 1549 } 1550 1550 1551 - if (!fr_flags(fp) & FCPHF_CRC_UNCHECKED || 1551 + if (!(fr_flags(fp) & FCPHF_CRC_UNCHECKED) || 1552 1552 le32_to_cpu(fr_crc(fp)) == ~crc32(~0, skb->data, skb->len)) { 1553 1553 fr_flags(fp) &= ~FCPHF_CRC_UNCHECKED; 1554 1554 return 0;