From: Jan Kara <jack@suse.cz>
To: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Cc: netdev@vger.kernel.org, davem@davemloft.net, sd@queasysnail.net,
johannes@sipsolutions.net, kvalo@codeaurora.org,
linux-wireless@vger.kernel.org, jack@suse.com,
linux-kernel@vger.kernel.org, pshelar@nicira.com,
dev@openvswitch.org, jhs@mojatatu.com,
philipp.reisner@linbit.com, lars.ellenberg@linbit.com,
drbd-dev@lists.linbit.com
Subject: Re: [PATCH net-next 3/8] fs/quota: use nla_put_u64_64bit()
Date: Tue, 26 Apr 2016 13:08:48 +0200 [thread overview]
Message-ID: <20160426110848.GD27612@quack2.suse.cz> (raw)
In-Reply-To: <1461657978-13360-4-git-send-email-nicolas.dichtel@6wind.com>
On Tue 26-04-16 10:06:13, Nicolas Dichtel wrote:
> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
OK, so I somewhat miss a description of what will this do to the netlink
message so that I can judge whether the change is fine for the userspace
counterpart parsing these messages. AFAIU this changes the message format
by adding a QUOTA_NL_A_PAD field before each 64-bit field which needs an
alignment, am I guessing right? Thus when the userspace counterpart uses
genlmsg_parse() it should just silently ignore these attributes if I read
the documentation right. Did I understand this correctly?
Honza
> ---
> fs/quota/netlink.c | 12 +++++++-----
> include/uapi/linux/quota.h | 1 +
> 2 files changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/fs/quota/netlink.c b/fs/quota/netlink.c
> index d07a2f91d858..8b252673d454 100644
> --- a/fs/quota/netlink.c
> +++ b/fs/quota/netlink.c
> @@ -47,7 +47,7 @@ void quota_send_warning(struct kqid qid, dev_t dev,
> void *msg_head;
> int ret;
> int msg_size = 4 * nla_total_size(sizeof(u32)) +
> - 2 * nla_total_size(sizeof(u64));
> + 2 * nla_total_size_64bit(sizeof(u64));
>
> /* We have to allocate using GFP_NOFS as we are called from a
> * filesystem performing write and thus further recursion into
> @@ -68,8 +68,9 @@ void quota_send_warning(struct kqid qid, dev_t dev,
> 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,
> - from_kqid_munged(&init_user_ns, qid));
> + ret = nla_put_u64_64bit(skb, QUOTA_NL_A_EXCESS_ID,
> + from_kqid_munged(&init_user_ns, qid),
> + QUOTA_NL_A_PAD);
> if (ret)
> goto attr_err_out;
> ret = nla_put_u32(skb, QUOTA_NL_A_WARNING, warntype);
> @@ -81,8 +82,9 @@ void quota_send_warning(struct kqid qid, 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,
> - from_kuid_munged(&init_user_ns, current_uid()));
> + ret = nla_put_u64_64bit(skb, QUOTA_NL_A_CAUSED_ID,
> + from_kuid_munged(&init_user_ns, current_uid()),
> + QUOTA_NL_A_PAD);
> if (ret)
> goto attr_err_out;
> genlmsg_end(skb, msg_head);
> diff --git a/include/uapi/linux/quota.h b/include/uapi/linux/quota.h
> index 38baddb807f5..4d2489ef6f10 100644
> --- a/include/uapi/linux/quota.h
> +++ b/include/uapi/linux/quota.h
> @@ -191,6 +191,7 @@ enum {
> QUOTA_NL_A_DEV_MAJOR,
> QUOTA_NL_A_DEV_MINOR,
> QUOTA_NL_A_CAUSED_ID,
> + QUOTA_NL_A_PAD,
> __QUOTA_NL_A_MAX,
> };
> #define QUOTA_NL_A_MAX (__QUOTA_NL_A_MAX - 1)
> --
> 2.8.1
>
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
WARNING: multiple messages have this Message-ID (diff)
From: Jan Kara <jack@suse.cz>
To: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Cc: dev@openvswitch.org, sd@queasysnail.net, netdev@vger.kernel.org,
linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org,
jhs@mojatatu.com, pshelar@nicira.com, lars.ellenberg@linbit.com,
jack@suse.com, johannes@sipsolutions.net,
philipp.reisner@linbit.com, davem@davemloft.net,
kvalo@codeaurora.org, drbd-dev@lists.linbit.com
Subject: Re: [Drbd-dev] [PATCH net-next 3/8] fs/quota: use nla_put_u64_64bit()
Date: Tue, 26 Apr 2016 13:08:48 +0200 [thread overview]
Message-ID: <20160426110848.GD27612@quack2.suse.cz> (raw)
In-Reply-To: <1461657978-13360-4-git-send-email-nicolas.dichtel@6wind.com>
On Tue 26-04-16 10:06:13, Nicolas Dichtel wrote:
> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
OK, so I somewhat miss a description of what will this do to the netlink
message so that I can judge whether the change is fine for the userspace
counterpart parsing these messages. AFAIU this changes the message format
by adding a QUOTA_NL_A_PAD field before each 64-bit field which needs an
alignment, am I guessing right? Thus when the userspace counterpart uses
genlmsg_parse() it should just silently ignore these attributes if I read
the documentation right. Did I understand this correctly?
Honza
> ---
> fs/quota/netlink.c | 12 +++++++-----
> include/uapi/linux/quota.h | 1 +
> 2 files changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/fs/quota/netlink.c b/fs/quota/netlink.c
> index d07a2f91d858..8b252673d454 100644
> --- a/fs/quota/netlink.c
> +++ b/fs/quota/netlink.c
> @@ -47,7 +47,7 @@ void quota_send_warning(struct kqid qid, dev_t dev,
> void *msg_head;
> int ret;
> int msg_size = 4 * nla_total_size(sizeof(u32)) +
> - 2 * nla_total_size(sizeof(u64));
> + 2 * nla_total_size_64bit(sizeof(u64));
>
> /* We have to allocate using GFP_NOFS as we are called from a
> * filesystem performing write and thus further recursion into
> @@ -68,8 +68,9 @@ void quota_send_warning(struct kqid qid, dev_t dev,
> 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,
> - from_kqid_munged(&init_user_ns, qid));
> + ret = nla_put_u64_64bit(skb, QUOTA_NL_A_EXCESS_ID,
> + from_kqid_munged(&init_user_ns, qid),
> + QUOTA_NL_A_PAD);
> if (ret)
> goto attr_err_out;
> ret = nla_put_u32(skb, QUOTA_NL_A_WARNING, warntype);
> @@ -81,8 +82,9 @@ void quota_send_warning(struct kqid qid, 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,
> - from_kuid_munged(&init_user_ns, current_uid()));
> + ret = nla_put_u64_64bit(skb, QUOTA_NL_A_CAUSED_ID,
> + from_kuid_munged(&init_user_ns, current_uid()),
> + QUOTA_NL_A_PAD);
> if (ret)
> goto attr_err_out;
> genlmsg_end(skb, msg_head);
> diff --git a/include/uapi/linux/quota.h b/include/uapi/linux/quota.h
> index 38baddb807f5..4d2489ef6f10 100644
> --- a/include/uapi/linux/quota.h
> +++ b/include/uapi/linux/quota.h
> @@ -191,6 +191,7 @@ enum {
> QUOTA_NL_A_DEV_MAJOR,
> QUOTA_NL_A_DEV_MINOR,
> QUOTA_NL_A_CAUSED_ID,
> + QUOTA_NL_A_PAD,
> __QUOTA_NL_A_MAX,
> };
> #define QUOTA_NL_A_MAX (__QUOTA_NL_A_MAX - 1)
> --
> 2.8.1
>
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
WARNING: multiple messages have this Message-ID (diff)
From: Jan Kara <jack-AlSwsSmVLrQ@public.gmane.org>
To: Nicolas Dichtel
<nicolas.dichtel-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
Cc: dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org,
sd-y1jBWg8GRStKuXlAQpz2QA@public.gmane.org,
netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
jhs-jkUAjuhPggJWk0Htik3J/w@public.gmane.org,
lars.ellenberg-63ez5xqkn6DQT0dZR+AlfA@public.gmane.org,
jack-IBi9RG/b67k@public.gmane.org,
johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org,
philipp.reisner-63ez5xqkn6DQT0dZR+AlfA@public.gmane.org,
davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org,
kvalo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org,
drbd-dev-cunTk1MwBs8qoQakbn7OcQ@public.gmane.org
Subject: Re: [PATCH net-next 3/8] fs/quota: use nla_put_u64_64bit()
Date: Tue, 26 Apr 2016 13:08:48 +0200 [thread overview]
Message-ID: <20160426110848.GD27612@quack2.suse.cz> (raw)
In-Reply-To: <1461657978-13360-4-git-send-email-nicolas.dichtel-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
On Tue 26-04-16 10:06:13, Nicolas Dichtel wrote:
> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
OK, so I somewhat miss a description of what will this do to the netlink
message so that I can judge whether the change is fine for the userspace
counterpart parsing these messages. AFAIU this changes the message format
by adding a QUOTA_NL_A_PAD field before each 64-bit field which needs an
alignment, am I guessing right? Thus when the userspace counterpart uses
genlmsg_parse() it should just silently ignore these attributes if I read
the documentation right. Did I understand this correctly?
Honza
> ---
> fs/quota/netlink.c | 12 +++++++-----
> include/uapi/linux/quota.h | 1 +
> 2 files changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/fs/quota/netlink.c b/fs/quota/netlink.c
> index d07a2f91d858..8b252673d454 100644
> --- a/fs/quota/netlink.c
> +++ b/fs/quota/netlink.c
> @@ -47,7 +47,7 @@ void quota_send_warning(struct kqid qid, dev_t dev,
> void *msg_head;
> int ret;
> int msg_size = 4 * nla_total_size(sizeof(u32)) +
> - 2 * nla_total_size(sizeof(u64));
> + 2 * nla_total_size_64bit(sizeof(u64));
>
> /* We have to allocate using GFP_NOFS as we are called from a
> * filesystem performing write and thus further recursion into
> @@ -68,8 +68,9 @@ void quota_send_warning(struct kqid qid, dev_t dev,
> 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,
> - from_kqid_munged(&init_user_ns, qid));
> + ret = nla_put_u64_64bit(skb, QUOTA_NL_A_EXCESS_ID,
> + from_kqid_munged(&init_user_ns, qid),
> + QUOTA_NL_A_PAD);
> if (ret)
> goto attr_err_out;
> ret = nla_put_u32(skb, QUOTA_NL_A_WARNING, warntype);
> @@ -81,8 +82,9 @@ void quota_send_warning(struct kqid qid, 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,
> - from_kuid_munged(&init_user_ns, current_uid()));
> + ret = nla_put_u64_64bit(skb, QUOTA_NL_A_CAUSED_ID,
> + from_kuid_munged(&init_user_ns, current_uid()),
> + QUOTA_NL_A_PAD);
> if (ret)
> goto attr_err_out;
> genlmsg_end(skb, msg_head);
> diff --git a/include/uapi/linux/quota.h b/include/uapi/linux/quota.h
> index 38baddb807f5..4d2489ef6f10 100644
> --- a/include/uapi/linux/quota.h
> +++ b/include/uapi/linux/quota.h
> @@ -191,6 +191,7 @@ enum {
> QUOTA_NL_A_DEV_MAJOR,
> QUOTA_NL_A_DEV_MINOR,
> QUOTA_NL_A_CAUSED_ID,
> + QUOTA_NL_A_PAD,
> __QUOTA_NL_A_MAX,
> };
> #define QUOTA_NL_A_MAX (__QUOTA_NL_A_MAX - 1)
> --
> 2.8.1
>
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev
next prev parent reply other threads:[~2016-04-26 11:08 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-26 8:06 [PATCH net-next 0/8] netlink: align attributes when needed (patchset #3) Nicolas Dichtel
2016-04-26 8:06 ` Nicolas Dichtel
2016-04-26 8:06 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 8:06 ` [PATCH net-next 1/8] macsec: use nla_put_u64_64bit() Nicolas Dichtel
2016-04-26 8:06 ` Nicolas Dichtel
2016-04-26 8:06 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 8:06 ` [PATCH net-next 2/8] drivers/wireless: " Nicolas Dichtel
2016-04-26 8:06 ` Nicolas Dichtel
2016-04-26 8:06 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 8:06 ` [PATCH net-next 3/8] fs/quota: " Nicolas Dichtel
2016-04-26 8:06 ` Nicolas Dichtel
2016-04-26 8:06 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 11:08 ` Jan Kara [this message]
2016-04-26 11:08 ` Jan Kara
2016-04-26 11:08 ` [Drbd-dev] " Jan Kara
2016-04-26 12:31 ` Nicolas Dichtel
2016-04-26 12:31 ` Nicolas Dichtel
2016-04-26 12:31 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 12:37 ` Jan Kara
2016-04-26 12:37 ` Jan Kara
2016-04-26 12:37 ` [Drbd-dev] " Jan Kara
2016-04-26 16:24 ` David Miller
2016-04-26 8:06 ` [PATCH net-next 4/8] sock_diag: align nlattr properly when needed Nicolas Dichtel
2016-04-26 8:06 ` Nicolas Dichtel
2016-04-26 8:06 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 8:06 ` [PATCH net-next 5/8] ovs: " Nicolas Dichtel
2016-04-26 8:06 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 8:06 ` [PATCH net-next 6/8] rtnl: " Nicolas Dichtel
2016-04-26 8:06 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 8:06 ` [PATCH net-next 7/8] neigh: " Nicolas Dichtel
2016-04-26 8:06 ` Nicolas Dichtel
2016-04-26 8:06 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 8:06 ` [PATCH net-next 8/8] sched: " Nicolas Dichtel
2016-04-26 8:06 ` Nicolas Dichtel
2016-04-26 8:06 ` [Drbd-dev] " Nicolas Dichtel
2016-04-26 11:54 ` [PATCH net-next 0/8] netlink: align attributes when needed (patchset #3) Lars Ellenberg
2016-04-26 11:54 ` Lars Ellenberg
2016-04-26 11:54 ` [Drbd-dev] " Lars Ellenberg
2016-04-26 12:18 ` Lars Ellenberg
2016-04-26 12:18 ` Lars Ellenberg
2016-05-03 8:50 ` [Drbd-dev] [PATCH net-next] block/drbd: use nla_put_u64_64bit() Nicolas Dichtel
2016-05-03 8:50 ` Nicolas Dichtel
2016-05-03 9:28 ` [Drbd-dev] " Nicolas Dichtel
2016-05-03 9:28 ` Nicolas Dichtel
2016-05-03 9:39 ` [Drbd-dev] [PATCH net-next v2] " Nicolas Dichtel
2016-05-03 9:39 ` Nicolas Dichtel
2016-05-03 10:06 ` [Drbd-dev] " Lars Ellenberg
2016-05-03 10:06 ` Lars Ellenberg
2016-05-03 10:06 ` Lars Ellenberg
2016-05-03 12:07 ` [Drbd-dev] " Nicolas Dichtel
2016-05-03 12:07 ` Nicolas Dichtel
2016-05-03 16:05 ` [Drbd-dev] " David Miller
2016-05-03 16:05 ` David Miller
2016-05-04 9:05 ` [Drbd-dev] " Lars Ellenberg
2016-05-04 9:05 ` Lars Ellenberg
2016-05-04 9:05 ` Lars Ellenberg
2016-05-04 12:49 ` [Drbd-dev] " Nicolas Dichtel
2016-05-04 12:49 ` Nicolas Dichtel
2016-05-04 12:52 ` [Drbd-dev] " Lars Ellenberg
2016-05-04 12:52 ` Lars Ellenberg
2016-05-04 12:52 ` [Drbd-dev] " Lars Ellenberg
2016-05-04 14:27 ` Eric Dumazet
2016-05-04 14:27 ` Eric Dumazet
2016-05-04 16:50 ` [Drbd-dev] " David Miller
2016-05-04 16:50 ` David Miller
2016-05-04 17:13 ` [Drbd-dev] " Eric Dumazet
2016-05-04 17:13 ` Eric Dumazet
2016-05-04 16:47 ` David Miller
2016-05-03 16:06 ` [Drbd-dev] " David Miller
2016-05-03 16:06 ` David Miller
2016-05-09 9:40 ` [Drbd-dev] [PATCH net-next v3] block/drbd: align properly u64 in nl messages Nicolas Dichtel
2016-05-09 9:40 ` Nicolas Dichtel
2016-05-09 13:15 ` [Drbd-dev] " Lars Ellenberg
2016-05-09 13:15 ` Lars Ellenberg
2016-05-09 13:15 ` Lars Ellenberg
2016-05-10 9:09 ` [Drbd-dev] " Nicolas Dichtel
2016-05-10 9:09 ` Nicolas Dichtel
2016-05-10 9:09 ` Nicolas Dichtel
2016-05-10 9:40 ` [Drbd-dev] " Lars Ellenberg
2016-05-10 9:40 ` Lars Ellenberg
2016-05-10 9:40 ` [Drbd-dev] " Lars Ellenberg
2016-05-10 10:06 ` Nicolas Dichtel
2016-05-10 15:39 ` David Miller
2016-05-10 15:39 ` David Miller
2016-05-10 19:09 ` Lars Ellenberg
2016-05-10 19:09 ` Lars Ellenberg
2016-05-10 19:09 ` [Drbd-dev] " Lars Ellenberg
2016-05-10 19:26 ` David Miller
2016-05-10 19:26 ` David Miller
2016-04-26 16:25 ` [PATCH net-next 0/8] netlink: align attributes when needed (patchset #3) David Miller
2016-04-26 16:25 ` David Miller
2016-04-26 16:25 ` [Drbd-dev] " David Miller
2016-04-26 16:02 ` David Miller
2016-04-26 16:02 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160426110848.GD27612@quack2.suse.cz \
--to=jack@suse.cz \
--cc=davem@davemloft.net \
--cc=dev@openvswitch.org \
--cc=drbd-dev@lists.linbit.com \
--cc=jack@suse.com \
--cc=jhs@mojatatu.com \
--cc=johannes@sipsolutions.net \
--cc=kvalo@codeaurora.org \
--cc=lars.ellenberg@linbit.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=nicolas.dichtel@6wind.com \
--cc=philipp.reisner@linbit.com \
--cc=pshelar@nicira.com \
--cc=sd@queasysnail.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.