[libvirt] [PATCH v2 00/14] Fix race on srv->nclients_unauth and some other changes

Marc Hartmayer mhartmay at linux.vnet.ibm.com
Fri Dec 22 10:28:34 UTC 2017


On Thu, Dec 21, 2017 at 07:23 PM +0100, John Ferlan <jferlan at redhat.com> wrote:
> On 12/21/2017 09:28 AM, Marc Hartmayer wrote:
>> This patch series fixes some locking issues, a memory leak, some other
>> cosmetic changes, and it fixes a bug that led to a libvirtd which
>> doesn't accept new connections.
>> 
>> Changelog:
>>  v1->v2:
>>   + Added r-b's
>>   + Patch 2: Replaced the patch with a new fix for the memory leak
>>   + Patch 5: Introduce *Locked and simplified the function as John suggested
>>   + Patch 7: Fixed coding style issues, merged in the former patch 9, reworded commit message
>>   + Patch 9: (former patch 10) reworded the commit message and fixed coding style issues
>>   + Patch 10: (former patch 11) Fixed coding style issues, moved check
>>               to ExecRestart, reworded function description of
>>               virNetServerSetClientAuthCompletedLocked
>>   + New patch 14: Add locking around the critical section in remoteSASLFinish
>> 
>> Marc Hartmayer (14):
>>   rpc: Remove duplicate declaration of virNetServerAddClient
>>   tests: virnetserverclienttest: Fix memory leak @client
>>   rpc: Use the enum value instead of a numerical value
>>   rpc: Add typedef for the anonymous enum used for authentication
>>     methods
>>   rpc: Be more precise in which cases the authentication is needed and
>>     introduce *Locked
>>   rpc: First test if authentication is required
>>   rpc: Refactor the condition whether a client needs authentication
>>   rpc: Correct locking and simplify the function
>>   rpc: Introduce virNetServerSetClientAuthenticated
>>   rpc: virnetserver: Fix race on srv->nclients_unauth
>>   tests: virnetdaemontest: Enable testing for 'auth_pending'
>>   rpc: Remove virNetServerClientNeedAuthLocked
>>   rpc: Replace virNetServerClientNeedAuth with
>>     virNetServerClientIsAuthenticated
>>   remote: add locking around the critical section in remoteSASLFinish
>> 
>>  daemon/remote.c                                    |  33 +++---
>>  src/libvirt_remote.syms                            |  14 +--
>>  src/rpc/virnetserver.c                             |  82 +++++++++-----
>>  src/rpc/virnetserver.h                             |   6 +-
>>  src/rpc/virnetserverclient.c                       | 118 ++++++++++++++++-----
>>  src/rpc/virnetserverclient.h                       |  11 +-
>>  src/rpc/virnetserverprogram.c                      |   9 +-
>>  src/rpc/virnetserverservice.h                      |   4 +-
>>  .../input-data-client-auth-pending-failure.json    |  44 ++++++++
>>  .../input-data-client-auth-pending.json            |  70 ++++++++++++
>>  .../virnetdaemondata/output-data-admin-nomdns.json |   4 +
>>  .../output-data-admin-server-names.json            |   4 +
>>  .../virnetdaemondata/output-data-anon-clients.json |   2 +
>>  ...s.json => output-data-client-auth-pending.json} |   4 +-
>>  tests/virnetdaemondata/output-data-client-ids.json |   2 +
>>  .../output-data-client-timestamp.json              |   2 +
>>  .../output-data-initial-nomdns.json                |   2 +
>>  tests/virnetdaemondata/output-data-initial.json    |   2 +
>>  .../output-data-no-keepalive-required.json         |   4 +
>>  tests/virnetdaemontest.c                           |   2 +
>>  tests/virnetserverclienttest.c                     |   1 +
>>  21 files changed, 331 insertions(+), 89 deletions(-)
>>  create mode 100644 tests/virnetdaemondata/input-data-client-auth-pending-failure.json
>>  create mode 100644 tests/virnetdaemondata/input-data-client-auth-pending.json
>>  copy tests/virnetdaemondata/{output-data-client-ids.json => output-data-client-auth-pending.json} (94%)
>> 
>
> For patches 1-13,
>
> Reviewed-by: John Ferlan <jferlan at redhat.com>
>
> Before pushing - probably should wait to make sure there's no other
> objections from anyone else. I'm guessing Dan will take a look.
>
> John

Thanks.

-- 
Beste Grüße / Kind regards
   Marc Hartmayer

IBM Deutschland Research & Development GmbH
Vorsitzende des Aufsichtsrats: Martina Koederitz
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294





More information about the libvir-list mailing list