Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/kern



On 02.08.2018 06:33, Masanobu SAITOH wrote:
> On 2018/08/02 13:28, SAITOH Masanobu wrote:
>> Module Name:    src
>> Committed By:    msaitoh
>> Date:        Thu Aug  2 04:28:56 UTC 2018
>>
>> Modified Files:
>>     src/sys/kern: uipc_mbuf2.c
>>
>> Log Message:
>> Adjust alignment in m_pulldown().
>>
>>   IP6_EXTHDR_GET() and M_REGION_GET() do m_pulldown(). When
>> m_pulldown() copies
>> data into M_TRAILINGSPACE, the alignment might be changed. There are a
>> lot of
>> IP6_EXTHDR_GET() calls, so I think it's not good to check the
>> alignment after
>> every IP6_EXTHDR_GET() call. This change fixes this problem in
>> m_pulldown().
>> In this commit, the next mbuf are 4 byte aligned. For networking, I've
>> never
>> heard that 64bit alignment is required, so I think it would be OK.
>>
>>   I don't know this is the best solution, but it's better than nothing.
>>
>>   OK'd by maxv@.
>>
>>   After committing this change, the workaround code for PR#50776 can
>> be removed.
> 
> Not PR#50776 but PR#50766
> (panic in tcp_input.c on the banana pi (earm7hf) when trying to connect
> an ipv6 address through a gif ipv6 in ipv4 tunnel)
> 

I've identified various similar misalignment in the kernel.

I will land the utility (micro-UBSan) to the sources soon (this week?).
It got delayed few days because rebase to HEAD with newer clang
introduced new checks and I needed to cover them with handlers and tests.

> 
>>
>> To generate a diff of this commit:
>> cvs rdiff -u -r1.32 -r1.33 src/sys/kern/uipc_mbuf2.c
>>
>> Please note that diffs are not public domain; they are subject to the
>> copyright notices on the relevant files.
>>
> 
> 
> 


Attachment: signature.asc
Description: OpenPGP digital signature



Home | Main Index | Thread Index | Old Index