summaryrefslogtreecommitdiff
path: root/drivers/platform
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2018-01-18 09:36:18 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2018-01-18 09:36:17 -0800
commit13c7e628e7fb379cef047b5f6d55d9b2510c86c0 (patch)
treedcfc66cdc1e6e2ad3db8c7449aab01b5159240cb /drivers/platform
parent1a98475dd43b366307f6fc1654a7a301d70a411c (diff)
parentb564ffbc31637195507f3b48c2a5d83ad74ae48a (diff)
Merge "msm: ipa: Fix to unsigned integer underflow"
Diffstat (limited to 'drivers/platform')
-rw-r--r--drivers/platform/msm/ipa/ipa_v2/ipa_debugfs.c12
-rw-r--r--drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c12
2 files changed, 20 insertions, 4 deletions
diff --git a/drivers/platform/msm/ipa/ipa_v2/ipa_debugfs.c b/drivers/platform/msm/ipa/ipa_v2/ipa_debugfs.c
index ecbbe516266e..b5922a7e3df6 100644
--- a/drivers/platform/msm/ipa/ipa_v2/ipa_debugfs.c
+++ b/drivers/platform/msm/ipa/ipa_v2/ipa_debugfs.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -1446,7 +1446,11 @@ static ssize_t ipa_read_nat4(struct file *file,
pr_err("Table Size:%d\n",
ipa_ctx->nat_mem.size_base_tables);
- pr_err("Expansion Table Size:%d\n",
+ if (!ipa_ctx->nat_mem.size_expansion_tables)
+ pr_err("Expansion Table Size:%d\n",
+ ipa_ctx->nat_mem.size_expansion_tables);
+ else
+ pr_err("Expansion Table Size:%d\n",
ipa_ctx->nat_mem.size_expansion_tables-1);
if (!ipa_ctx->nat_mem.is_sys_mem)
@@ -1461,6 +1465,8 @@ static ssize_t ipa_read_nat4(struct file *file,
pr_err("\nBase Table:\n");
} else {
+ if (!ipa_ctx->nat_mem.size_expansion_tables)
+ continue;
tbl_size = ipa_ctx->nat_mem.size_expansion_tables-1;
base_tbl =
(u32 *)ipa_ctx->nat_mem.ipv4_expansion_rules_addr;
@@ -1560,6 +1566,8 @@ static ssize_t ipa_read_nat4(struct file *file,
pr_err("\nIndex Table:\n");
} else {
+ if (!ipa_ctx->nat_mem.size_expansion_tables)
+ continue;
tbl_size = ipa_ctx->nat_mem.size_expansion_tables-1;
indx_tbl =
(u32 *)ipa_ctx->nat_mem.index_table_expansion_addr;
diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c b/drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c
index cd39a46037f1..047732382866 100644
--- a/drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c
+++ b/drivers/platform/msm/ipa/ipa_v3/ipa_debugfs.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -1509,7 +1509,11 @@ static ssize_t ipa3_read_nat4(struct file *file,
pr_err("Table Size:%d\n",
ipa3_ctx->nat_mem.size_base_tables);
- pr_err("Expansion Table Size:%d\n",
+ if (!ipa3_ctx->nat_mem.size_expansion_tables)
+ pr_err("Expansion Table Size:%d\n",
+ ipa3_ctx->nat_mem.size_expansion_tables);
+ else
+ pr_err("Expansion Table Size:%d\n",
ipa3_ctx->nat_mem.size_expansion_tables-1);
if (!ipa3_ctx->nat_mem.is_sys_mem)
@@ -1524,6 +1528,8 @@ static ssize_t ipa3_read_nat4(struct file *file,
pr_err("\nBase Table:\n");
} else {
+ if (!ipa3_ctx->nat_mem.size_expansion_tables)
+ continue;
tbl_size = ipa3_ctx->nat_mem.size_expansion_tables-1;
base_tbl =
(u32 *)ipa3_ctx->nat_mem.ipv4_expansion_rules_addr;
@@ -1623,6 +1629,8 @@ static ssize_t ipa3_read_nat4(struct file *file,
pr_err("\nIndex Table:\n");
} else {
+ if (!ipa3_ctx->nat_mem.size_expansion_tables)
+ continue;
tbl_size = ipa3_ctx->nat_mem.size_expansion_tables-1;
indx_tbl =
(u32 *)ipa3_ctx->nat_mem.index_table_expansion_addr;