* [kbuild] [vfio:vfio-vga 4/5] drivers/vfio/pci/vfio_pci_rdwr.c:191 vfio_pci_legacy_mem_rw() warn: consider using resource_size() here [not found] <50f710b7.bKAbZBXVqYjysXq+%fengguang.wu@intel.com> @ 2013-01-17 1:20 ` Fengguang Wu 2013-01-21 18:17 ` Dan Carpenter 0 siblings, 1 reply; 3+ messages in thread From: Fengguang Wu @ 2013-01-17 1:20 UTC (permalink / raw) To: Alex Williamson; +Cc: kvm Hi Alex, FYI, there are new smatch warnings show up in tree: git://github.com/awilliam/linux-vfio.git vfio-vga head: 2c2e21fa66c40ed7b8e434c86a9f2ab0c879f21d commit: c5b7a5a85fa477e70497c513f2acda50eea73bf7 [4/5] vfio-pci: Add support for legacy MMIO & I/O port towards VGA support New smatch warnings: drivers/vfio/pci/vfio_pci_rdwr.c:191 vfio_pci_legacy_mem_rw() warn: consider using resource_size() here drivers/vfio/pci/vfio_pci_rdwr.c:206 vfio_pci_legacy_mem_rw() warn: always true condition '(done >= 0) => (0-u32max >= 0)' drivers/vfio/pci/vfio_pci_rdwr.c:254 vfio_pci_legacy_io_rw() warn: always true condition '(done >= 0) => (0-u32max >= 0)' Old smatch warnings: drivers/vfio/pci/vfio_pci_rdwr.c:170 vfio_pci_bar_rw() warn: always true condition '(done >= 0) => (0-u32max >= 0)' vim +191 drivers/vfio/pci/vfio_pci_rdwr.c c5b7a5a8 Alex Williamson 2013-01-16 185 if (vdev->has_vga && pos >= 0xa0000 && pos < 0xc0000) { c5b7a5a8 Alex Williamson 2013-01-16 186 void __iomem *mem; c5b7a5a8 Alex Williamson 2013-01-16 187 size_t done; c5b7a5a8 Alex Williamson 2013-01-16 188 c5b7a5a8 Alex Williamson 2013-01-16 189 count = min(count, (size_t)(0xc0000 - pos)); c5b7a5a8 Alex Williamson 2013-01-16 190 c5b7a5a8 Alex Williamson 2013-01-16 @191 mem = ioremap_nocache(0xa0000, 0xc0000 - 0xa0000); c5b7a5a8 Alex Williamson 2013-01-16 192 if (!mem) c5b7a5a8 Alex Williamson 2013-01-16 193 return -ENOMEM; c5b7a5a8 Alex Williamson 2013-01-16 194 c5b7a5a8 Alex Williamson 2013-01-16 195 ret = vga_get_interruptible(vdev->pdev, VGA_RSRC_LEGACY_MEM); c5b7a5a8 Alex Williamson 2013-01-16 196 if (ret) { c5b7a5a8 Alex Williamson 2013-01-16 197 iounmap(mem); c5b7a5a8 Alex Williamson 2013-01-16 198 return ret; c5b7a5a8 Alex Williamson 2013-01-16 199 } c5b7a5a8 Alex Williamson 2013-01-16 200 c5b7a5a8 Alex Williamson 2013-01-16 201 done = do_io_rw(mem, buf, pos - 0xa0000, count, 0, 0, iswrite); c5b7a5a8 Alex Williamson 2013-01-16 202 c5b7a5a8 Alex Williamson 2013-01-16 203 vga_put(vdev->pdev, VGA_RSRC_LEGACY_MEM); c5b7a5a8 Alex Williamson 2013-01-16 204 iounmap(mem); c5b7a5a8 Alex Williamson 2013-01-16 205 c5b7a5a8 Alex Williamson 2013-01-16 @206 if (done >= 0) c5b7a5a8 Alex Williamson 2013-01-16 207 *ppos += done; c5b7a5a8 Alex Williamson 2013-01-16 208 c5b7a5a8 Alex Williamson 2013-01-16 209 return done; c5b7a5a8 Alex Williamson 2013-01-16 210 } c5b7a5a8 Alex Williamson 2013-01-16 211 c5b7a5a8 Alex Williamson 2013-01-16 212 return -EINVAL; c5b7a5a8 Alex Williamson 2013-01-16 213 } c5b7a5a8 Alex Williamson 2013-01-16 214 c5b7a5a8 Alex Williamson 2013-01-16 215 ssize_t vfio_pci_legacy_io_rw(struct vfio_pci_device *vdev, char __user *buf, c5b7a5a8 Alex Williamson 2013-01-16 216 size_t count, loff_t *ppos, bool iswrite) c5b7a5a8 Alex Williamson 2013-01-16 217 { c5b7a5a8 Alex Williamson 2013-01-16 218 int ret; c5b7a5a8 Alex Williamson 2013-01-16 219 loff_t pos = *ppos & VFIO_PCI_OFFSET_MASK; c5b7a5a8 Alex Williamson 2013-01-16 220 c5b7a5a8 Alex Williamson 2013-01-16 221 if (vdev->has_vga && c5b7a5a8 Alex Williamson 2013-01-16 222 ((pos >= 0x3b0 && pos < 0x3bc) || (pos >= 0x3c0 && pos < 0x3e0))) { c5b7a5a8 Alex Williamson 2013-01-16 223 void __iomem *io = NULL; c5b7a5a8 Alex Williamson 2013-01-16 224 loff_t off; c5b7a5a8 Alex Williamson 2013-01-16 225 size_t done; c5b7a5a8 Alex Williamson 2013-01-16 226 c5b7a5a8 Alex Williamson 2013-01-16 227 switch (pos) { c5b7a5a8 Alex Williamson 2013-01-16 228 case 0x3b0 ... 0x3bb: c5b7a5a8 Alex Williamson 2013-01-16 229 count = min(count, (size_t)(0x3bc - pos)); c5b7a5a8 Alex Williamson 2013-01-16 230 io = ioport_map(0x3b0, 0x3bc - 0x3b0); c5b7a5a8 Alex Williamson 2013-01-16 231 off = pos - 0x3b0; c5b7a5a8 Alex Williamson 2013-01-16 232 break; c5b7a5a8 Alex Williamson 2013-01-16 233 case 0x3c0 ... 0x3df: c5b7a5a8 Alex Williamson 2013-01-16 234 count = min(count, (size_t)(0x3e0 - pos)); c5b7a5a8 Alex Williamson 2013-01-16 235 io = ioport_map(0x3c0, 0x3e0 - 0x3c0); c5b7a5a8 Alex Williamson 2013-01-16 236 off = pos - 0x3c0; c5b7a5a8 Alex Williamson 2013-01-16 237 break; c5b7a5a8 Alex Williamson 2013-01-16 238 } c5b7a5a8 Alex Williamson 2013-01-16 239 c5b7a5a8 Alex Williamson 2013-01-16 240 if (!io) c5b7a5a8 Alex Williamson 2013-01-16 241 return -ENOMEM; c5b7a5a8 Alex Williamson 2013-01-16 242 c5b7a5a8 Alex Williamson 2013-01-16 243 ret = vga_get_interruptible(vdev->pdev, VGA_RSRC_LEGACY_IO); c5b7a5a8 Alex Williamson 2013-01-16 244 if (ret) { c5b7a5a8 Alex Williamson 2013-01-16 245 ioport_unmap(io); c5b7a5a8 Alex Williamson 2013-01-16 246 return ret; c5b7a5a8 Alex Williamson 2013-01-16 247 } c5b7a5a8 Alex Williamson 2013-01-16 248 c5b7a5a8 Alex Williamson 2013-01-16 249 done = do_io_rw(io, buf, off, count, 0, 0, iswrite); c5b7a5a8 Alex Williamson 2013-01-16 250 c5b7a5a8 Alex Williamson 2013-01-16 251 vga_put(vdev->pdev, VGA_RSRC_LEGACY_IO); c5b7a5a8 Alex Williamson 2013-01-16 252 ioport_unmap(io); c5b7a5a8 Alex Williamson 2013-01-16 253 c5b7a5a8 Alex Williamson 2013-01-16 @254 if (done >= 0) c5b7a5a8 Alex Williamson 2013-01-16 255 *ppos += done; c5b7a5a8 Alex Williamson 2013-01-16 256 c5b7a5a8 Alex Williamson 2013-01-16 257 return done; --- 0-DAY kernel build testing backend Open Source Technology Center http://lists.01.org/mailman/listinfo/kbuild Intel Corporation _______________________________________________ kbuild mailing list kbuild@lists.01.org https://lists.01.org/mailman/listinfo/kbuild ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [kbuild] [vfio:vfio-vga 4/5] drivers/vfio/pci/vfio_pci_rdwr.c:191 vfio_pci_legacy_mem_rw() warn: consider using resource_size() here 2013-01-17 1:20 ` [kbuild] [vfio:vfio-vga 4/5] drivers/vfio/pci/vfio_pci_rdwr.c:191 vfio_pci_legacy_mem_rw() warn: consider using resource_size() here Fengguang Wu @ 2013-01-21 18:17 ` Dan Carpenter 2013-01-22 0:59 ` Fengguang Wu 0 siblings, 1 reply; 3+ messages in thread From: Dan Carpenter @ 2013-01-21 18:17 UTC (permalink / raw) To: Fengguang Wu; +Cc: Alex Williamson, kvm Hi Fengguang, I already forwarded these on Thursday. You should have got a mail about it because I CC'd the kbuild list. regards, dan carpenter On Thu, Jan 17, 2013 at 09:20:49AM +0800, Fengguang Wu wrote: > > Hi Alex, > > FYI, there are new smatch warnings show up in > > tree: git://github.com/awilliam/linux-vfio.git vfio-vga > head: 2c2e21fa66c40ed7b8e434c86a9f2ab0c879f21d > commit: c5b7a5a85fa477e70497c513f2acda50eea73bf7 [4/5] vfio-pci: Add support for legacy MMIO & I/O port towards VGA support > > New smatch warnings: > drivers/vfio/pci/vfio_pci_rdwr.c:191 vfio_pci_legacy_mem_rw() warn: consider using resource_size() here > drivers/vfio/pci/vfio_pci_rdwr.c:206 vfio_pci_legacy_mem_rw() warn: always true condition '(done >= 0) => (0-u32max >= 0)' > drivers/vfio/pci/vfio_pci_rdwr.c:254 vfio_pci_legacy_io_rw() warn: always true condition '(done >= 0) => (0-u32max >= 0)' > > Old smatch warnings: > drivers/vfio/pci/vfio_pci_rdwr.c:170 vfio_pci_bar_rw() warn: always true condition '(done >= 0) => (0-u32max >= 0)' > > vim +191 drivers/vfio/pci/vfio_pci_rdwr.c > > c5b7a5a8 Alex Williamson 2013-01-16 185 if (vdev->has_vga && pos >= 0xa0000 && pos < 0xc0000) { > c5b7a5a8 Alex Williamson 2013-01-16 186 void __iomem *mem; > c5b7a5a8 Alex Williamson 2013-01-16 187 size_t done; > c5b7a5a8 Alex Williamson 2013-01-16 188 > c5b7a5a8 Alex Williamson 2013-01-16 189 count = min(count, (size_t)(0xc0000 - pos)); > c5b7a5a8 Alex Williamson 2013-01-16 190 > c5b7a5a8 Alex Williamson 2013-01-16 @191 mem = ioremap_nocache(0xa0000, 0xc0000 - 0xa0000); > c5b7a5a8 Alex Williamson 2013-01-16 192 if (!mem) > c5b7a5a8 Alex Williamson 2013-01-16 193 return -ENOMEM; > c5b7a5a8 Alex Williamson 2013-01-16 194 > c5b7a5a8 Alex Williamson 2013-01-16 195 ret = vga_get_interruptible(vdev->pdev, VGA_RSRC_LEGACY_MEM); > c5b7a5a8 Alex Williamson 2013-01-16 196 if (ret) { > c5b7a5a8 Alex Williamson 2013-01-16 197 iounmap(mem); > c5b7a5a8 Alex Williamson 2013-01-16 198 return ret; > c5b7a5a8 Alex Williamson 2013-01-16 199 } > c5b7a5a8 Alex Williamson 2013-01-16 200 > c5b7a5a8 Alex Williamson 2013-01-16 201 done = do_io_rw(mem, buf, pos - 0xa0000, count, 0, 0, iswrite); > c5b7a5a8 Alex Williamson 2013-01-16 202 > c5b7a5a8 Alex Williamson 2013-01-16 203 vga_put(vdev->pdev, VGA_RSRC_LEGACY_MEM); > c5b7a5a8 Alex Williamson 2013-01-16 204 iounmap(mem); > c5b7a5a8 Alex Williamson 2013-01-16 205 > c5b7a5a8 Alex Williamson 2013-01-16 @206 if (done >= 0) > c5b7a5a8 Alex Williamson 2013-01-16 207 *ppos += done; > c5b7a5a8 Alex Williamson 2013-01-16 208 > c5b7a5a8 Alex Williamson 2013-01-16 209 return done; > c5b7a5a8 Alex Williamson 2013-01-16 210 } > c5b7a5a8 Alex Williamson 2013-01-16 211 > c5b7a5a8 Alex Williamson 2013-01-16 212 return -EINVAL; > c5b7a5a8 Alex Williamson 2013-01-16 213 } > c5b7a5a8 Alex Williamson 2013-01-16 214 > c5b7a5a8 Alex Williamson 2013-01-16 215 ssize_t vfio_pci_legacy_io_rw(struct vfio_pci_device *vdev, char __user *buf, > c5b7a5a8 Alex Williamson 2013-01-16 216 size_t count, loff_t *ppos, bool iswrite) > c5b7a5a8 Alex Williamson 2013-01-16 217 { > c5b7a5a8 Alex Williamson 2013-01-16 218 int ret; > c5b7a5a8 Alex Williamson 2013-01-16 219 loff_t pos = *ppos & VFIO_PCI_OFFSET_MASK; > c5b7a5a8 Alex Williamson 2013-01-16 220 > c5b7a5a8 Alex Williamson 2013-01-16 221 if (vdev->has_vga && > c5b7a5a8 Alex Williamson 2013-01-16 222 ((pos >= 0x3b0 && pos < 0x3bc) || (pos >= 0x3c0 && pos < 0x3e0))) { > c5b7a5a8 Alex Williamson 2013-01-16 223 void __iomem *io = NULL; > c5b7a5a8 Alex Williamson 2013-01-16 224 loff_t off; > c5b7a5a8 Alex Williamson 2013-01-16 225 size_t done; > c5b7a5a8 Alex Williamson 2013-01-16 226 > c5b7a5a8 Alex Williamson 2013-01-16 227 switch (pos) { > c5b7a5a8 Alex Williamson 2013-01-16 228 case 0x3b0 ... 0x3bb: > c5b7a5a8 Alex Williamson 2013-01-16 229 count = min(count, (size_t)(0x3bc - pos)); > c5b7a5a8 Alex Williamson 2013-01-16 230 io = ioport_map(0x3b0, 0x3bc - 0x3b0); > c5b7a5a8 Alex Williamson 2013-01-16 231 off = pos - 0x3b0; > c5b7a5a8 Alex Williamson 2013-01-16 232 break; > c5b7a5a8 Alex Williamson 2013-01-16 233 case 0x3c0 ... 0x3df: > c5b7a5a8 Alex Williamson 2013-01-16 234 count = min(count, (size_t)(0x3e0 - pos)); > c5b7a5a8 Alex Williamson 2013-01-16 235 io = ioport_map(0x3c0, 0x3e0 - 0x3c0); > c5b7a5a8 Alex Williamson 2013-01-16 236 off = pos - 0x3c0; > c5b7a5a8 Alex Williamson 2013-01-16 237 break; > c5b7a5a8 Alex Williamson 2013-01-16 238 } > c5b7a5a8 Alex Williamson 2013-01-16 239 > c5b7a5a8 Alex Williamson 2013-01-16 240 if (!io) > c5b7a5a8 Alex Williamson 2013-01-16 241 return -ENOMEM; > c5b7a5a8 Alex Williamson 2013-01-16 242 > c5b7a5a8 Alex Williamson 2013-01-16 243 ret = vga_get_interruptible(vdev->pdev, VGA_RSRC_LEGACY_IO); > c5b7a5a8 Alex Williamson 2013-01-16 244 if (ret) { > c5b7a5a8 Alex Williamson 2013-01-16 245 ioport_unmap(io); > c5b7a5a8 Alex Williamson 2013-01-16 246 return ret; > c5b7a5a8 Alex Williamson 2013-01-16 247 } > c5b7a5a8 Alex Williamson 2013-01-16 248 > c5b7a5a8 Alex Williamson 2013-01-16 249 done = do_io_rw(io, buf, off, count, 0, 0, iswrite); > c5b7a5a8 Alex Williamson 2013-01-16 250 > c5b7a5a8 Alex Williamson 2013-01-16 251 vga_put(vdev->pdev, VGA_RSRC_LEGACY_IO); > c5b7a5a8 Alex Williamson 2013-01-16 252 ioport_unmap(io); > c5b7a5a8 Alex Williamson 2013-01-16 253 > c5b7a5a8 Alex Williamson 2013-01-16 @254 if (done >= 0) > c5b7a5a8 Alex Williamson 2013-01-16 255 *ppos += done; > c5b7a5a8 Alex Williamson 2013-01-16 256 > c5b7a5a8 Alex Williamson 2013-01-16 257 return done; > > --- > 0-DAY kernel build testing backend Open Source Technology Center > http://lists.01.org/mailman/listinfo/kbuild Intel Corporation > _______________________________________________ > kbuild mailing list > kbuild@lists.01.org > https://lists.01.org/mailman/listinfo/kbuild > _______________________________________________ > kbuild mailing list > kbuild@lists.01.org > https://lists.01.org/mailman/listinfo/kbuild ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [kbuild] [vfio:vfio-vga 4/5] drivers/vfio/pci/vfio_pci_rdwr.c:191 vfio_pci_legacy_mem_rw() warn: consider using resource_size() here 2013-01-21 18:17 ` Dan Carpenter @ 2013-01-22 0:59 ` Fengguang Wu 0 siblings, 0 replies; 3+ messages in thread From: Fengguang Wu @ 2013-01-22 0:59 UTC (permalink / raw) To: Dan Carpenter; +Cc: Alex Williamson, kvm Hi Dan and Alex, On Mon, Jan 21, 2013 at 09:17:51PM +0300, Dan Carpenter wrote: > Hi Fengguang, > > I already forwarded these on Thursday. You should have got a mail > about it because I CC'd the kbuild list. Yes it is! Sorry for the duplicated report! Fengguang ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-01-22 0:59 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <50f710b7.bKAbZBXVqYjysXq+%fengguang.wu@intel.com>
2013-01-17 1:20 ` [kbuild] [vfio:vfio-vga 4/5] drivers/vfio/pci/vfio_pci_rdwr.c:191 vfio_pci_legacy_mem_rw() warn: consider using resource_size() here Fengguang Wu
2013-01-21 18:17 ` Dan Carpenter
2013-01-22 0:59 ` Fengguang Wu
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox