On Mon, Jan 20, 2025 at 01:00:15PM +0100, Niklas Cassel wrote: > Hello Bjorn, > > On Sat, Jan 18, 2025 at 02:34:21PM -0600, Bjorn Helgaas wrote: > > On Tue, Dec 03, 2024 at 07:38:53AM +0100, Niklas Cassel wrote: > > > The test BAR is on the EP side is allocated using pci_epf_alloc_space(), > > > which allocates the backing memory using dma_alloc_coherent(), which will > > > return zeroed memory regardless of __GFP_ZERO was set or not. > > > > > +static void pci_epf_test_set_capabilities(struct pci_epf *epf) > > > +{ > > > + struct pci_epf_test *epf_test = epf_get_drvdata(epf); > > > + enum pci_barno test_reg_bar = epf_test->test_reg_bar; > > > + struct pci_epf_test_reg *reg = epf_test->reg[test_reg_bar]; > > > + struct pci_epc *epc = epf->epc; > > > + u32 caps = 0; > > > + > > > + if (epc->ops->align_addr) > > > + caps |= CAP_UNALIGNED_ACCESS; > > > + > > > + reg->caps = cpu_to_le32(caps); > > > > "make C=2 drivers/pci/" complains about this: > > > > drivers/pci/endpoint/functions/pci-epf-test.c:756:19: warning: incorrect type in assignment (different base types) > > drivers/pci/endpoint/functions/pci-epf-test.c:756:19: expected unsigned int [usertype] caps > > drivers/pci/endpoint/functions/pci-epf-test.c:756:19: got restricted __le32 [usertype] > > Yes, pci-epf-test is broken when it comes to endianness, as reported here: > https://lore.kernel.org/linux-pci/ZxYHoi4mv-4eg0TK@xxxxxxxxx/ > > > Nice to see that sparse is complaining about it! :) > > Mani said that he was going to work on it, but I guess that it fell through > the cracks. > It doesn't but I put it in the back burner due to other high priority issues to fix. > I sent patch for it here: > https://lore.kernel.org/linux-pci/20250120115009.2748899-2-cassel@xxxxxxxxxx/T/#u > Thanks a lot! - Mani -- மணிவண்ணன் சதாசிவம்