Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

crypto: ccp - avoid uninitialized variable warning

The added support for version 5 CCPs introduced a false-positive
warning in the RSA implementation:

drivers/crypto/ccp/ccp-ops.c: In function 'ccp_run_rsa_cmd':
drivers/crypto/ccp/ccp-ops.c:1856:3: error: 'sb_count' may be used uninitialized in this function [-Werror=maybe-uninitialized]

This changes the code in a way that should make it easier for
the compiler to track the state of the sb_count variable, and
avoid the warning.

Fixes: 6ba46c7d4d7e ("crypto: ccp - Fix base RSA function for version 5 CCPs")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Gary R Hook <gary.hook@amd.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Arnd Bergmann and committed by
Herbert Xu
d634baea c871c10e

+2 -1
+2 -1
drivers/crypto/ccp/ccp-ops.c
··· 1785 1785 o_len = 32 * ((rsa->key_size + 255) / 256); 1786 1786 i_len = o_len * 2; 1787 1787 1788 + sb_count = 0; 1788 1789 if (cmd_q->ccp->vdata->version < CCP_VERSION(5, 0)) { 1789 1790 /* sb_count is the number of storage block slots required 1790 1791 * for the modulus. ··· 1880 1879 ccp_dm_free(&exp); 1881 1880 1882 1881 e_sb: 1883 - if (cmd_q->ccp->vdata->version < CCP_VERSION(5, 0)) 1882 + if (sb_count) 1884 1883 cmd_q->ccp->vdata->perform->sbfree(cmd_q, op.sb_key, sb_count); 1885 1884 1886 1885 return ret;