[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] libvchan: Make raw_get_{data_ready, buffer_space} match
Jason Andryuk writes ("[PATCH] libvchan: Make raw_get_{data_ready,buffer_space} match"): > For writing into a vchan, raw_get_buffer_space used >, allowing the full > ring size to be written. On the read side, raw_get_data_ready compared > the ring size with >=. This mismatch means a completely filled buffer > cannot be read. Fix this by making the size checks identical. This seems right to me, but I have CC'd the authors of this area of code to give them a chance to comment. Thanks, Ian. > Signed-off-by: Jason Andryuk <andryuk@xxxxxxxx> > --- > tools/libvchan/io.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/libvchan/io.c b/tools/libvchan/io.c > index 804c63c..6e6e239 100644 > --- a/tools/libvchan/io.c > +++ b/tools/libvchan/io.c > @@ -118,7 +118,7 @@ static inline int send_notify(struct libxenvchan *ctrl, > uint8_t bit) > static inline int raw_get_data_ready(struct libxenvchan *ctrl) > { > uint32_t ready = rd_prod(ctrl) - rd_cons(ctrl); > - if (ready >= rd_ring_size(ctrl)) > + if (ready > rd_ring_size(ctrl)) > /* We have no way to return errors. Locking up the ring is > * better than the alternatives. */ > return 0; > -- > 1.8.3.1 > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |