Description
In the Linux kernel, the following vulnerability has been resolved: nfsd: call op_release, even when op_func returns an error For ops with "trivial" replies, nfsd4_encode_operation will shortcut most of the encoding work and skip to just marshalling up the status. One of the things it skips is calling op_release. This could cause a memory leak in the layoutget codepath if there is an error at an inopportune time. Have the compound processing engine always call op_release, even when op_func sets an error in op->status. With this change, we also need nfsd4_block_get_device_info_scsi to set the gd_device pointer to NULL on error to avoid a double free.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
34b1744c91ccd44811005822106945fa80ecbff2 to < 65a33135e91e6dd661ecdf1194b9d90c49ae3570affected34b1744c91ccd44811005822106945fa80ecbff2 to < b11d8162c24af4a351d21e2c804d25ca493305e3affected34b1744c91ccd44811005822106945fa80ecbff2 to < b623a8e5d38a69a3ef8644acb1030dd7c7bc28b3affected34b1744c91ccd44811005822106945fa80ecbff2 to < 3d0dcada384af22dec764c8374a2997870ec86aeaffected34b1744c91ccd44811005822106945fa80ecbff2 to < 15a8b55dbb1ba154d82627547c5761cac884d810affected
Linux Linux
Default version status: affected
4.14affected0 to < 4.14unaffected5.10.220 to ≤ 5.10.*unaffected5.15.154 to ≤ 5.15.*unaffected6.1.24 to ≤ 6.1.*unaffected6.2.11 to ≤ 6.2.*unaffected6.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/65a33135e91e6dd661ecdf1194b9d90c49ae3570 ↗
- https://git.kernel.org/stable/c/b11d8162c24af4a351d21e2c804d25ca493305e3 ↗
- https://git.kernel.org/stable/c/b623a8e5d38a69a3ef8644acb1030dd7c7bc28b3 ↗
- https://git.kernel.org/stable/c/3d0dcada384af22dec764c8374a2997870ec86ae ↗
- https://git.kernel.org/stable/c/15a8b55dbb1ba154d82627547c5761cac884d810 ↗