static int mtd_ipanic_proc_oops(char *page, char **start, off_t off, int count, int *eof, void *data) { int len; struct aee_oops *oops = ipanic_oops_copy(); len = sprintf(page, "aee-ipanic Oops\n"); if (oops) { len += sprintf(page + len, "Module: %s\nProcess\n%s\nBacktrace\n%s", oops->module, oops->process_path, oops->backtrace); ipanic_oops_free(oops, 0); } else { len += sprintf(page + len, "No available\n"); } return len; }
static void ke_destroy_log(void) { xlog_printk(ANDROID_LOG_DEBUG, AEK_LOG_TAG, "%s\n", __func__); msg_destroy(&aed_dev.kerec.msg); if(aed_dev.kerec.lastlog) { if (strncmp(aed_dev.kerec.lastlog->module, IPANIC_MODULE_TAG, strlen(IPANIC_MODULE_TAG)) == 0) { ipanic_oops_free(aed_dev.kerec.lastlog, 0); } else { aee_oops_free(aed_dev.kerec.lastlog); } aed_dev.kerec.lastlog = NULL; } }