cregit-Linux how code gets into the kernel

Release 4.7 drivers/char/tpm/tpm_of.c

Directory: drivers/char/tpm
/*
 * Copyright 2012 IBM Corporation
 *
 * Author: Ashley Lai <ashleydlai@gmail.com>
 *
 * Maintained by: <tpmdd-devel@lists.sourceforge.net>
 *
 * Read the event log created by the firmware on PPC64
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version
 * 2 of the License, or (at your option) any later version.
 *
 */

#include <linux/slab.h>
#include <linux/of.h>

#include "tpm.h"
#include "tpm_eventlog.h"


int read_log(struct tpm_bios_log *log) { struct device_node *np; const u32 *sizep; const u64 *basep; if (log->bios_event_log != NULL) { pr_err("%s: ERROR - Eventlog already initialized\n", __func__); return -EFAULT; } np = of_find_node_by_name(NULL, "vtpm"); if (!np) { pr_err("%s: ERROR - IBMVTPM not supported\n", __func__); return -ENODEV; } sizep = of_get_property(np, "linux,sml-size", NULL); if (sizep == NULL) { pr_err("%s: ERROR - SML size not found\n", __func__); goto cleanup_eio; } if (*sizep == 0) { pr_err("%s: ERROR - event log area empty\n", __func__); goto cleanup_eio; } basep = of_get_property(np, "linux,sml-base", NULL); if (basep == NULL) { pr_err("%s: ERROR - SML not found\n", __func__); goto cleanup_eio; } log->bios_event_log = kmalloc(*sizep, GFP_KERNEL); if (!log->bios_event_log) { pr_err("%s: ERROR - Not enough memory for BIOS measurements\n", __func__); of_node_put(np); return -ENOMEM; } log->bios_event_log_end = log->bios_event_log + *sizep; memcpy(log->bios_event_log, __va(*basep), *sizep); of_node_put(np); return 0; cleanup_eio: of_node_put(np); return -EIO; }

Contributors

PersonTokensPropCommitsCommitProp
ashley laiashley lai22094.42%125.00%
christophe jailletchristophe jaillet104.29%125.00%
hon ching (vicky) lohon ching (vicky) lo31.29%250.00%
Total233100.00%4100.00%


Overall Contributors

PersonTokensPropCommitsCommitProp
ashley laiashley lai23394.72%240.00%
christophe jailletchristophe jaillet104.07%120.00%
hon ching (vicky) lohon ching (vicky) lo31.22%240.00%
Total246100.00%5100.00%
Directory: drivers/char/tpm
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}