Displaying 12 results from an estimated 12 matches for "empty_ring".
2019 Apr 26
2
[PATCH net] vhost_net: fix possible infinite loop
....a0f89a504cd9 100644
> --- a/drivers/vhost/net.c
> +++ b/drivers/vhost/net.c
> @@ -761,6 +761,23 @@ static int vhost_net_build_xdp(struct vhost_net_virtqueue *nvq,
> return 0;
> }
>
> +/* Returns true if caller needs to go back and re-read the ring. */
> +static bool empty_ring(struct vhost_net *net, struct vhost_virtqueue *vq,
> + int pkts, size_t total_len, bool busyloop_intr)
> +{
> + if (unlikely(busyloop_intr)) {
> + vhost_poll_queue(&vq->poll);
> + } else if (unlikely(vhost_enable_notify(&net->dev, vq))) {
> + /* They have s...
2019 Apr 26
2
[PATCH net] vhost_net: fix possible infinite loop
....a0f89a504cd9 100644
> --- a/drivers/vhost/net.c
> +++ b/drivers/vhost/net.c
> @@ -761,6 +761,23 @@ static int vhost_net_build_xdp(struct vhost_net_virtqueue *nvq,
> return 0;
> }
>
> +/* Returns true if caller needs to go back and re-read the ring. */
> +static bool empty_ring(struct vhost_net *net, struct vhost_virtqueue *vq,
> + int pkts, size_t total_len, bool busyloop_intr)
> +{
> + if (unlikely(busyloop_intr)) {
> + vhost_poll_queue(&vq->poll);
> + } else if (unlikely(vhost_enable_notify(&net->dev, vq))) {
> + /* They have s...
2019 May 12
2
[PATCH net] vhost_net: fix possible infinite loop
.../drivers/vhost/net.c
> > > @@ -761,6 +761,23 @@ static int vhost_net_build_xdp(struct
> > > vhost_net_virtqueue *nvq,
> > > ????? return 0;
> > > ? }
> > > ? +/* Returns true if caller needs to go back and re-read the ring. */
> > > +static bool empty_ring(struct vhost_net *net, struct
> > > vhost_virtqueue *vq,
> > > +?????????????? int pkts, size_t total_len, bool busyloop_intr)
> > > +{
> > > +??? if (unlikely(busyloop_intr)) {
> > > +??????? vhost_poll_queue(&vq->poll);
> > > +??? } els...
2019 May 12
2
[PATCH net] vhost_net: fix possible infinite loop
.../drivers/vhost/net.c
> > > @@ -761,6 +761,23 @@ static int vhost_net_build_xdp(struct
> > > vhost_net_virtqueue *nvq,
> > > ????? return 0;
> > > ? }
> > > ? +/* Returns true if caller needs to go back and re-read the ring. */
> > > +static bool empty_ring(struct vhost_net *net, struct
> > > vhost_virtqueue *vq,
> > > +?????????????? int pkts, size_t total_len, bool busyloop_intr)
> > > +{
> > > +??? if (unlikely(busyloop_intr)) {
> > > +??????? vhost_poll_queue(&vq->poll);
> > > +??? } els...
2019 May 13
0
[PATCH net] vhost_net: fix possible infinite loop
...net.c
>>>> @@ -761,6 +761,23 @@ static int vhost_net_build_xdp(struct
>>>> vhost_net_virtqueue *nvq,
>>>> ????? return 0;
>>>> ? }
>>>> ? +/* Returns true if caller needs to go back and re-read the ring. */
>>>> +static bool empty_ring(struct vhost_net *net, struct
>>>> vhost_virtqueue *vq,
>>>> +?????????????? int pkts, size_t total_len, bool busyloop_intr)
>>>> +{
>>>> +??? if (unlikely(busyloop_intr)) {
>>>> +??????? vhost_poll_queue(&vq->poll);
>>>>...
2019 May 05
0
[PATCH net] vhost_net: fix possible infinite loop
.../drivers/vhost/net.c
>> +++ b/drivers/vhost/net.c
>> @@ -761,6 +761,23 @@ static int vhost_net_build_xdp(struct
>> vhost_net_virtqueue *nvq,
>> ????? return 0;
>> ? }
>> ? +/* Returns true if caller needs to go back and re-read the ring. */
>> +static bool empty_ring(struct vhost_net *net, struct vhost_virtqueue
>> *vq,
>> +?????????????? int pkts, size_t total_len, bool busyloop_intr)
>> +{
>> +??? if (unlikely(busyloop_intr)) {
>> +??????? vhost_poll_queue(&vq->poll);
>> +??? } else if (unlikely(vhost_enable_notify(...
2019 May 14
1
[PATCH net] vhost_net: fix possible infinite loop
...@@ static int vhost_net_build_xdp(struct
> > > > > vhost_net_virtqueue *nvq,
> > > > > ????? return 0;
> > > > > ? }
> > > > > ? +/* Returns true if caller needs to go back and re-read the ring. */
> > > > > +static bool empty_ring(struct vhost_net *net, struct
> > > > > vhost_virtqueue *vq,
> > > > > +?????????????? int pkts, size_t total_len, bool busyloop_intr)
> > > > > +{
> > > > > +??? if (unlikely(busyloop_intr)) {
> > > > > +??????? vhost_poll_...
2019 Apr 25
2
[PATCH net] vhost_net: fix possible infinite loop
When the rx buffer is too small for a packet, we will discard the vq
descriptor and retry it for the next packet:
while ((sock_len = vhost_net_rx_peek_head_len(net, sock->sk,
&busyloop_intr))) {
...
/* On overrun, truncate and discard */
if (unlikely(headcount > UIO_MAXIOV)) {
iov_iter_init(&msg.msg_iter, READ, vq->iov, 1, 1);
err = sock->ops->recvmsg(sock,
2019 Apr 25
2
[PATCH net] vhost_net: fix possible infinite loop
When the rx buffer is too small for a packet, we will discard the vq
descriptor and retry it for the next packet:
while ((sock_len = vhost_net_rx_peek_head_len(net, sock->sk,
&busyloop_intr))) {
...
/* On overrun, truncate and discard */
if (unlikely(headcount > UIO_MAXIOV)) {
iov_iter_init(&msg.msg_iter, READ, vq->iov, 1, 1);
err = sock->ops->recvmsg(sock,
2019 Apr 25
0
[PATCH net] vhost_net: fix possible infinite loop
...c b/drivers/vhost/net.c
index df51a35cf537..a0f89a504cd9 100644
--- a/drivers/vhost/net.c
+++ b/drivers/vhost/net.c
@@ -761,6 +761,23 @@ static int vhost_net_build_xdp(struct vhost_net_virtqueue *nvq,
return 0;
}
+/* Returns true if caller needs to go back and re-read the ring. */
+static bool empty_ring(struct vhost_net *net, struct vhost_virtqueue *vq,
+ int pkts, size_t total_len, bool busyloop_intr)
+{
+ if (unlikely(busyloop_intr)) {
+ vhost_poll_queue(&vq->poll);
+ } else if (unlikely(vhost_enable_notify(&net->dev, vq))) {
+ /* They have slipped one in meanwhile: check...
2013 Jan 25
1
assert in mail-transaction-log-file.c
I setup new server with dovecot 2.1.12 and mboxes from backup (moboxes
was used with dovecot 1.1.6).
OS: FreeBSD 8.3-STABLE, amd64.
All index files from dovecot 1.1.6 has been deleted.
Some times dovecot processes aborted.
E. g.
Jan 25 03:01:52 ost dovecot: lda(user at example.ru): Panic: file mail-transaction-log-file.c: line 1694 (mail_transaction_log_file_map): assertion failed:
2009 Sep 30
3
Some issues in Dovecot 1.2.5 after upgrade from 1.0.15
We upgraded from Dovecot 1.0.15 to 1.2.5 last night, on Solaris 10 using
mboxes, mostly without issues.
However I had to trash the index/cache files (too many folders were
showing corruption issues which is especially bad for Prayer Webmail
".prayer" folders that store preferences; Prayer sees a disconnection as
the folder being missing!).
I've had one imap process panic in mailbox