diff options
author | Radu Bulie <radu.bulie@freescale.com> | 2014-09-17 07:54:37 (GMT) |
---|---|---|
committer | Matthew Weigel <Matthew.Weigel@freescale.com> | 2014-12-11 18:39:34 (GMT) |
commit | a6ef2838a2fe289be7d9f9eb864701250153153b (patch) | |
tree | 32d2da15cf3dd6cc7d415201cb3756bfabeb2d65 /drivers/staging/fsl_dpa_offload | |
parent | ba5cce5bfefc14fa9f250bde96b071ab4a7556c1 (diff) | |
download | linux-fsl-qoriq-a6ef2838a2fe289be7d9f9eb864701250153153b.tar.xz |
dpa_offload: Add fix for number of policies check
This patch adds an extra check for the number of
policies defined per SA, limiting it to the maximum
possible values from a ccnode
Change-Id: I7ff1e9400e2357a53ee01d9f8d8ac5f15d3f8c40
Signed-off-by: Radu Bulie <radu.bulie@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/19120
Reviewed-by: Marian-Cornel Chereji <marian.chereji@freescale.com>
Tested-by: Marian-Cornel Chereji <marian.chereji@freescale.com>
Diffstat (limited to 'drivers/staging/fsl_dpa_offload')
-rw-r--r-- | drivers/staging/fsl_dpa_offload/dpa_ipsec.c | 2 | ||||
-rw-r--r-- | drivers/staging/fsl_dpa_offload/wrp_dpa_ipsec.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/staging/fsl_dpa_offload/dpa_ipsec.c b/drivers/staging/fsl_dpa_offload/dpa_ipsec.c index 6570f9f..5171df4 100644 --- a/drivers/staging/fsl_dpa_offload/dpa_ipsec.c +++ b/drivers/staging/fsl_dpa_offload/dpa_ipsec.c @@ -518,7 +518,7 @@ static int create_inpol_cls_tbl(struct dpa_ipsec *dpa_ipsec, memset(¶ms, 0, sizeof(params)); params.entry_mgmt = DPA_CLS_TBL_MANAGE_BY_REF; params.type = DPA_CLS_TBL_EXACT_MATCH; - params.exact_match_params.entries_cnt = DPA_IPSEC_MAX_IN_POL_PER_SA; + params.exact_match_params.entries_cnt = DPA_IPSEC_MAX_POL_PER_SA; params.exact_match_params.key_size = dpa_ipsec->sa_mng.inpol_key_size; params.exact_match_params.use_priorities = true; params.cc_node = cc_node; diff --git a/drivers/staging/fsl_dpa_offload/wrp_dpa_ipsec.c b/drivers/staging/fsl_dpa_offload/wrp_dpa_ipsec.c index d157f95..34747d6 100644 --- a/drivers/staging/fsl_dpa_offload/wrp_dpa_ipsec.c +++ b/drivers/staging/fsl_dpa_offload/wrp_dpa_ipsec.c @@ -807,7 +807,7 @@ static int do_sa_get_policies_ioctl(void *args) } num_pol = prm.num_pol; - if (num_pol <= 0) { + if (num_pol <= 0 || num_pol > DPA_IPSEC_MAX_POL_PER_SA) { log_err("Invalid number of policies for SA ID# %d\n", sa_id); return -EINVAL; } @@ -927,7 +927,7 @@ static int do_sa_get_policies_compat_ioctl(void *args) } num_pol = prm.num_pol; - if (num_pol <= 0) { + if (num_pol <= 0 || num_pol > DPA_IPSEC_MAX_POL_PER_SA) { log_err("Invalid number of policies for SA ID# %d\n", sa_id); return -EINVAL; } |