From: Roel Kluin Date: Fri, 5 Mar 2010 21:42:32 +0000 (-0800) Subject: cryptocop: fix assertion in create_output_descriptors() X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=cda1c5af26a00ee31cdc5ab8321a1be7851cbfff;p=openwrt%2Fstaging%2Fblogic.git cryptocop: fix assertion in create_output_descriptors() size_t desc_len cannot be less than 0, test before the subtraction. Signed-off-by: Roel Kluin Cc: Mikael Starvik Cc: Jesper Nilsson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/arch/cris/arch-v32/drivers/cryptocop.c b/arch/cris/arch-v32/drivers/cryptocop.c index fd529a0ec758..b70fb34939d9 100644 --- a/arch/cris/arch-v32/drivers/cryptocop.c +++ b/arch/cris/arch-v32/drivers/cryptocop.c @@ -628,9 +628,9 @@ static int create_output_descriptors(struct cryptocop_operation *operation, int cdesc->dma_descr->buf = (char*)virt_to_phys(operation->tfrm_op.indata[*iniov_ix].iov_base + *iniov_offset); cdesc->dma_descr->after = cdesc->dma_descr->buf + dlength; + assert(desc_len >= dlength); desc_len -= dlength; *iniov_offset += dlength; - assert(desc_len >= 0); if (*iniov_offset >= operation->tfrm_op.indata[*iniov_ix].iov_len) { *iniov_offset = 0; ++(*iniov_ix);