cifs unable to access shares with read restricted at root level (bso#8950)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

I've recently started working on bso#8950 [1] but I'm both a
kernel/SMB protocol newbie so bear with me... :-)

Shirish Pargaonkar provided a fix but it doesn't work on my setup. I
would like to provide a fix for SUSE even if temporary/hacky. Shirish's
approach seems sound so I've tried debugging it. I've summarized the
situation and my comments here [2].

There are a few things I don't understand yet.

* Where are disconnected dentries stored?
* How do you allocate a new dentry?
* What do d_obtain_alias() and d_splice_dentry() actually do? I've read
  the doc strings several times but I still have a hard time wrapping my
  head around it.

The result I'm getting seems to indicate that when an intermediary path
element is inaccessible an alternate root dentry directly pointing to
the requested path is created. The problem is that the prefixpath of
that is not stored anywhere so when we ask for a pattern to list the
content of that share, we use the path of the dentry from the root
(which is, well /) instead of the share prefixpath.

1: https://bugzilla.samba.org/show_bug.cgi?id=8950
2: http://diobla.info/doc/suse-todo#bnc799133

-- 
Aurélien Aptel / SUSE Labs Samba Team
GPG: 1839 CB5F 9F5B FB9B AA97  8C99 03C8 A49B 521B D5D3
SUSE Linux GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG
Nürnberg)

Attachment: pgp_UxM9_nntN.pgp
Description: OpenPGP digital signature


[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux