From nobody Fri Nov 14 16:18:34 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4d7MlP3S8gz6GgdH; Fri, 14 Nov 2025 16:18:57 +0000 (UTC) (envelope-from garga@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4d7MlP2JZ7z3mhR; Fri, 14 Nov 2025 16:18:57 +0000 (UTC) (envelope-from garga@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1763137137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=SQIzFn8wa/KDIsdQ+/OuP+ceIVBC4HEnIaoOctmMigQ=; b=Busz7m6dZty+NCcgnpyiWUO3lpZwBb1Wyg3hOSIcBsCoGHf4wysFawtaimH+ma+FIaM6CO yzLz6xjmVtVVyOBT3ThPB7dfLV6XLJplbr7iieLLrj8dOWOzF56I7B2eSKwho10kGrHqo+ g6JmLHCuCDHXCUrbd4SbDc0tJ1aTUTIJO3cSQED7yDd7QadKjlUtmt5AeqONXBaUE8vjDi D9VHO1/oiPecl4AWEJgMPml0RLOYBn08JVDRuqfDQRnDLJwNUwY6tkzUnpsvHUbZ/A13gh wC7wFo+cT6cix8EDmN9KGzYQT8BD+GGmB/iN6qF37c+MxC8Sz1/os6YvAzibtw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1763137137; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=SQIzFn8wa/KDIsdQ+/OuP+ceIVBC4HEnIaoOctmMigQ=; b=LOnn7ZW46Ao12BOcffwWC5ksr4fPyF6t5dGJ4hIaX+qfahs8eK4cVaRJ11MrQhMz0sAq1+ 5SbpNhP+FlwKNRR1F7SxDKjc15CVG4v3xEf9ml6fwSK5RfDW+3C/s2R6frtQO2UN/yyiky wQ+2r/CLTyVvXJ0gjzQgYzRsag988b7rTA42BUU2ZaQ/kU3ghu4gQ3KGctiI9gtUQaXRda JnAzp7mEuP5ENfnuLmQB+Bo1aXxAgEAubfd6WpO0rZxCVPIrEg2ywb7VRZ4So3zLya8mhs uc4+BrfyDKZne9ZgjYhPliiNIsYTzD4F1UyJsZG7Skh2AwjhBg2ufc839odjvw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1763137137; a=rsa-sha256; cv=none; b=ic6X0BNfcKIIds2Boc5TsAdVsE3qH1ZZSe9RoIFB9T8vyHh/Mj/yqFP0iff0rx3QpuVxYv nggIC+2FOP5POg6DTjKQRtoyDWwr8zJfpGsxktN0RVkC20xloyG5IJZjrTabl+4cwZgv3d pLoiDVvHi0mCFSsFKVjgbHQYBXKVVIVQxx7hmc7b1zukfX2oiEYB39MRqMC6hbVRiEh66i ard30vl1QXzivUmstCGTxQ4iKKKX0bJgEjlvzLN5guzAX2I5SfohMCrrM2Varo/8BNK7uT r71hZCUIcBA59PIUY9CPkGqWMWYL1UJJmE28NyXDKXKtjmQW7yVwJSfnw1juAA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from [IPV6:2804:f1c:34:1001:ec2a:ec6:cee9:f831] (unknown [IPv6:2804:f1c:34:1001:ec2a:ec6:cee9:f831]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: garga) by smtp.freebsd.org (Postfix) with ESMTPSA id 4d7MlN3z6GzpbG; Fri, 14 Nov 2025 16:18:56 +0000 (UTC) (envelope-from garga@FreeBSD.org) Message-ID: Date: Fri, 14 Nov 2025 13:18:34 -0300 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: git: 69f61cee2efb - main - unix/stream: fix a race with MSG_PEEK on SOCK_SEQPACKET with MSG_EOR To: Gleb Smirnoff , src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org References: <202511140240.5AE2eQmY011060__48884.4837805786$1763088041$gmane$org@gitrepo.freebsd.org> Content-Language: en-US From: Renato Botelho Autocrypt: addr=garga@FreeBSD.org; keydata= xsBNBGStavwBCACjNlp/9+Y+VFe9ieR2h/WWbdvjz4Mb2z/f22bGoaskzCfvVNbo/v3i34I9 H6OdgZkGqheQEAD2jNfRbmPr4z40xDMUpYGLds+1Mvg7G3Hms3j5Ef8KaLSWUNWIfwKdfSVR Qs35ccSJxAdRW5YdI6J3xZgika+3Bc4eJ05YE/nWW+PNTYevt5rqD50N3zybVYIcLoqVPpBi AZE/sf5SLiLACIJb1t/s4x+pi8vgWevxVVT9u8V1f8zYErmHSLSqjxii0B3eRZphX9NCJOv9 +tfFZhnENInhn9gT7H4e2YumUltEy3jacONHJF3CC1pvvWEa6lEyypclMOkHQwNON7DLABEB AAHNLFJlbmF0byBCb3RlbGhvIChGcmVlQlNEKSA8Z2FyZ2FARnJlZUJTRC5vcmc+wsCXBBMB CgBBAhsDBQkFo5qABQsJCAcDBRUKCQgLBRYDAgEAAh4FAheAFiEERL7Dxegbnh7xTiQ5Ob6P xxJcZXoFAmSta78CGQEACgkQOb6PxxJcZXrYlggAgaZmr6c1yIWzN8VksHrHpwt/uxONEP+h ljy3yfrMsgfS5wx5Uzgfih1xYZUFC6jiI63CetqBqJpp3g1klRS1UWYKx2NeXphDMYZEdPm/ a6sXh4bKZbk6IE8Yn0/YiRT57d9DtbvswC7Gn7Igj/MSbhl49TvTGyvuB6juaffVoYZViomx 5zMoee8Ml2o2qj3MrCJ+/K8GU54RlpOGqGRsqdwVdr9XEWub6fF2YFwR46cjmbiU3P5urFHH nkJlBGPIwKxHimTW0lZsdx9aCKRDd/D80/WOEzXmk3k8B9lv/GsvOluHmveLhJG1R1tIJ31I f2q8dfTvqsQXnu8CcWRcgc7ATQRkrWr8AQgA1DufoxScA+CWQbUR6zExIu8wXQKrhuRt4DG2 BgynT7EMUvEBadcbQRZXsBpemNfncc9Axyut/+rWiyKJf9BLQuo/9QYmSRvW1U6+0LJUYmdg kMyBeYaPk+vnssv/u9jLuvV7FVgyE0yk1iaWIKOVDD+XrQCOvGw9uSceBrQyCyo3A/eRM/+p vnDCaywR63PKE+3axk6lfNdGK3TnaWmS30/ZDCZlNsXuqprqR4JdT5wXids5o36dsuJ5EZ20 s5hNMD34s4Yr1Y1R9elH6qBsFCpozs0+jwrArxq+UJJCR6hH5W8ZEwJtRC8tzR8mRE1WywzX BXYj0YhfGztQIxZckQARAQABwsB8BBgBCgAmFiEERL7Dxegbnh7xTiQ5Ob6PxxJcZXoFAmSt avwCGwwFCQWjmoAACgkQOb6PxxJcZXr1vgf/SKXhoZcUU5I7TqcbHg0lJz9tICTupCGHWr/s SQgjh9oEM5j1wqW7FlCGP90Tl9K0g3ow9YdbhU7VK470o6pymX9V9eLHzGgkZO/KMEtGBeK1 u+5ePjCJ/MK5B21KODLSU7WrIL1VN5ceXfQPLYt02LMLtPri+oduHD6RNBeA7US1DUzleq5F 9NHGbvV2U7BdDUezpiO8NaFjFZVB11I5d99FxUM5XGVstI3VhsRKZxjY0KnqJzaQgTFsPGmv AUfZVIN1pXgXiedhPXpr8+Y64jP+pHVwpVmh1zYWL6+q3kqFOUVP6c5iiMeoEXZvgJz7x/AC ek3X5gvu8Hpcv+MZIg== In-Reply-To: <202511140240.5AE2eQmY011060__48884.4837805786$1763088041$gmane$org@gitrepo.freebsd.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 13/11/25 23:40, Gleb Smirnoff wrote: > The branch main has been updated by glebius: > > URL: https://cgit.FreeBSD.org/src/commit/?id=69f61cee2efb1eec0640ca7de9b2d51599569a5d > > commit 69f61cee2efb1eec0640ca7de9b2d51599569a5d > Author: Gleb Smirnoff > AuthorDate: 2025-11-14 02:39:48 +0000 > Commit: Gleb Smirnoff > CommitDate: 2025-11-14 02:39:48 +0000 > > unix/stream: fix a race with MSG_PEEK on SOCK_SEQPACKET with MSG_EOR > > The pr_soreceive method first scans the buffer holding the both I/O sx(9) > and socket buffer mutex(9) and after figuring out how much needs to be > copied out drops the mutex. Since the other side may only append to the > buffer, it is safe to continue the operation holding the sx(9) only. > However, the code had a bug that it used pointer in the very last mbuf as > marker of the place where to stop. This worked both in a case when we > drain a buffer completely (marker points at NULL) and in a case when we > wanted to stop at MSG_EOR (marker points at next mbuf after MSG_EOR). > However, this pointer is not consistent after we dropped the socket buffer > mutex. > > Rewrite the logic to use the data length as bounds for the copyout cycle. > > Provide a test case that reproduces the race. Note that the race is very > hard to hit, thus test will pass on unmodified kernel as well. In a > virtual machine I needed to add tsleep(9) for 10 nanoseconds into the > middle of function to be able to reproduce. > > PR: 290658 > Reviewed by: markj > Differential Revision: https://reviews.freebsd.org/D53632 > Fixes: d15792780760ef94647af9b377b5f0a80e1826bc Hi Gleb! It looks like Thunderbird decided to encrypt my previous message, lets try again :) I've updated my laptop this morning and it crashed at boot as you can see at [1]. I suspect it may be related to this commit. [1] https://imgur.com/a/opfN6Ta -- Renato Botelho