[PATCH] fpga zynq: Check the bitstream for validity
flat view
STALE3626d
From: Matthias Brugger <mbrugger@suse.com>
Date: 2016-10-28 11:06:08
On 10/27/2016 04:39 PM, Jason Gunthorpe wrote:
On Thu, Oct 27, 2016 at 10:50:48AM +0200, Matthias Brugger wrote:quoted
quoted
+ /* Sanity check the proposed bitstream. It must start with the + * sync word in the correct byte order and be a multiple of 4 + * bytes. + */ + if (count <= 4 || buf[0] != 0x66 || buf[1] != 0x55 || + buf[2] != 0x99 || buf[3] != 0xaa) {This checks if the bit stream is bigger then 4 bytes. We error out before, if it is smaller.We do? Where?
Just a few lines before:
+ /* All valid bitstreams are multiples of 32 bits */
+ if ((count % 4) != 0)
+ return -EINVAL;
+
The only case we don't check is, if count == 0. If we check that here,
we can get rid of the count <= 4 check.
quoted
So you should fix the wording in the comment and check for count == 4.Ah right, the comment reflected an earlier revision that had the length check here. The count <= 4 should stay here since it is primarily guarding against read past the buffer in the if.
If you insist in doing this check, it should be count < 4, because we
check the first four elements of buf, or do I miss something?
Cheers,
Matthias
Jason _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel at lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel