lkml.org 
[lkml]   [2016]   [Oct]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.8 114/140] isofs: Do not return EACCES for unknown filesystems
    Date
    4.8-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Jan Kara <jack@suse.cz>

    commit a2ed0b391dd9c3ef1d64c7c3e370f4a5ffcd324a upstream.

    When isofs_mount() is called to mount a device read-write, it returns
    EACCES even before it checks that the device actually contains an isofs
    filesystem. This may confuse mount(8) which then tries to mount all
    subsequent filesystem types in read-only mode.

    Fix the problem by returning EACCES only once we verify that the device
    indeed contains an iso9660 filesystem.

    Fixes: 17b7f7cf58926844e1dd40f5eb5348d481deca6a
    Reported-by: Kent Overstreet <kent.overstreet@gmail.com>
    Reported-by: Karel Zak <kzak@redhat.com>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    fs/isofs/inode.c | 8 +++++---
    1 file changed, 5 insertions(+), 3 deletions(-)

    --- a/fs/isofs/inode.c
    +++ b/fs/isofs/inode.c
    @@ -687,6 +687,11 @@ static int isofs_fill_super(struct super
    pri_bh = NULL;

    root_found:
    + /* We don't support read-write mounts */
    + if (!(s->s_flags & MS_RDONLY)) {
    + error = -EACCES;
    + goto out_freebh;
    + }

    if (joliet_level && (pri == NULL || !opt.rock)) {
    /* This is the case of Joliet with the norock mount flag.
    @@ -1501,9 +1506,6 @@ struct inode *__isofs_iget(struct super_
    static struct dentry *isofs_mount(struct file_system_type *fs_type,
    int flags, const char *dev_name, void *data)
    {
    - /* We don't support read-write mounts */
    - if (!(flags & MS_RDONLY))
    - return ERR_PTR(-EACCES);
    return mount_bdev(fs_type, flags, dev_name, data, isofs_fill_super);
    }


    \
     
     \ /
      Last update: 2016-10-26 15:14    [W:4.248 / U:0.328 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site