[sos-devel] How to avoid reading /proc/net//rpc/use-gss-proxy ?

Bryn M. Reeves bmr at redhat.com
Wed Dec 10 16:54:10 UTC 2014


On Wed, Dec 10, 2014 at 10:21:10AM -0600, Guy Streeter wrote:
> The currently-released MRG RT kernel has a bug that causes a read of
>  /proc/net/rpc/use-gss-proxy
> to hang in most cases. Is there a way to bypass this and get a successful
> sosreport from the system?

You add a line like this to the plugin:

  self.add_forbidden_path("/proc/net/rpc/use-gss-proxy")

But this has been upstream since:

  commit 44e01afbd86f60760af85ad64810e56cf5e77140
  Author: Bryn M. Reeves <bmr at redhat.com>
  Date:   Wed Aug 14 15:58:13 2013 +0100

    Do not attempt to read use-gss-proxy file in procfs
    
    The networking plug-in scoops up /proc/net. There are some pseudo-
    files in here that we should avoid touching. These either have
    side-effects or hang the reading process.
    
    Add a forbidden path for the /proc/net/rpc/use-gss-proxy file.
    
    Signed-off-by: Bryn M. Reeves <bmr at redhat.com>

It's been in sos-3.0 and sos-3.2 packages since the start and was
backported to sos-2.2 (RHEL6) earlier this year:

* Mon Jun 23 2014 Bryn M. Reeves <bmr at redhat.com> = 2.2-57.el6
- [networking] do not attempt to read use-gss-proxy
  Resolves: bz1079954

The EL6 version of the change is slightly different:

  self.addForbiddenPath("/proc/net//rpc/use-gss-proxy")

(the API names are different in 2.2 and the '//' is required to
work around the handling of /proc/net as a namespace symlink).

This was released along with RHEL-6.6. We've not had any requests
to backport it to any earlier branches so far.

If you're looking at making changes I'd also suggest taking the
related channel and flush fixes:

>= 3.0:
  self.add_forbidden_path("/proc/net/rpc/*/channel")
  self.add_forbidden_path("/proc/net/rpc/*/flush")

<= 2.2:
  self.addForbiddenPath("/proc/net//rpc/*/channel")
  self.addForbiddenPath("/proc/net//rpc/*/flush")

Regards,
Bryn.




More information about the sos-devel mailing list