Subject: Re: [PATCH] sysfs: Don't allow the creation of symlinks we can't remove

From: Greg KH <[email-masked]>
Date: Thu, 8 Jul 2010 14:19:30 -0700

On Thu, Jul 08, 2010 at 09:31:24AM -0700, Eric W. Biederman wrote:
> 
> Recently my tagged sysfs support revealed a flaw in the device core
> that a few rare drivers are running into such that we don't always put
> network devices in a class subdirectory named net/.
> 
> Since we are not creating the class directory the network devices wind
> up in a non-tagged directory, but the symlinks to the network devices
> from /sys/class/net are in a tagged directory.  All of which works
> until we go to remove or rename the symlink.  When we remove or rename
> a symlink we look in the namespace of the target of the symlink.
> Since the target of the symlink is in a non-tagged sysfs directory we
> don't have a namespace to look in, and we fail to remove the symlink.
> 
> Detect this problem up front and simply don't create symlinks we won't
> be able to remove later.  This prevents symlink leakage and fails in
> a much clearer and more understandable way.

With this patch, how does the existing code fail as the drivers aren't
fixed up?

I like this change, just worried it will cause problems if it gets into
.35, without your RFC patch.  Will it?

thanks,

greg k-h