From: zohar@linux.vnet.ibm.com (Mimi Zohar)
To: linux-security-module@vger.kernel.org
Subject: [Linux-ima-devel] [PATCH 4/4] ima: use read_iter (generic_file_read_iter) to calculate file hash
Date: Mon, 10 Jul 2017 11:22:31 -0400 [thread overview]
Message-ID: <1499700151.6034.133.camel@linux.vnet.ibm.com> (raw)
In-Reply-To: <CACE9dm9iyXuGMa3wXg2RsGP0mgQktJi7No2mgFTDnsyytBJnJw@mail.gmail.com>
On Mon, 2017-07-10 at 17:07 +0300, Dmitry Kasatkin wrote:
> On Fri, Jun 9, 2017 at 9:02 PM, Mimi Zohar <zohar@linux.vnet.ibm.com> wrote:
> > The large marjority of filesystems in the fs directory define
> > generic_file_read_iter as the read_iter file operation method.
> >
> > Instead of specifying the integrity_read file operation method
> > for all of these file systems, continue to calculate the file
> > hash using the read_iter method, when defined as
> > generic_file_read_iter.
> >
> > For all other read_iter methods, define an integrity_read
> > method.
> >
> > Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
> > ---
> > security/integrity/iint.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/security/integrity/iint.c b/security/integrity/iint.c
> > index e3ef3fba16dc..8164f57f5cea 100644
> > --- a/security/integrity/iint.c
> > +++ b/security/integrity/iint.c
> > @@ -202,6 +202,9 @@ int integrity_kernel_read(struct file *file, loff_t offset,
> >
> > if (file->f_op->integrity_read) {
> > ret = file->f_op->integrity_read(&kiocb, &iter);
> > + } else if (file->f_op->read_iter &&
> > + file->f_op->read_iter == generic_file_read_iter) {
> > + ret = file->f_op->read_iter(&kiocb, &iter);
> > } else if (file->f_op->read) {
> > mm_segment_t old_fs;
> > char __user *buf = (char __user *)addr;
>
> Why not __vfs_read()?? it uses new_sync_read()
and that calls read_sync_iter(), which calls ->read_iter. ? Is there a
problem with directly calling ->integrity_read instead?
Mimi
> else if (file->f_op->read_iter)
> return new_sync_read(file, buf, count, pos);
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Mimi Zohar <zohar@linux.vnet.ibm.com>
To: Dmitry Kasatkin <dmitry.kasatkin@gmail.com>
Cc: Christoph Hellwig <hch@lst.de>, Al Viro <viro@zeniv.linux.org.uk>,
linux-fsdevel@vger.kernel.org,
linux-ima-devel <linux-ima-devel@lists.sourceforge.net>,
linux-security-module <linux-security-module@vger.kernel.org>
Subject: Re: [Linux-ima-devel] [PATCH 4/4] ima: use read_iter (generic_file_read_iter) to calculate file hash
Date: Mon, 10 Jul 2017 11:22:31 -0400 [thread overview]
Message-ID: <1499700151.6034.133.camel@linux.vnet.ibm.com> (raw)
In-Reply-To: <CACE9dm9iyXuGMa3wXg2RsGP0mgQktJi7No2mgFTDnsyytBJnJw@mail.gmail.com>
On Mon, 2017-07-10 at 17:07 +0300, Dmitry Kasatkin wrote:
> On Fri, Jun 9, 2017 at 9:02 PM, Mimi Zohar <zohar@linux.vnet.ibm.com> wrote:
> > The large marjority of filesystems in the fs directory define
> > generic_file_read_iter as the read_iter file operation method.
> >
> > Instead of specifying the integrity_read file operation method
> > for all of these file systems, continue to calculate the file
> > hash using the read_iter method, when defined as
> > generic_file_read_iter.
> >
> > For all other read_iter methods, define an integrity_read
> > method.
> >
> > Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
> > ---
> > security/integrity/iint.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/security/integrity/iint.c b/security/integrity/iint.c
> > index e3ef3fba16dc..8164f57f5cea 100644
> > --- a/security/integrity/iint.c
> > +++ b/security/integrity/iint.c
> > @@ -202,6 +202,9 @@ int integrity_kernel_read(struct file *file, loff_t offset,
> >
> > if (file->f_op->integrity_read) {
> > ret = file->f_op->integrity_read(&kiocb, &iter);
> > + } else if (file->f_op->read_iter &&
> > + file->f_op->read_iter == generic_file_read_iter) {
> > + ret = file->f_op->read_iter(&kiocb, &iter);
> > } else if (file->f_op->read) {
> > mm_segment_t old_fs;
> > char __user *buf = (char __user *)addr;
>
> Why not __vfs_read()?? it uses new_sync_read()
and that calls read_sync_iter(), which calls ->read_iter. Is there a
problem with directly calling ->integrity_read instead?
Mimi
> else if (file->f_op->read_iter)
> return new_sync_read(file, buf, count, pos);
>
>
next prev parent reply other threads:[~2017-07-10 15:22 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-09 18:02 [PATCH 0/4] define new fs integrity_read method Mimi Zohar
2017-06-09 18:02 ` Mimi Zohar
2017-06-09 18:02 ` [PATCH 1/4] ima: use fs method to read integrity data Mimi Zohar
2017-06-09 18:02 ` Mimi Zohar
2017-06-15 23:49 ` kbuild test robot
2017-06-15 23:49 ` kbuild test robot
2017-06-16 6:18 ` Christoph Hellwig
2017-06-16 6:18 ` Christoph Hellwig
2017-06-09 18:02 ` [PATCH 2/4] tmpfs: define integrity_read file operation method Mimi Zohar
2017-06-09 18:02 ` Mimi Zohar
2017-06-09 18:02 ` [PATCH 3/4] ima: use existing read file operation method to calculate file hash Mimi Zohar
2017-06-09 18:02 ` Mimi Zohar
2017-06-13 6:46 ` Christoph Hellwig
2017-06-13 6:46 ` Christoph Hellwig
2017-06-13 14:17 ` Mimi Zohar
2017-06-13 14:17 ` Mimi Zohar
2017-06-13 14:22 ` Christoph Hellwig
2017-06-13 14:22 ` Christoph Hellwig
2017-06-13 15:07 ` Mimi Zohar
2017-06-13 15:07 ` Mimi Zohar
2017-06-14 7:03 ` Christoph Hellwig
2017-06-14 7:03 ` Christoph Hellwig
2017-07-10 14:03 ` [Linux-ima-devel] " Dmitry Kasatkin
2017-07-10 14:03 ` Dmitry Kasatkin
2017-07-10 15:12 ` Mimi Zohar
2017-07-10 15:12 ` Mimi Zohar
2017-06-09 18:02 ` [PATCH 4/4] ima: use read_iter (generic_file_read_iter) " Mimi Zohar
2017-06-09 18:02 ` Mimi Zohar
2017-07-10 14:07 ` [Linux-ima-devel] " Dmitry Kasatkin
2017-07-10 14:07 ` Dmitry Kasatkin
2017-07-10 15:22 ` Mimi Zohar [this message]
2017-07-10 15:22 ` Mimi Zohar
2017-06-09 19:47 ` [PATCH] sample xfstests IMA-appraisal test module Mimi Zohar
2017-06-09 19:47 ` Mimi Zohar
2017-06-09 19:55 ` [PATCH] sample xfstests IMA-appraisal test module (resending) Mimi Zohar
2017-06-09 19:55 ` Mimi Zohar
2017-06-13 6:47 ` Christoph Hellwig
2017-06-13 6:47 ` Christoph Hellwig
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=1499700151.6034.133.camel@linux.vnet.ibm.com \
--to=zohar@linux.vnet.ibm.com \
--cc=linux-security-module@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 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.