MCPcopy Create free account
hub / github.com/F-Stack/f-stack / xlp_alloc_cmd_params

Function xlp_alloc_cmd_params

freebsd/mips/nlm/dev/sec/nlmsec.c:506–546  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

504}
505
506static int
507xlp_alloc_cmd_params(struct xlp_sec_command *cmd, unsigned int nsegs)
508{
509 int err = 0;
510
511 if(cmd == NULL) {
512 err = EINVAL;
513 goto error;
514 }
515 if ((cmd->ctrlp = malloc(sizeof(struct nlm_crypto_pkt_ctrl), M_DEVBUF,
516 M_NOWAIT | M_ZERO)) == NULL) {
517 err = ENOMEM;
518 goto error;
519 }
520 if (((uintptr_t)cmd->ctrlp & (XLP_L2L3_CACHELINE_SIZE - 1))) {
521 err = EINVAL;
522 goto error;
523 }
524 /* (nsegs - 1) because one seg is part of the structure already */
525 if ((cmd->paramp = malloc(sizeof(struct nlm_crypto_pkt_param) +
526 (16 * (nsegs - 1)), M_DEVBUF, M_NOWAIT | M_ZERO)) == NULL) {
527 err = ENOMEM;
528 goto error;
529 }
530 if (((uintptr_t)cmd->paramp & (XLP_L2L3_CACHELINE_SIZE - 1))) {
531 err = EINVAL;
532 goto error;
533 }
534 if ((cmd->iv = malloc(EALG_MAX_BLOCK_LEN, M_DEVBUF,
535 M_NOWAIT | M_ZERO)) == NULL) {
536 err = ENOMEM;
537 goto error;
538 }
539 if ((cmd->hashdest = malloc(HASH_MAX_LEN, M_DEVBUF,
540 M_NOWAIT | M_ZERO)) == NULL) {
541 err = ENOMEM;
542 goto error;
543 }
544error:
545 return (err);
546}
547
548static void
549xlp_free_cmd_params(struct xlp_sec_command *cmd)

Callers 1

xlp_sec_processFunction · 0.85

Calls 1

mallocFunction · 0.85

Tested by

no test coverage detected