linux-user Pull request 20210330

Fix NETLINK_LIST_MEMBERSHIPS with NULL/invalid pointer and 0 length
 -----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEEzS913cjjpNwuT1Fz8ww4vT8vvjwFAmBjN+sSHGxhdXJlbnRA
 dml2aWVyLmV1AAoJEPMMOL0/L748Eb8P/2Yq9BGaRt3grDdsvvoc4HtyuEhKQ7O/
 KQql+lWSkYtBFjyd3HzM0wj6/FHahTstZbsIcaXJQwGZ7C8GGBAmwWn1q4CkVbjt
 RSHz+6bqzC8uR7XfmmOwGqj4N6EIoSpXW8CNJAv87ImEgD/cF6E0Dlq4pEOcjKPg
 DSywgofCuhqBwvqwLHsoJ4wzA8jn3jtwtrWQE1yI5cIvLjl08lxpEW/ClAVaxs0J
 zs0bAP8dFC9N4plllQ62Ffs67DVfzYS0YprrPivJoTNUCgmq8lF9yts4nbkd1r6C
 GSio824UFY/P4AMGbYWKcxRTvb4q7/HaJ8DKeuuCDqyx/HpEFJfNTse6n03BF0+y
 38qQ9G2erKD1VLBNLWPyEBsavJA5fbaYmVpa39J+1KpepdnlL1GcqPQ5G327P6sQ
 GaqZQZBxJ0cbMRgRQvnT5iMAS6KgnSb7JwAUQZP+JGdKjRJg93it/CO1FAgQnH3I
 Jl92ZbUWjkC194aqYnFS78bUI3a5ecbdYAY6JnM77U+G1cLpMcVWjpORQdUIdmgY
 XHE6DO80Hr0KPN52ogATaxdMB1b9UtqWYgu05uU23Lq1DB75iGxcZ6EBvQqsMwRL
 h1Nl6IU15tPTNNAW7ySRnU8pzQ9GUDPW7D59j3AZjqTYEob7ClACrHcdI1660/Jz
 y0DwlRKi/A51
 =N/0o
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-6.0-pull-request' into staging

linux-user Pull request 20210330

Fix NETLINK_LIST_MEMBERSHIPS with NULL/invalid pointer and 0 length

# gpg: Signature made Tue 30 Mar 2021 15:38:35 BST
# gpg:                using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg:                issuer "laurent@vivier.eu"
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [full]
# gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [full]
# gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" [full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C

* remotes/vivier2/tags/linux-user-for-6.0-pull-request:
  linux-user: NETLINK_LIST_MEMBERSHIPS: Allow bad ptr if its length is 0

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2021-03-31 10:44:43 +01:00
commit b307a3174f

View file

@ -3025,7 +3025,7 @@ get_timeout:
return -TARGET_EINVAL;
}
results = lock_user(VERIFY_WRITE, optval_addr, len, 1);
if (!results) {
if (!results && len > 0) {
return -TARGET_EFAULT;
}
lv = len;