[linux-cifs-client] Re: Re: [2.6 patch] unexport uts_sem
Steve French (smfltc)
smfltc at us.ibm.com
Wed May 21 14:48:00 GMT 2008
Christoph Hellwig wrote:
> On Tue, May 20, 2008 at 02:38:02PM -0400, Frank Ch. Eigler wrote:
>> Sorry, I misspoke - this check is intended not to cross-check
>> kernel-devel and the kernel itself, but the debuginfo or similar data
>> that is given to describe target of a systemtap script. I guess for
>> new enough kernels we'll just do that using buildid hash codes.
>> By the way, there do appear to be a few suspect in-tree users of
>> utsname() without uts_sem locking
> This one is quite fishy. Not sure what it needs the name for but the
> kernel utsname is probably a bad choise. And yes, this one actually
> is racy because the host name can change.
CIFS in fs/cifs/sess.c uses utsname()->version because the cifs protocol
requires that the server and client report their native operating system
version during session setup (not just their "network operating system"
or network file system version). The other uses of utsname()->version
in connect.c will be removed (they are used in an older implementation
of session_setup which is disabled by default).
CIFS in fs/cifs/connect.c uses utsname()->nodename to get the default
hostname during mount. For RFC1001 connections and for NTLMSSP, if no
RFC1001 name for the client is supplied on the mount, the TCP host name
must be used to identify the client in those packets.
More information about the linux-cifs-client