Issues with Linux kernel oplocks

Jim Brown jim.brown at rsmas.miami.edu
Tue Jul 23 14:54:21 MDT 2013


Permissions to open a file and set a LEASE on that file do not imply 
that the real or effective UID of all such processes must be the same 
(so they can send each other signals).

On 7/23/2013 4:47 PM, Jeremy Allison wrote:
> On Tue, Jul 23, 2013 at 04:32:16PM -0400, J. Bruce Fields wrote:
>> Sure, but...
>>
>>> Neither process has to be privileged, neither
>>> process has to have changed uids.
>>>
>>> For leases to work this condition:
>>>
>>> "the real or effective user ID of the sending process must equal
>>> the real or saved set-user-ID of the target process."
>>>
>>> cannot be correct. Else you could only break leases between
>>> processes who are owned by the same uid - or from a privileged
>>> opener.
>> ... you're confusing the lease-breaker and the lease-setter.
>>
>> Note in the first quote above, "where the sending process is the one
>> that employs F_SETOWN".  (Or equivalently, I think, F_SETLEASE.)
> Ok then I'm really confused. Samba always does
> the lease set as the same uid as the open, we
> never change uids between the open and the
> setting of the kernel oplock.
>
> What is the problem I'm missing here ? (Sorry,
> I'm being spectaularly dense here I know :-).
>
> Jeremy.



More information about the samba-technical mailing list