aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/pti.c
diff options
context:
space:
mode:
authorJ Freyensee <james_p_freyensee@linux.intel.com>2011-05-25 17:38:18 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-06-07 13:01:18 -0400
commit29021bccea0dc42d7d101004058438a9a4e693b1 (patch)
tree134ae622ea3bab6a08c9b9684b1ee46ba55942ad /drivers/misc/pti.c
parent9d031d94da453077bbc6108b7822fc751ac85299 (diff)
pti: double-free security PTI fix
This patch fixes a double-free error that will not always be seen unless /dev/pti char interface is stressed. Signed-off-by: J Freyensee <james_p_freyensee@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/misc/pti.c')
-rw-r--r--drivers/misc/pti.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/misc/pti.c b/drivers/misc/pti.c
index bb6f9255c17c..be4857358d91 100644
--- a/drivers/misc/pti.c
+++ b/drivers/misc/pti.c
@@ -317,7 +317,8 @@ EXPORT_SYMBOL_GPL(pti_request_masterchannel);
317 * a master, channel ID address 317 * a master, channel ID address
318 * used to write to PTI HW. 318 * used to write to PTI HW.
319 * 319 *
320 * @mc: master, channel apeture ID address to be released. 320 * @mc: master, channel apeture ID address to be released. This
321 * will de-allocate the structure via kfree().
321 */ 322 */
322void pti_release_masterchannel(struct pti_masterchannel *mc) 323void pti_release_masterchannel(struct pti_masterchannel *mc)
323{ 324{
@@ -581,7 +582,7 @@ static int pti_char_open(struct inode *inode, struct file *filp)
581static int pti_char_release(struct inode *inode, struct file *filp) 582static int pti_char_release(struct inode *inode, struct file *filp)
582{ 583{
583 pti_release_masterchannel(filp->private_data); 584 pti_release_masterchannel(filp->private_data);
584 kfree(filp->private_data); 585 filp->private_data = NULL;
585 return 0; 586 return 0;
586} 587}
587 588