Merge "msm: camera: Prevent kernel info leak."

This commit is contained in:
Linux Build Service Account 2017-07-25 15:29:46 -07:00 committed by Gerrit - the friendly Code Review server
commit deb3b9d540

View file

@ -175,35 +175,45 @@ int32_t msm_camera_io_poll_value_wmask(void __iomem *addr, u32 wait_data,
void msm_camera_io_dump(void __iomem *addr, int size, int enable)
{
char line_str[128], *p_str;
char line_str[128];
int i;
u32 *p = (u32 *) addr;
ptrdiff_t p = 0;
size_t offset = 0, used = 0;
u32 data;
CDBG("%s: addr=%pK size=%d\n", __func__, addr, size);
if (!p || (size <= 0) || !enable)
if (!addr || (size <= 0) || !enable)
return;
line_str[0] = '\0';
p_str = line_str;
for (i = 0; i < size/4; i++) {
if (i % 4 == 0) {
#ifdef CONFIG_COMPAT
snprintf(p_str, 20, "%016lx: ", (unsigned long) p);
p_str += 18;
#else
snprintf(p_str, 12, "%08lx: ", (unsigned long) p);
p_str += 10;
#endif
used = snprintf(line_str + offset,
sizeof(line_str) - offset, "0x%04tX: ", p);
if (offset + used >= sizeof(line_str)) {
pr_err("%s\n", line_str);
offset = 0;
line_str[0] = '\0';
} else {
offset += used;
}
}
data = readl_relaxed(addr + p);
p = p + 4;
used = snprintf(line_str + offset,
sizeof(line_str) - offset, "%08x ", data);
if (offset + used >= sizeof(line_str)) {
pr_err("%s\n", line_str);
offset = 0;
line_str[0] = '\0';
} else {
offset += used;
}
data = readl_relaxed(p++);
snprintf(p_str, 12, "%08x ", data);
p_str += 9;
if ((i + 1) % 4 == 0) {
pr_err("%s\n", line_str);
line_str[0] = '\0';
p_str = line_str;
offset = 0;
}
}
if (line_str[0] != '\0')