1. 13 4月, 2013 7 次提交
  2. 14 2月, 2013 1 次提交
  3. 05 2月, 2013 23 次提交
  4. 29 11月, 2012 2 次提交
  5. 22 11月, 2012 2 次提交
    • B
      char: remove use of __devexit · 39af33fc
      Bill Pemberton 提交于
      CONFIG_HOTPLUG is going away as an option so __devexit is no
      longer needed.
      Signed-off-by: NBill Pemberton <wfp5p@virginia.edu>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Olof Johansson <olof@lixom.net>
      Cc: Mattia Dongili <malattia@linux.it>
      Cc: Kent Yoder <key@linux.vnet.ibm.com>
      Cc: Rajiv Andrade <mail@srajiv.net>
      Cc: Marcel Selhorst <tpmdd@selhorst.net>
      Cc: Sirrix AG <tpmdd@sirrix.com>
      Cc: linuxppc-dev@lists.ozlabs.org
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: openipmi-developer@lists.sourceforge.net
      Cc: platform-driver-x86@vger.kernel.org
      Cc: tpmdd-devel@lists.sourceforge.net
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      39af33fc
    • B
      char: remove use of __devinitdata · 0bbed20e
      Bill Pemberton 提交于
      CONFIG_HOTPLUG is going away as an option so __devinitdata is no
      longer needed.
      Signed-off-by: NBill Pemberton <wfp5p@virginia.edu>
      Cc: David Airlie <airlied@linux.ie>
      Cc: Kent Yoder <key@linux.vnet.ibm.com>
      Cc: Rajiv Andrade <mail@srajiv.net>
      Cc: Marcel Selhorst <tpmdd@selhorst.net>
      Cc: Sirrix AG <tpmdd@sirrix.com>
      Cc: openipmi-developer@lists.sourceforge.net
      Cc: tpmdd-devel@lists.sourceforge.net
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      0bbed20e
  6. 02 11月, 2012 1 次提交
  7. 11 10月, 2012 1 次提交
    • P
      tpm: Propagate error from tpm_transmit to fix a timeout hang · abce9ac2
      Peter Huewe 提交于
      tpm_write calls tpm_transmit without checking the return value and
      assigns the return value unconditionally to chip->pending_data, even if
      it's an error value.
      This causes three bugs.
      
      So if we write to /dev/tpm0 with a tpm_param_size bigger than
      TPM_BUFSIZE=0x1000 (e.g. 0x100a)
      and a bufsize also bigger than TPM_BUFSIZE (e.g. 0x100a)
      tpm_transmit returns -E2BIG which is assigned to chip->pending_data as
      -7, but tpm_write returns that TPM_BUFSIZE bytes have been successfully
      been written to the TPM, altough this is not true (bug #1).
      
      As we did write more than than TPM_BUFSIZE bytes but tpm_write reports
      that only TPM_BUFSIZE bytes have been written the vfs tries to write
      the remaining bytes (in this case 10 bytes) to the tpm device driver via
      tpm_write which then blocks at
      
       /* cannot perform a write until the read has cleared
       either via tpm_read or a user_read_timer timeout */
       while (atomic_read(&chip->data_pending) != 0)
      	 msleep(TPM_TIMEOUT);
      
      for 60 seconds, since data_pending is -7 and nobody is able to
      read it (since tpm_read luckily checks if data_pending is greater than
      0) (#bug 2).
      
      After that the remaining bytes are written to the TPM which are
      interpreted by the tpm as a normal command. (bug #3)
      So if the last bytes of the command stream happen to be a e.g.
      tpm_force_clear this gets accidentally sent to the TPM.
      
      This patch fixes all three bugs, by propagating the error code of
      tpm_write and returning -E2BIG if the input buffer is too big,
      since the response from the tpm for a truncated value is bogus anyway.
      Moreover it returns -EBUSY to userspace if there is a response ready to be
      read.
      Signed-off-by: NPeter Huewe <peter.huewe@infineon.com>
      Signed-off-by: NKent Yoder <key@linux.vnet.ibm.com>
      abce9ac2
  8. 10 10月, 2012 1 次提交
  9. 12 9月, 2012 1 次提交
  10. 05 9月, 2012 1 次提交