On 2018-11-11 17:24, Ondrej Mosnacek wrote:
Hi Richard,
On Fri, Nov 9, 2018 at 11:04 PM Richard Guy Briggs <rgb(a)redhat.com> wrote:
> Hi Paul, Ondrej,
>
> I've got a couple of patches with two different approaches to address
> ghak100:
>
https://github.com/linux-audit/audit-kernel/issues/100
>
> The patches work, but I've not posted them yet because I wanted to
> update the audit-testsuite first to consistently test it.
>
> I've written a test to automate the regression test to add to
> audit-testsuite based on the reproducer recipe provided in ghak100. The
> procedure in the description of ghak100 works, but I'm having some
> trouble with the script. In particular, it is hanging the script on the
> "kill 'SIGSTOP' $pid_fuse" line. Once it hangs, the main script,
the
> test subscript and both backgrounded processes (fuse and umount) are
> still hanging around.
>
> Here's the script:
>
https://github.com/linux-audit/audit-testsuite/compare/master...rgbriggs:...
>
> Do either of you have any insight why this might be happenning and how
> to fix or work around it?
>
> A couple of minor notes:
> - The $pid_fuse += 1 is necessary since it forks from the PID reported
> to the shell.
I don't understand... why do you expect the forked PID to be exactly
one higher? This doesn't seem to be the case in general:
$ (echo $$; exec bash -c 'echo $$' &)
10995
13693
I was not happy with this hack, but this was the most expedient way to
try to get a first attempt working... I suppose a better way might be
to spawn the client which forks, then use something like pgrep to find
all the instances and eliminate the PID that was returned by the launch.
As far as I can tell, I was hitting the right task since hitting the
wrong or non-existant task didn't hang the test.
> - The SIGSTOP is necessary to simulate the hung filesystem.
>
> - RGB
Ondrej Mosnacek <omosnace at redhat dot com>
- RGB
--
Richard Guy Briggs <rgb(a)redhat.com>
Sr. S/W Engineer, Kernel Security, Base Operating Systems
Remote, Ottawa, Red Hat Canada
IRC: rgb, SunRaycer
Voice: +1.647.777.2635, Internal: (81) 32635