Merge "msm: camera: Prevent kernel info leak."
This commit is contained in:
commit
deb3b9d540
1 changed files with 25 additions and 15 deletions
|
@ -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')
|
||||
|
|
Loading…
Add table
Reference in a new issue