From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51964) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aL6ZC-0000qn-E5 for qemu-devel@nongnu.org; Mon, 18 Jan 2016 04:57:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aL6ZB-0004G2-Fh for qemu-devel@nongnu.org; Mon, 18 Jan 2016 04:57:42 -0500 References: <1452764448-17953-1-git-send-email-mst@redhat.com> <569C8B29.4040300@redhat.com> <569C9E87.2030001@redhat.com> From: Jason Wang Message-ID: <569CB702.1060803@redhat.com> Date: Mon, 18 Jan 2016 17:57:22 +0800 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH] cadence_gem: fix buffer overflow List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Crosthwaite Cc: Peter Crosthwaite , Alistair Francis , "Michael S. Tsirkin" , "qemu-devel@nongnu.org Developers" , Prasad Pandit , qemu-arm , =?UTF-8?B?5YiY5Luk?= On 01/18/2016 05:08 PM, Peter Crosthwaite wrote: > On Mon, Jan 18, 2016 at 12:12 AM, Jason Wang wrot= e: >> >> On 01/18/2016 03:04 PM, Peter Crosthwaite wrote: >>> On Sun, Jan 17, 2016 at 10:50 PM, Jason Wang wr= ote: >>>> On 01/14/2016 05:43 PM, Michael S. Tsirkin wrote: >>>>> gem_receive copies a packet received from network into an rxbuf[204= 8] >>>>> array on stack, with size limited by descriptor length set by guest= . If >>>>> guest is malicious and specifies a descriptor length that is too la= rge, >>>>> and should packet size exceed array size, this results in a buffer >>>>> overflow. >>>>> >>>>> Reported-by: =E5=88=98=E4=BB=A4 >>>>> Signed-off-by: Michael S. Tsirkin >>>>> --- >>>>> hw/net/cadence_gem.c | 8 ++++++++ >>>>> 1 file changed, 8 insertions(+) >>>> Apply to my -net with tweak on commit log (changing receive to trans= mit >>>> as noticed). >>>> >>> As this is actually an unimplemented feature you should change the >>> message to a LOG_UNIMP rather than a debug printf. >>> >>> Regards, >>> Peter >> Thanks for the reminding. But we need know the whether real device cou= ld >> send packet whose length is greater than 2048. Do you know the link to >> the manual? (Haven't fond it in cadence page.) A hint is the linux > Xilinx UG585 has details: > > http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000= -TRM.pdf > > Regards, > Peter > > Thanks for the pointer. In section 16.1.5, it said "Jumbo frames are not supported." So it was in fact not an unimplemented feature?