2013/11/12 Måns Rullgård <m...@mansr.com>: > Geyslan Gregório Bem <geys...@gmail.com> writes: > >> Hi, >> >> Coverity detected in 'arch/x86/kernel/cpu/perf_event_intel_uncore.c' a >> possible reliance on integer endianness. Is that a positive one? > > No, x86 is always little endian. > >> static u64 ivt_uncore_irp_read_counter(struct intel_uncore_box *box, >> struct perf_event *event) >> 1369{ >> 1370 struct pci_dev *pdev = box->pci_dev; >> 1371 struct hw_perf_event *hwc = &event->hw; >> 1372 u64 count = 0; >> 1373 >> >> CID 1128445 (#1 of 1): Reliance on integer endianness >> (INCOMPATIBLE_CAST)incompatible_cast: Pointer "&count" points to an >> object whose effective type is "unsigned long long" (64 bits, >> unsigned) but is dereferenced as a narrower "unsigned int" (32 bits, >> unsigned). This may lead to unexpected results depending on machine >> endianness.[show details] >> >> 1374 pci_read_config_dword(pdev, ivt_uncore_irp_ctrs[hwc->idx], >> (u32 *)&count); >> 1375 pci_read_config_dword(pdev, ivt_uncore_irp_ctrs[hwc->idx] >> + 4, (u32 *)&count + 1); >> 1376 >> 1377 return count; >> 1378} > > This looks intentional and correct apart from possible strict aliasing > issues. > > -- > Måns Rullgård > m...@mansr.com
All right. Thanks. -- Regards, Geyslan G. Bem hackingbits.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/