[PATCH] util: Don't spawn pkttyagent when stdin is not a tty

Jim Fehlig jfehlig at suse.com
Fri Dec 17 16:25:34 UTC 2021


On 12/17/21 7:01 AM, Michal Prívozník wrote:
> On 12/11/21 14:23, Martin Kletzander wrote:
>> My idea was that running pkttyagent unconditionally, modulo checks that
>> pkttyagent itself does to make sure it does not fail, is not going to be an
>> issue turned out to be wrong.  Adding back the original check for stdin being a
>> tty helps in some testing scenarios as reported by Jim Fehlig and does not
>> really cause any issues.  I originally wanted it in because it also made
>> pkttyagent auth work with redirected input into virsh (with a connection that
>> requires polkit authentication and without a session-wide polkit tty agent,
>> basically making pkttyagent necessary to succeed).  But anyone running virsh
>> like that is asking for problems already anyway =)
>>
>> Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
>> ---
>>   src/util/virpolkit.c | 3 +++
>>   1 file changed, 3 insertions(+)
> 
> In case you want to push this:
> 
> Reviewed-by: Michal Privoznik <mprivozn at redhat.com>

And

Tested-by: Jim Fehlig <jfehlig at suse.com>

> 
> But I'd really like to get to the bottom of this. Why does sleep()
> suspends for that long and why isn't polkit-agent killed?

I got sidetracked before I could dig deeper, however I did notice the test 
process and all children were in a stopped state per /proc/<pid>/status. I sent 
SIGCONT to the processes and the test successfully completed. I'm baffled why 
these processes become stopped when pkttyagent is in the picture and work fine 
otherwise.

Jim





More information about the libvir-list mailing list