On Mon, Aug 22, 2011 at 5:48 AM, Jan Safranek <jsafr...@redhat.com> wrote:
> when an executable is symlinked and the symlink is executed,
> /proc/PID/status contains name of the symlink, while /proc/PID/exe points
> to the real executable name. cgrulesengd considered this case as error and
> did not trigger any rule for this exec().
>
> With this patch, cgrulesengd uses name of /proc/PID/exe as the executable
> in this case.
>
> Signed-off-by: Jan Safranek <jsafr...@redhat.com>

If we get a tested by on this one, go ahead with it. looks sane to me.

> ---
>
>  src/api.c |   17 +++++++++++++++--
>  1 files changed, 15 insertions(+), 2 deletions(-)
>
> diff --git a/src/api.c b/src/api.c
> index e443ad5..b3c96d7 100644
> --- a/src/api.c
> +++ b/src/api.c
> @@ -3694,11 +3694,24 @@ int cgroup_get_procname_from_procfs(pid_t pid, char 
> **procname)
>         */
>        ret = cg_get_procname_from_proc_cmdline(pid, pname_status,
>                                                    &pname_cmdline);
> -       if (!ret)
> +       if (!ret) {
>                *procname = pname_cmdline;
> +               free(pname_status);
> +               return 0;
> +       }
>
> +       /*
> +        * The above strncmp() is not 0 also if executing a symbolic link,
> +        * /proc/pid/exe point to real executable name then.
> +        * Return it as the last resort.
> +        */
>        free(pname_status);
> -       return ret;
> +       *procname = strdup(buf);
> +       if (*procname == NULL) {
> +               last_errno = errno;
> +               return ECGOTHER;
> +       }
> +       return 0;
>  }
>
>  int cgroup_register_unchanged_process(pid_t pid, int flags)
>
>

------------------------------------------------------------------------------
Get a FREE DOWNLOAD! and learn more about uberSVN rich system, 
user administration capabilities and model configuration. Take 
the hassle out of deploying and managing Subversion and the 
tools developers use with it. http://p.sf.net/sfu/wandisco-d2d-2
_______________________________________________
Libcg-devel mailing list
Libcg-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libcg-devel

Reply via email to