diff options
Diffstat (limited to 'drivers/md/dm-log-userspace-transfer.c')
| -rw-r--r-- | drivers/md/dm-log-userspace-transfer.c | 6 | 
1 files changed, 4 insertions, 2 deletions
| diff --git a/drivers/md/dm-log-userspace-transfer.c b/drivers/md/dm-log-userspace-transfer.c index ba0edad2d048..54abf9e303b7 100644 --- a/drivers/md/dm-log-userspace-transfer.c +++ b/drivers/md/dm-log-userspace-transfer.c | |||
| @@ -129,11 +129,13 @@ static int fill_pkg(struct cn_msg *msg, struct dm_ulog_request *tfr) | |||
| 129 | * This is the connector callback that delivers data | 129 | * This is the connector callback that delivers data | 
| 130 | * that was sent from userspace. | 130 | * that was sent from userspace. | 
| 131 | */ | 131 | */ | 
| 132 | static void cn_ulog_callback(void *data) | 132 | static void cn_ulog_callback(struct cn_msg *msg, struct netlink_skb_parms *nsp) | 
| 133 | { | 133 | { | 
| 134 | struct cn_msg *msg = (struct cn_msg *)data; | ||
| 135 | struct dm_ulog_request *tfr = (struct dm_ulog_request *)(msg + 1); | 134 | struct dm_ulog_request *tfr = (struct dm_ulog_request *)(msg + 1); | 
| 136 | 135 | ||
| 136 | if (!cap_raised(nsp->eff_cap, CAP_SYS_ADMIN)) | ||
| 137 | return; | ||
| 138 | |||
| 137 | spin_lock(&receiving_list_lock); | 139 | spin_lock(&receiving_list_lock); | 
| 138 | if (msg->len == 0) | 140 | if (msg->len == 0) | 
| 139 | fill_pkg(msg, NULL); | 141 | fill_pkg(msg, NULL); | 
