Re: [Qemu-devel] [PATCH] net: ne2000: check ring buffer control registers

2016-02-23 Thread P J P
+-- On Wed, 24 Feb 2016, Jason Wang wrote --+ | Right, but since setting STARTPG,STOPPG,BOUNDARY and CURPAG is not | atomic. Try to limit it during value setting is hard to be correct. I see. | Then let's return true when s->stop <= s->start? Okay. Though I'm not sure if it's the right plac

Re: [Qemu-devel] [PATCH] net: ne2000: check ring buffer control registers

2016-02-23 Thread Jason Wang
On 02/23/2016 04:28 PM, P J P wrote: >Hello Jason, > > +-- On Tue, 23 Feb 2016, Jason Wang wrote --+ > | I mean with your patch, driver will only be allowed to set EN0_STOPPG > | before EN0_STARTPG. So if a driver want to set STARTPG first, the check > | > | +if (v < NE2000_PMEM_

Re: [Qemu-devel] [PATCH] net: ne2000: check ring buffer control registers

2016-02-23 Thread P J P
Hello Jason, +-- On Tue, 23 Feb 2016, Jason Wang wrote --+ | I mean with your patch, driver will only be allowed to set EN0_STOPPG | before EN0_STARTPG. So if a driver want to set STARTPG first, the check | | +if (v < NE2000_PMEM_END && v < s->stop) { | | will prevent the driver f

Re: [Qemu-devel] [PATCH] net: ne2000: check ring buffer control registers

2016-02-22 Thread Jason Wang
On 02/09/2016 02:47 PM, P J P wrote: > Hello Jason, > > +-- On Fri, 5 Feb 2016, Jason Wang wrote --+ > | I suspect this could even work. Consider after realizing, s->stop is > | zero, any attempt to set STARTPG will fail? > > Ie after 'pci_ne2000_realize'? It does not seem to set or reset s->s

Re: [Qemu-devel] [PATCH] net: ne2000: check ring buffer control registers

2016-02-14 Thread P J P
+-- On Tue, 9 Feb 2016, P J P wrote --+ | +-- On Fri, 5 Feb 2016, Jason Wang wrote --+ | | I suspect this could even work. Consider after realizing, s->stop is | | zero, any attempt to set STARTPG will fail? | | Ie after 'pci_ne2000_realize'? It does not seem to set or reset s->stop | register.

Re: [Qemu-devel] [PATCH] net: ne2000: check ring buffer control registers

2016-02-08 Thread P J P
Hello Jason, +-- On Fri, 5 Feb 2016, Jason Wang wrote --+ | I suspect this could even work. Consider after realizing, s->stop is | zero, any attempt to set STARTPG will fail? Ie after 'pci_ne2000_realize'? It does not seem to set or reset s->stop register. | This may not be sufficient, cons

Re: [Qemu-devel] [PATCH] net: ne2000: check ring buffer control registers

2016-02-05 Thread Jason Wang
On 02/02/2016 10:29 PM, P J P wrote: > From: Prasad J Pandit > > Ne2000 NIC uses ring buffer of NE2000_MEM_SIZE(49152) > bytes to process network packets. Four registers PSTART, > PSTOP, CURPAGE and BOUNDARY are used to control ring buffer > access. Setting these registers to invalid values coul

[Qemu-devel] [PATCH] net: ne2000: check ring buffer control registers

2016-02-02 Thread P J P
From: Prasad J Pandit Ne2000 NIC uses ring buffer of NE2000_MEM_SIZE(49152) bytes to process network packets. Four registers PSTART, PSTOP, CURPAGE and BOUNDARY are used to control ring buffer access. Setting these registers to invalid values could lead to infinite loop or OOB r/w access issues.