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

Marc Hartmayer posted 14 patches 6 years, 3 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20171221142909.16662-1-mhartmay@linux.vnet.ibm.com
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%)
[libvirt] [PATCH v2 00/14] Fix race on srv->nclients_unauth and some other changes
Posted by Marc Hartmayer 6 years, 3 months ago
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%)

-- 
2.13.4

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v2 00/14] Fix race on srv->nclients_unauth and some other changes
Posted by John Ferlan 6 years, 3 months ago

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@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

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v2 00/14] Fix race on srv->nclients_unauth and some other changes
Posted by Marc Hartmayer 6 years, 3 months ago
On Thu, Dec 21, 2017 at 07:23 PM +0100, John Ferlan <jferlan@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@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


--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list