ANDROID: fix uninitilized variable
Currently we set CONFIG_CC_OPTIMIZE_FOR_SIZE which suppressed the compiler warning of unused variables which can lead undefined behavior e.g. memory corruption and panic. See https://lkml.org/lkml/2013/3/25/347. This patch fixes all the uninitilized variables in kernel Bug: 33353384 Test: On device Signed-off-by: Wei Wang <wvw@google.com> Change-Id: I0ae1082f447b435d71156d471878ba71aa16c378
This commit is contained in:
parent
dce0df919e
commit
bb454f3bae
|
@ -987,6 +987,8 @@ void sanity_check_clock_tree(u32 muxval, struct mux_clk *mux)
|
||||||
case AUX_CLK_SEL:
|
case AUX_CLK_SEL:
|
||||||
rate = sys_apcsaux_clk.c.rate;
|
rate = sys_apcsaux_clk.c.rate;
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
return;
|
||||||
};
|
};
|
||||||
break;
|
break;
|
||||||
case PLL0_EARLY_SEL:
|
case PLL0_EARLY_SEL:
|
||||||
|
@ -997,6 +999,8 @@ void sanity_check_clock_tree(u32 muxval, struct mux_clk *mux)
|
||||||
rate = readl_relaxed(base + C0_PLLA_L_VAL);
|
rate = readl_relaxed(base + C0_PLLA_L_VAL);
|
||||||
rate *= xo_ao.c.rate;
|
rate *= xo_ao.c.rate;
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
return;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* One regulator */
|
/* One regulator */
|
||||||
|
@ -1556,7 +1560,7 @@ static void populate_opp_table(struct platform_device *pdev)
|
||||||
struct platform_device *apc0_dev, *apc1_dev;
|
struct platform_device *apc0_dev, *apc1_dev;
|
||||||
struct device_node *apc0_node, *apc1_node;
|
struct device_node *apc0_node, *apc1_node;
|
||||||
unsigned long apc0_fmax, apc1_fmax;
|
unsigned long apc0_fmax, apc1_fmax;
|
||||||
int cpu, a53_cpu, a57_cpu;
|
int cpu, a53_cpu = 0, a57_cpu = 0;
|
||||||
|
|
||||||
apc0_node = of_parse_phandle(pdev->dev.of_node, "vdd-a53-supply", 0);
|
apc0_node = of_parse_phandle(pdev->dev.of_node, "vdd-a53-supply", 0);
|
||||||
apc1_node = of_parse_phandle(pdev->dev.of_node, "vdd-a57-supply", 0);
|
apc1_node = of_parse_phandle(pdev->dev.of_node, "vdd-a57-supply", 0);
|
||||||
|
@ -1957,7 +1961,6 @@ static int cpu_clock_8994_driver_probe(struct platform_device *pdev)
|
||||||
u64 pte_efuse;
|
u64 pte_efuse;
|
||||||
char a57speedbinstr[] = "qcom,a57-speedbinXX-vXX";
|
char a57speedbinstr[] = "qcom,a57-speedbinXX-vXX";
|
||||||
char a53speedbinstr[] = "qcom,a53-speedbinXX-vXX";
|
char a53speedbinstr[] = "qcom,a53-speedbinXX-vXX";
|
||||||
|
|
||||||
v2 = msm8994_v2 | msm8992;
|
v2 = msm8994_v2 | msm8992;
|
||||||
|
|
||||||
a53_pll0_main.c.flags = CLKFLAG_NO_RATE_CACHE;
|
a53_pll0_main.c.flags = CLKFLAG_NO_RATE_CACHE;
|
||||||
|
@ -1984,7 +1987,7 @@ static int cpu_clock_8994_driver_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
snprintf(a53speedbinstr, ARRAY_SIZE(a53speedbinstr),
|
snprintf(a53speedbinstr, ARRAY_SIZE(a53speedbinstr),
|
||||||
"qcom,a53-speedbin%d-v%d", a53speedbin, pvs_ver);
|
"qcom,a53-speedbin%d-v%d", a53speedbin, pvs_ver);
|
||||||
} else if (v2)
|
} else
|
||||||
pte_efuse = readl_relaxed(vbases[EFUSE_BASE]);
|
pte_efuse = readl_relaxed(vbases[EFUSE_BASE]);
|
||||||
|
|
||||||
snprintf(a53speedbinstr, ARRAY_SIZE(a53speedbinstr),
|
snprintf(a53speedbinstr, ARRAY_SIZE(a53speedbinstr),
|
||||||
|
|
|
@ -586,7 +586,7 @@ static void cpufreq_allstats_create(unsigned int cpu,
|
||||||
static int cpufreq_stat_notifier_policy(struct notifier_block *nb,
|
static int cpufreq_stat_notifier_policy(struct notifier_block *nb,
|
||||||
unsigned long val, void *data)
|
unsigned long val, void *data)
|
||||||
{
|
{
|
||||||
int ret, count = 0, i;
|
int ret = 0, count = 0, i;
|
||||||
struct cpufreq_policy *policy = data;
|
struct cpufreq_policy *policy = data;
|
||||||
struct cpufreq_frequency_table *table;
|
struct cpufreq_frequency_table *table;
|
||||||
unsigned int cpu_num, cpu = policy->cpu;
|
unsigned int cpu_num, cpu = policy->cpu;
|
||||||
|
|
|
@ -2384,7 +2384,7 @@ static int synaptics_rmi4_fwu_init(struct synaptics_rmi4_data *rmi4_data)
|
||||||
fwu->ts_info = kzalloc(RMI4_INFO_MAX_LEN, GFP_KERNEL);
|
fwu->ts_info = kzalloc(RMI4_INFO_MAX_LEN, GFP_KERNEL);
|
||||||
if (!fwu->ts_info) {
|
if (!fwu->ts_info) {
|
||||||
dev_err(&rmi4_data->i2c_client->dev, "Not enough memory\n");
|
dev_err(&rmi4_data->i2c_client->dev, "Not enough memory\n");
|
||||||
goto exit_free_ts_info;
|
goto exit_free_mem;
|
||||||
}
|
}
|
||||||
|
|
||||||
synaptics_rmi4_update_debug_info();
|
synaptics_rmi4_update_debug_info();
|
||||||
|
@ -2398,7 +2398,6 @@ static int synaptics_rmi4_fwu_init(struct synaptics_rmi4_data *rmi4_data)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
exit_free_ts_info:
|
|
||||||
debugfs_remove(temp);
|
debugfs_remove(temp);
|
||||||
exit_remove_attrs:
|
exit_remove_attrs:
|
||||||
for (attr_count--; attr_count >= 0; attr_count--) {
|
for (attr_count--; attr_count >= 0; attr_count--) {
|
||||||
|
|
|
@ -290,7 +290,7 @@ int msm_core_debug_init(void)
|
||||||
|
|
||||||
msm_core_data = get_cpu_pwr_stats();
|
msm_core_data = get_cpu_pwr_stats();
|
||||||
if (!msm_core_data)
|
if (!msm_core_data)
|
||||||
goto fail;
|
return PTR_ERR(NULL);
|
||||||
|
|
||||||
dir = debugfs_create_dir("msm_core", NULL);
|
dir = debugfs_create_dir("msm_core", NULL);
|
||||||
if (IS_ERR_OR_NULL(dir))
|
if (IS_ERR_OR_NULL(dir))
|
||||||
|
|
|
@ -347,10 +347,10 @@ static int update_userspace_power(struct sched_params __user *argp)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int ret;
|
int ret;
|
||||||
int cpu;
|
|
||||||
struct cpu_activity_info *node;
|
struct cpu_activity_info *node;
|
||||||
struct cpu_static_info *sp, *clear_sp;
|
struct cpu_static_info *sp, *clear_sp;
|
||||||
int cpumask, cluster, mpidr;
|
int cpumask, cluster, mpidr;
|
||||||
|
int cpu = num_possible_cpus();
|
||||||
|
|
||||||
get_user(cpumask, &argp->cpumask);
|
get_user(cpumask, &argp->cpumask);
|
||||||
get_user(cluster, &argp->cluster);
|
get_user(cluster, &argp->cluster);
|
||||||
|
|
|
@ -2449,9 +2449,7 @@ static int estimate_battery_age(struct fg_chip *chip, int *actual_capacity)
|
||||||
}
|
}
|
||||||
|
|
||||||
battery_soc = get_battery_soc_raw(chip) * 100 / FULL_PERCENT_3B;
|
battery_soc = get_battery_soc_raw(chip) * 100 / FULL_PERCENT_3B;
|
||||||
if (rc) {
|
if (battery_soc < 25 || battery_soc > 75) {
|
||||||
goto error_done;
|
|
||||||
} else if (battery_soc < 25 || battery_soc > 75) {
|
|
||||||
if (fg_debug_mask & FG_AGING)
|
if (fg_debug_mask & FG_AGING)
|
||||||
pr_info("Battery SoC (%d) out of range, aborting\n",
|
pr_info("Battery SoC (%d) out of range, aborting\n",
|
||||||
(int)battery_soc);
|
(int)battery_soc);
|
||||||
|
@ -4401,6 +4399,7 @@ static int fg_batt_profile_init(struct fg_chip *chip)
|
||||||
const char *data, *batt_type_str, *old_batt_type;
|
const char *data, *batt_type_str, *old_batt_type;
|
||||||
bool tried_again = false, vbat_in_range, profiles_same;
|
bool tried_again = false, vbat_in_range, profiles_same;
|
||||||
u8 reg = 0;
|
u8 reg = 0;
|
||||||
|
old_batt_type = default_batt_type;
|
||||||
|
|
||||||
wait:
|
wait:
|
||||||
fg_stay_awake(&chip->profile_wakeup_source);
|
fg_stay_awake(&chip->profile_wakeup_source);
|
||||||
|
@ -4428,7 +4427,6 @@ wait:
|
||||||
fg_batt_type);
|
fg_batt_type);
|
||||||
if (!profile_node) {
|
if (!profile_node) {
|
||||||
pr_err("couldn't find profile handle\n");
|
pr_err("couldn't find profile handle\n");
|
||||||
old_batt_type = default_batt_type;
|
|
||||||
rc = -ENODATA;
|
rc = -ENODATA;
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
@ -5912,7 +5910,6 @@ static int fg_hw_init(struct fg_chip *chip)
|
||||||
static int fg_setup_memif_offset(struct fg_chip *chip)
|
static int fg_setup_memif_offset(struct fg_chip *chip)
|
||||||
{
|
{
|
||||||
int rc;
|
int rc;
|
||||||
u8 dig_major;
|
|
||||||
|
|
||||||
rc = fg_read(chip, chip->revision, chip->mem_base + DIG_MINOR, 4);
|
rc = fg_read(chip, chip->revision, chip->mem_base + DIG_MINOR, 4);
|
||||||
if (rc) {
|
if (rc) {
|
||||||
|
@ -5930,7 +5927,7 @@ static int fg_setup_memif_offset(struct fg_chip *chip)
|
||||||
chip->ima_supported = true;
|
chip->ima_supported = true;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
pr_err("Digital Major rev=%d not supported\n", dig_major);
|
pr_err("Digital Major rev=%d not supported\n", chip->revision[DIG_MAJOR]);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7592,6 +7592,8 @@ static int smbchg_probe(struct spmi_device *spmi)
|
||||||
rc);
|
rc);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
vadc_dev = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (of_find_property(spmi->dev.of_node, "qcom,vchg_sns-vadc", NULL)) {
|
if (of_find_property(spmi->dev.of_node, "qcom,vchg_sns-vadc", NULL)) {
|
||||||
|
|
|
@ -1700,7 +1700,7 @@ static void smb1351_chg_ctrl_in_jeita(struct smb1351_charger *chip)
|
||||||
static void smb1351_chg_adc_notification(enum qpnp_tm_state state, void *ctx)
|
static void smb1351_chg_adc_notification(enum qpnp_tm_state state, void *ctx)
|
||||||
{
|
{
|
||||||
struct smb1351_charger *chip = ctx;
|
struct smb1351_charger *chip = ctx;
|
||||||
struct battery_status *cur;
|
struct battery_status *cur = NULL;
|
||||||
int temp;
|
int temp;
|
||||||
|
|
||||||
if (state >= ADC_TM_STATE_NUM) {
|
if (state >= ADC_TM_STATE_NUM) {
|
||||||
|
@ -1800,6 +1800,11 @@ static void smb1351_chg_adc_notification(enum qpnp_tm_state state, void *ctx)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!cur) {
|
||||||
|
pr_err("invalid transaction: state %d, temp %d\n", state, temp);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (cur->batt_present)
|
if (cur->batt_present)
|
||||||
chip->battery_missing = false;
|
chip->battery_missing = false;
|
||||||
else
|
else
|
||||||
|
|
|
@ -155,7 +155,7 @@ static int npa_dump_probe(struct platform_device *pdev)
|
||||||
struct resource *res;
|
struct resource *res;
|
||||||
void __iomem *npa_base, *rpm_base;
|
void __iomem *npa_base, *rpm_base;
|
||||||
struct dentry *dent;
|
struct dentry *dent;
|
||||||
int ret;
|
int ret = 0;
|
||||||
|
|
||||||
/* Get the location of the NPA log's start address offset */
|
/* Get the location of the NPA log's start address offset */
|
||||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||||
|
|
|
@ -1666,4 +1666,3 @@ int mdss_mdp_cmd_start(struct mdss_mdp_ctl *ctl)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4337,10 +4337,10 @@ static int msm_routing_put_stereo_to_custom_stereo_control(
|
||||||
int flag = 0, i = 0, rc = 0, idx = 0;
|
int flag = 0, i = 0, rc = 0, idx = 0;
|
||||||
int be_index = 0, port_id, topo_id;
|
int be_index = 0, port_id, topo_id;
|
||||||
unsigned int session_id = 0;
|
unsigned int session_id = 0;
|
||||||
uint16_t op_FL_ip_FL_weight;
|
uint16_t op_FL_ip_FL_weight = 0;
|
||||||
uint16_t op_FL_ip_FR_weight;
|
uint16_t op_FL_ip_FR_weight = 0;
|
||||||
uint16_t op_FR_ip_FL_weight;
|
uint16_t op_FR_ip_FL_weight = 0;
|
||||||
uint16_t op_FR_ip_FR_weight;
|
uint16_t op_FR_ip_FR_weight = 0;
|
||||||
flag = ucontrol->value.integer.value[0];
|
flag = ucontrol->value.integer.value[0];
|
||||||
pr_debug("%s E flag %d\n", __func__, flag);
|
pr_debug("%s E flag %d\n", __func__, flag);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue