From: Yonghong Song <yhs@fb.com>
To: "ebiederm@xmission.com" <ebiederm@xmission.com>
Cc: Carlos Neira <cneirabustos@gmail.com>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"brouer@redhat.com" <brouer@redhat.com>,
"bpf@vger.kernel.org" <bpf@vger.kernel.org>
Subject: Re: [PATCH v16 1/5] fs/nsfs.c: added ns_match
Date: Thu, 19 Dec 2019 18:45:50 +0000 [thread overview]
Message-ID: <f64287b8-0998-a7cc-0b48-a88955438c49@fb.com> (raw)
In-Reply-To: <20191218173827.20584-2-cneirabustos@gmail.com>
On 12/18/19 9:38 AM, Carlos Neira wrote:
> ns_match returns true if the namespace inode and dev_t matches the ones
> provided by the caller.
>
> Signed-off-by: Carlos Neira <cneirabustos@gmail.com>
> ---
> fs/nsfs.c | 14 ++++++++++++++
> include/linux/proc_ns.h | 2 ++
> 2 files changed, 16 insertions(+)
>
> diff --git a/fs/nsfs.c b/fs/nsfs.c
> index a0431642c6b5..ef59cf347285 100644
> --- a/fs/nsfs.c
> +++ b/fs/nsfs.c
> @@ -245,6 +245,20 @@ struct file *proc_ns_fget(int fd)
> return ERR_PTR(-EINVAL);
> }
>
> +/**
> + * ns_match() - Returns true if current namespace matches dev/ino provided.
> + * @ns_common: current ns
> + * @dev: dev_t from nsfs that will be matched against current nsfs
> + * @ino: ino_t from nsfs that will be matched against current nsfs
> + *
> + * Return: true if dev and ino matches the current nsfs.
> + */
> +bool ns_match(const struct ns_common *ns, dev_t dev, ino_t ino)
> +{
> + return (ns->inum == ino) && (nsfs_mnt->mnt_sb->s_dev == dev);
> +}
> +
> +
> static int nsfs_show_path(struct seq_file *seq, struct dentry *dentry)
> {
> struct inode *inode = d_inode(dentry);
> diff --git a/include/linux/proc_ns.h b/include/linux/proc_ns.h
> index d31cb6215905..1da9f33489f3 100644
> --- a/include/linux/proc_ns.h
> +++ b/include/linux/proc_ns.h
> @@ -82,6 +82,8 @@ typedef struct ns_common *ns_get_path_helper_t(void *);
> extern void *ns_get_path_cb(struct path *path, ns_get_path_helper_t ns_get_cb,
> void *private_data);
>
> +extern bool ns_match(const struct ns_common *ns, dev_t dev, ino_t ino);
> +
> extern int ns_get_name(char *buf, size_t size, struct task_struct *task,
> const struct proc_ns_operations *ns_ops);
> extern void nsfs_init(void);
Eric, the above ns_match mechanism is what we discussed and you
suggested. It would be good to get you look at it again and ack
if no further questions. Thanks!
next prev parent reply other threads:[~2019-12-19 19:05 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-18 17:38 [PATCH v16 0/5] BPF: New helper to obtain namespace data from current task Carlos Neira
2019-12-18 17:38 ` [PATCH v16 1/5] fs/nsfs.c: added ns_match Carlos Neira
2019-12-19 18:45 ` Yonghong Song [this message]
2019-12-18 17:38 ` [PATCH v16 2/5] bpf: added new helper bpf_get_ns_current_pid_tgid Carlos Neira
2019-12-19 18:31 ` Yonghong Song
2019-12-18 17:38 ` [PATCH v16 3/5] tools: Added bpf_get_ns_current_pid_tgid helper Carlos Neira
2019-12-19 18:31 ` Yonghong Song
2019-12-18 17:38 ` [PATCH v16 4/5] tools/testing/selftests/bpf: Add self-tests for new helper bpf_get_ns_current_pid_tgid Carlos Neira
2019-12-19 18:40 ` Yonghong Song
2019-12-18 17:38 ` [PATCH v16 5/5] bpf_helpers_doc.py: Add struct bpf_pidns_info to known types Carlos Neira
2019-12-19 18:43 ` Yonghong Song
2020-01-10 1:46 ` [PATCH v16 0/5] BPF: New helper to obtain namespace data from current task Alexei Starovoitov
2020-01-10 13:27 ` Carlos Antonio Neira Bustos
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=f64287b8-0998-a7cc-0b48-a88955438c49@fb.com \
--to=yhs@fb.com \
--cc=bpf@vger.kernel.org \
--cc=brouer@redhat.com \
--cc=cneirabustos@gmail.com \
--cc=ebiederm@xmission.com \
--cc=netdev@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).