Re: [PATCH 4/8] xen/blkfront: don't trust the backend response data blindly

2021-07-07 Thread Juergen Gross
On 08.07.21 08:52, Jan Beulich wrote: On 08.07.2021 08:40, Juergen Gross wrote: On 08.07.21 08:37, Jan Beulich wrote: On 08.07.2021 07:47, Juergen Gross wrote: On 17.05.21 17:33, Jan Beulich wrote: On 17.05.2021 17:22, Juergen Gross wrote: On 17.05.21 17:12, Jan Beulich wrote: On 17.05.2021

Re: [PATCH 4/8] xen/blkfront: don't trust the backend response data blindly

2021-07-07 Thread Jan Beulich
On 08.07.2021 08:40, Juergen Gross wrote: > On 08.07.21 08:37, Jan Beulich wrote: >> On 08.07.2021 07:47, Juergen Gross wrote: >>> On 17.05.21 17:33, Jan Beulich wrote: On 17.05.2021 17:22, Juergen Gross wrote: > On 17.05.21 17:12, Jan Beulich wrote: >> On 17.05.2021 16:23, Juergen Gro

Re: [PATCH 4/8] xen/blkfront: don't trust the backend response data blindly

2021-07-07 Thread Juergen Gross
On 08.07.21 08:37, Jan Beulich wrote: On 08.07.2021 07:47, Juergen Gross wrote: On 17.05.21 17:33, Jan Beulich wrote: On 17.05.2021 17:22, Juergen Gross wrote: On 17.05.21 17:12, Jan Beulich wrote: On 17.05.2021 16:23, Juergen Gross wrote: On 17.05.21 16:11, Jan Beulich wrote: On 13.05.2021

Re: [PATCH 4/8] xen/blkfront: don't trust the backend response data blindly

2021-07-07 Thread Jan Beulich
On 08.07.2021 07:47, Juergen Gross wrote: > On 17.05.21 17:33, Jan Beulich wrote: >> On 17.05.2021 17:22, Juergen Gross wrote: >>> On 17.05.21 17:12, Jan Beulich wrote: On 17.05.2021 16:23, Juergen Gross wrote: > On 17.05.21 16:11, Jan Beulich wrote: >> On 13.05.2021 12:02, Juergen Gro

Re: [PATCH 4/8] xen/blkfront: don't trust the backend response data blindly

2021-07-07 Thread Juergen Gross
On 17.05.21 17:33, Jan Beulich wrote: On 17.05.2021 17:22, Juergen Gross wrote: On 17.05.21 17:12, Jan Beulich wrote: On 17.05.2021 16:23, Juergen Gross wrote: On 17.05.21 16:11, Jan Beulich wrote: On 13.05.2021 12:02, Juergen Gross wrote: @@ -1574,10 +1580,16 @@ static irqreturn_t blkif_int

Re: [PATCH 4/8] xen/blkfront: don't trust the backend response data blindly

2021-05-17 Thread Jan Beulich
On 17.05.2021 17:22, Juergen Gross wrote: > On 17.05.21 17:12, Jan Beulich wrote: >> On 17.05.2021 16:23, Juergen Gross wrote: >>> On 17.05.21 16:11, Jan Beulich wrote: On 13.05.2021 12:02, Juergen Gross wrote: > @@ -1574,10 +1580,16 @@ static irqreturn_t blkif_interrupt(int irq, void >>>

Re: [PATCH 4/8] xen/blkfront: don't trust the backend response data blindly

2021-05-17 Thread Juergen Gross
On 17.05.21 17:12, Jan Beulich wrote: On 17.05.2021 16:23, Juergen Gross wrote: On 17.05.21 16:11, Jan Beulich wrote: On 13.05.2021 12:02, Juergen Gross wrote: @@ -1574,10 +1580,16 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id) spin_lock_irqsave(&rinfo->ring_lock, flags)

Re: [PATCH 4/8] xen/blkfront: don't trust the backend response data blindly

2021-05-17 Thread Jan Beulich
On 17.05.2021 16:23, Juergen Gross wrote: > On 17.05.21 16:11, Jan Beulich wrote: >> On 13.05.2021 12:02, Juergen Gross wrote: >>> @@ -1574,10 +1580,16 @@ static irqreturn_t blkif_interrupt(int irq, void >>> *dev_id) >>> spin_lock_irqsave(&rinfo->ring_lock, flags); >>>again: >>> rp = r

Re: [PATCH 4/8] xen/blkfront: don't trust the backend response data blindly

2021-05-17 Thread Juergen Gross
On 17.05.21 16:11, Jan Beulich wrote: On 13.05.2021 12:02, Juergen Gross wrote: @@ -1574,10 +1580,16 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id) spin_lock_irqsave(&rinfo->ring_lock, flags); again: rp = rinfo->ring.sring->rsp_prod; + if (RING_RESPONSE_PR

Re: [PATCH 4/8] xen/blkfront: don't trust the backend response data blindly

2021-05-17 Thread Jan Beulich
On 13.05.2021 12:02, Juergen Gross wrote: > @@ -1574,10 +1580,16 @@ static irqreturn_t blkif_interrupt(int irq, void > *dev_id) > spin_lock_irqsave(&rinfo->ring_lock, flags); > again: > rp = rinfo->ring.sring->rsp_prod; > + if (RING_RESPONSE_PROD_OVERFLOW(&rinfo->ring, rp)) { > +

[PATCH 4/8] xen/blkfront: don't trust the backend response data blindly

2021-05-13 Thread Juergen Gross
Today blkfront will trust the backend to send only sane response data. In order to avoid privilege escalations or crashes in case of malicious backends verify the data to be within expected limits. Especially make sure that the response always references an outstanding request. Introduce a new sta