drbd_free_socket(&tconn->meta);
drbd_free_socket(&tconn->data);
kfree(tconn->name);
- kfree(tconn->int_dig_out);
kfree(tconn->int_dig_in);
kfree(tconn->int_dig_vv);
kfree(tconn);
struct crypto_hash *tfm = NULL;
struct crypto_hash *integrity_w_tfm = NULL;
struct crypto_hash *integrity_r_tfm = NULL;
- void *int_dig_out = NULL;
void *int_dig_in = NULL;
void *int_dig_vv = NULL;
struct drbd_tconn *oconn;
/* allocation not in the IO path, cqueue thread context */
if (integrity_w_tfm) {
i = crypto_hash_digestsize(integrity_w_tfm);
- int_dig_out = kmalloc(i, GFP_KERNEL);
- if (!int_dig_out) {
- retcode = ERR_NOMEM;
- goto fail;
- }
int_dig_in = kmalloc(i, GFP_KERNEL);
if (!int_dig_in) {
retcode = ERR_NOMEM;
crypto_free_hash(tconn->integrity_r_tfm);
tconn->integrity_r_tfm = integrity_r_tfm;
- kfree(tconn->int_dig_out);
kfree(tconn->int_dig_in);
kfree(tconn->int_dig_vv);
- tconn->int_dig_out=int_dig_out;
tconn->int_dig_in=int_dig_in;
tconn->int_dig_vv=int_dig_vv;
retcode = _conn_request_state(tconn, NS(conn, C_UNCONNECTED), CS_VERBOSE);
return 0;
fail:
- kfree(int_dig_out);
kfree(int_dig_in);
kfree(int_dig_vv);
crypto_free_hash(tfm);