aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-10-25 03:45:31 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-10-25 03:45:31 -0400
commit36b8d186e6cc8e32cb5227f5645a58e1bc0af190 (patch)
tree1000ad26e189e6ff2c53fb7eeff605f59c7ad94e /drivers
parentcd85b557414fe4cd44ea6608825e96612a5fe2b2 (diff)
parentc45ed235abf1b0b6666417e3c394f18717976acd (diff)
Merge branch 'next' of git://selinuxproject.org/~jmorris/linux-security
* 'next' of git://selinuxproject.org/~jmorris/linux-security: (95 commits) TOMOYO: Fix incomplete read after seek. Smack: allow to access /smack/access as normal user TOMOYO: Fix unused kernel config option. Smack: fix: invalid length set for the result of /smack/access Smack: compilation fix Smack: fix for /smack/access output, use string instead of byte Smack: domain transition protections (v3) Smack: Provide information for UDS getsockopt(SO_PEERCRED) Smack: Clean up comments Smack: Repair processing of fcntl Smack: Rule list lookup performance Smack: check permissions from user space (v2) TOMOYO: Fix quota and garbage collector. TOMOYO: Remove redundant tasklist_lock. TOMOYO: Fix domain transition failure warning. TOMOYO: Remove tomoyo_policy_memory_lock spinlock. TOMOYO: Simplify garbage collector. TOMOYO: Fix make namespacecheck warnings. target: check hex2bin result encrypted-keys: check hex2bin result ...
Diffstat (limited to 'drivers')
-rw-r--r--drivers/char/tpm/tpm.c3
-rw-r--r--drivers/target/target_core_fabric_lib.c12
2 files changed, 12 insertions, 3 deletions
diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c
index 9ca5c021d0b6..361a1dff8f77 100644
--- a/drivers/char/tpm/tpm.c
+++ b/drivers/char/tpm/tpm.c
@@ -966,6 +966,9 @@ ssize_t tpm_show_durations(struct device *dev, struct device_attribute *attr,
966{ 966{
967 struct tpm_chip *chip = dev_get_drvdata(dev); 967 struct tpm_chip *chip = dev_get_drvdata(dev);
968 968
969 if (chip->vendor.duration[TPM_LONG] == 0)
970 return 0;
971
969 return sprintf(buf, "%d %d %d [%s]\n", 972 return sprintf(buf, "%d %d %d [%s]\n",
970 jiffies_to_usecs(chip->vendor.duration[TPM_SHORT]), 973 jiffies_to_usecs(chip->vendor.duration[TPM_SHORT]),
971 jiffies_to_usecs(chip->vendor.duration[TPM_MEDIUM]), 974 jiffies_to_usecs(chip->vendor.duration[TPM_MEDIUM]),
diff --git a/drivers/target/target_core_fabric_lib.c b/drivers/target/target_core_fabric_lib.c
index c4ea3a9a555b..39f021b855ef 100644
--- a/drivers/target/target_core_fabric_lib.c
+++ b/drivers/target/target_core_fabric_lib.c
@@ -63,6 +63,7 @@ u32 sas_get_pr_transport_id(
63 unsigned char *buf) 63 unsigned char *buf)
64{ 64{
65 unsigned char *ptr; 65 unsigned char *ptr;
66 int ret;
66 67
67 /* 68 /*
68 * Set PROTOCOL IDENTIFIER to 6h for SAS 69 * Set PROTOCOL IDENTIFIER to 6h for SAS
@@ -74,7 +75,9 @@ u32 sas_get_pr_transport_id(
74 */ 75 */
75 ptr = &se_nacl->initiatorname[4]; /* Skip over 'naa. prefix */ 76 ptr = &se_nacl->initiatorname[4]; /* Skip over 'naa. prefix */
76 77
77 hex2bin(&buf[4], ptr, 8); 78 ret = hex2bin(&buf[4], ptr, 8);
79 if (ret < 0)
80 pr_debug("sas transport_id: invalid hex string\n");
78 81
79 /* 82 /*
80 * The SAS Transport ID is a hardcoded 24-byte length 83 * The SAS Transport ID is a hardcoded 24-byte length
@@ -156,8 +159,9 @@ u32 fc_get_pr_transport_id(
156 unsigned char *buf) 159 unsigned char *buf)
157{ 160{
158 unsigned char *ptr; 161 unsigned char *ptr;
159 int i; 162 int i, ret;
160 u32 off = 8; 163 u32 off = 8;
164
161 /* 165 /*
162 * PROTOCOL IDENTIFIER is 0h for FCP-2 166 * PROTOCOL IDENTIFIER is 0h for FCP-2
163 * 167 *
@@ -174,7 +178,9 @@ u32 fc_get_pr_transport_id(
174 i++; 178 i++;
175 continue; 179 continue;
176 } 180 }
177 hex2bin(&buf[off++], &ptr[i], 1); 181 ret = hex2bin(&buf[off++], &ptr[i], 1);
182 if (ret < 0)
183 pr_debug("fc transport_id: invalid hex string\n");
178 i += 2; 184 i += 2;
179 } 185 }
180 /* 186 /*