Re: Re: [2.6 patch] unexport uts_sem

From: Steve French (smfltc)
Date: Wed May 21 2008 - 10:47:45 EST


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

cifs/connect.c,

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.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/