|
@@ -30,7 +30,7 @@ static struct genl_family quota_genl_family = {
|
|
|
*
|
|
|
*/
|
|
|
|
|
|
-void quota_send_warning(short type, unsigned int id, dev_t dev,
|
|
|
+void quota_send_warning(struct kqid qid, dev_t dev,
|
|
|
const char warntype)
|
|
|
{
|
|
|
static atomic_t seq;
|
|
@@ -56,10 +56,11 @@ void quota_send_warning(short type, unsigned int id, dev_t dev,
|
|
|
"VFS: Cannot store netlink header in quota warning.\n");
|
|
|
goto err_out;
|
|
|
}
|
|
|
- ret = nla_put_u32(skb, QUOTA_NL_A_QTYPE, type);
|
|
|
+ ret = nla_put_u32(skb, QUOTA_NL_A_QTYPE, qid.type);
|
|
|
if (ret)
|
|
|
goto attr_err_out;
|
|
|
- ret = nla_put_u64(skb, QUOTA_NL_A_EXCESS_ID, id);
|
|
|
+ ret = nla_put_u64(skb, QUOTA_NL_A_EXCESS_ID,
|
|
|
+ from_kqid_munged(&init_user_ns, qid));
|
|
|
if (ret)
|
|
|
goto attr_err_out;
|
|
|
ret = nla_put_u32(skb, QUOTA_NL_A_WARNING, warntype);
|
|
@@ -71,7 +72,8 @@ void quota_send_warning(short type, unsigned int id, dev_t dev,
|
|
|
ret = nla_put_u32(skb, QUOTA_NL_A_DEV_MINOR, MINOR(dev));
|
|
|
if (ret)
|
|
|
goto attr_err_out;
|
|
|
- ret = nla_put_u64(skb, QUOTA_NL_A_CAUSED_ID, current_uid());
|
|
|
+ ret = nla_put_u64(skb, QUOTA_NL_A_CAUSED_ID,
|
|
|
+ from_kuid_munged(&init_user_ns, current_uid()));
|
|
|
if (ret)
|
|
|
goto attr_err_out;
|
|
|
genlmsg_end(skb, msg_head);
|