On 15.04.21 09:54, Philippe Gerum wrote:
> 
> Jan Kiszka <jan.kis...@siemens.com> writes:
> 
>> On 15.04.21 09:21, Philippe Gerum wrote:
>>>
>>> Jan Kiszka <jan.kis...@siemens.com> writes:
>>>
>>>> On 27.03.21 11:19, Philippe Gerum wrote:
>>>>> From: Philippe Gerum <r...@xenomai.org>
>>>>>
>>>>> Since v5.9-rc1, csum_partial_copy_nocheck() forces a zero seed as its
>>>>> last argument to csum_partial(). According to #cc44c17baf7f3, passing
>>>>> a non-zero value would not even yield the proper result on some
>>>>> architectures.
>>>>>
>>>>> Nevertheless, the current ICMP code does expect a non-zero csum seed
>>>>> to be used in the next computation, so let's wrap net_csum_copy() to
>>>>> csum_partial_copy_nocheck() for pre-5.9 kernels, and open code it for
>>>>> later kernels so that we still feed csum_partial() with the user-given
>>>>> csum. We still expect the x86, ARM and arm64 implementations of
>>>>> csum_partial() to do the right thing.
>>>>>
>>>>
>>>> If that issue only affects the ICMP code path, why not only changing
>>>> that, leaving rtskb_copy_and_csum_bits with the benefit of doing copy
>>>> and csum in one step?
>>>>
>>>
>>> As a result of #cc44c17baf7f3, I see no common helper available from the
>>> kernel folding the copy and checksum operations anymore, so I see no way
>>> to keep rtskb_copy_and_csum_bits() as is. Did you find an all-in-one
>>> replacement for csum_partial_copy_nocheck() which would allow a csum
>>> value to be fed in?
>>>
>>
>> rtskb_copy_and_csum_dev does not need that.
>>
> 
> You made rtskb_copy_and_csum_bits() part of the exported API. So how do
> you want to deal with this?
> 

That is an internal API, so we don't care.

But even if we converted rtskb_copy_and_csum_bits to work as it used to
(with a csum != 0), there would be not reason to make
rtskb_copy_and_csum_dev pay that price.

Jan

-- 
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux

Reply via email to