aboutsummaryrefslogtreecommitdiff
path: root/drivers/staging/dgrp/dgrp_dpa_ops.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/dgrp/dgrp_dpa_ops.c')
-rw-r--r--drivers/staging/dgrp/dgrp_dpa_ops.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/staging/dgrp/dgrp_dpa_ops.c b/drivers/staging/dgrp/dgrp_dpa_ops.c
index 021cca498f2..ca10a3362e2 100644
--- a/drivers/staging/dgrp/dgrp_dpa_ops.c
+++ b/drivers/staging/dgrp/dgrp_dpa_ops.c
@@ -116,7 +116,7 @@ void dgrp_register_dpa_hook(struct proc_dir_entry *de)
struct nd_struct *node = de->data;
de->proc_iops = &dpa_inode_ops;
- de->proc_fops = &dpa_ops;
+ rcu_assign_pointer(de->proc_fops, &dpa_ops);
node->nd_dpa_de = de;
spin_lock_init(&node->nd_dpa_lock);
@@ -432,6 +432,7 @@ static long dgrp_dpa_ioctl(struct file *file, unsigned int cmd,
case DIGI_GETVPD:
+ memset(&vpd, 0, sizeof(vpd));
if (nd->nd_vpd_len > 0) {
vpd.vpd_len = nd->nd_vpd_len;
memcpy(&vpd.vpd_data, &nd->nd_vpd, nd->nd_vpd_len);