svn commit: r355241 - head/sys/kern
Mateusz Guzik
mjguzik at gmail.com
Wed Dec 4 03:47:31 UTC 2019
On 12/2/19, John Baldwin <jhb at freebsd.org> wrote:
> On 11/30/19 11:33 AM, Mateusz Guzik wrote:
>> Author: mjg
>> Date: Sat Nov 30 19:33:02 2019
>> New Revision: 355241
>> URL: https://svnweb.freebsd.org/changeset/base/355241
>>
>> Log:
>> smp: cast the read in quiesce_all_critical through void *
>>
>> Fixes compilation on some 32-bit arm platforms.
>>
>> Sponsored by: The FreeBSD Foundation
>>
>> Modified:
>> head/sys/kern/subr_smp.c
>>
>> Modified: head/sys/kern/subr_smp.c
>> ==============================================================================
>> --- head/sys/kern/subr_smp.c Sat Nov 30 19:21:29 2019 (r355240)
>> +++ head/sys/kern/subr_smp.c Sat Nov 30 19:33:02 2019 (r355241)
>> @@ -952,7 +952,7 @@ quiesce_all_critical(void)
>> break;
>> cpu_spinwait();
>> newtd = (struct thread *)
>> - atomic_load_acq_ptr((u_long *)pcpu->pc_curthread);
>> + atomic_load_acq_ptr((void *)pcpu->pc_curthread);
>
> Why not uintptr_t *? I think that's the defined type for atomic_*_ptr
> anyway?
>
I have no strong opinion one way or the other. However, the real fix
would make these routines work without casting for cases like the
above.
--
Mateusz Guzik <mjguzik gmail.com>
More information about the svn-src-all
mailing list