lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 12 Jan 2024 21:57:04 -0800
From: Randy Dunlap <rdunlap@...radead.org>
To: Jeff Xu <jeffxu@...omium.org>
Cc: akpm@...ux-foundation.org, keescook@...omium.org, jannh@...gle.com,
 sroettger@...gle.com, willy@...radead.org, gregkh@...uxfoundation.org,
 torvalds@...ux-foundation.org, usama.anjum@...labora.com, jeffxu@...gle.com,
 jorgelo@...omium.org, groeck@...omium.org, linux-kernel@...r.kernel.org,
 linux-kselftest@...r.kernel.org, linux-mm@...ck.org,
 pedro.falcato@...il.com, dave.hansen@...el.com,
 linux-hardening@...r.kernel.org, deraadt@...nbsd.org
Subject: Re: [PATCH v6 0/4] Introduce mseal()



On 1/12/24 20:53, Jeff Xu wrote:
> On Fri, Jan 12, 2024 at 6:20 PM Randy Dunlap <rdunlap@...radead.org> wrote:
>>
>>
>>
>> On 1/11/24 15:41, jeffxu@...omium.org wrote:
>>> From: Jeff Xu <jeffxu@...gle.com>
>>>
>>> This patchset proposes a new mseal() syscall for the Linux kernel.
>>>
>>
>> Jeff,
>> Building arm64 defconfig, on linux-next-20240112, I get:
>>
> I don't quite get how this is related to my change.
> Can you please send me the steps to reproduce ?  I don't usually build arm.

I don't get how it's related either, but when I build arm64 defconfig without
your patches, it builds without errors. After applying your patches, it has
errors... I did it 2 times just to make sure.

It may just be some difference between x86_64 headers (is that what you
build?) and arm64 headers.

Install the x86_64-hosted arm64 compiler from
https://mirrors.edge.kernel.org/pub/tools/crosstool/ in
e.g. /opt/crosstool .


In the kernel source tree:
mkdir ARM64

make ARCH=arm64 O=ARM64 defconfig
make -j25 CROSS_COMPILE=/opt/crosstool/gcc-13.2.0-nolibc/aarch64-linux/bin/aarch64-linux- ARCH=arm64 O=ARM64 all 2>&1 | tee aa64defcon.lst

make ARCH=arm64 O=ARM64 clean
<apply your mseal patches>
make -j25 CROSS_COMPILE=/opt/crosstool/gcc-13.2.0-nolibc/aarch64-linux/bin/aarch64-linux- ARCH=arm64 O=ARM64 all 2>&1 | tee aa64mseal.lst


If that does not reproduce the problem, please let me know.

(I use a script, but that's the essence of the script.)



>>   CC      arch/arm64/kernel/asm-offsets.s
>> In file included from ../include/uapi/linux/mman.h:5,
>>                  from ../include/linux/mm.h:33,
>>                  from ../include/linux/memblock.h:12,
>>                  from ../arch/arm64/include/asm/acpi.h:14,
>>                  from ../include/acpi/acpi_io.h:7,
>>                  from ../include/linux/acpi.h:39,
>>                  from ../include/acpi/apei.h:9,
>>                  from ../include/acpi/ghes.h:5,
>>                  from ../include/linux/arm_sdei.h:8,
>>                  from ../arch/arm64/kernel/asm-offsets.c:10:
>> ../arch/arm64/include/asm/mman.h: In function 'arch_calc_vm_prot_bits':
>> ../arch/arm64/include/asm/mman.h:15:24: error: 'VM_ARM64_BTI' undeclared (first use in this function); did you mean 'ARM64_BTI'?
>>    15 |                 ret |= VM_ARM64_BTI;
>>       |                        ^~~~~~~~~~~~
>>       |                        ARM64_BTI
>> ../arch/arm64/include/asm/mman.h:15:24: note: each undeclared identifier is reported only once for each function it appears in
>> ../arch/arm64/include/asm/mman.h:18:24: error: 'VM_MTE' undeclared (first use in this function); did you mean 'VM_MAP'?
>>    18 |                 ret |= VM_MTE;
>>       |                        ^~~~~~
>>       |                        VM_MAP
>> ../arch/arm64/include/asm/mman.h: In function 'arch_calc_vm_flag_bits':
>> ../arch/arm64/include/asm/mman.h:32:24: error: 'VM_MTE_ALLOWED' undeclared (first use in this function)
>>    32 |                 return VM_MTE_ALLOWED;
>>       |                        ^~~~~~~~~~~~~~
>> ../arch/arm64/include/asm/mman.h: In function 'arch_validate_flags':
>> ../arch/arm64/include/asm/mman.h:59:29: error: 'VM_MTE' undeclared (first use in this function); did you mean 'VM_MAP'?
>>    59 |         return !(vm_flags & VM_MTE) || (vm_flags & VM_MTE_ALLOWED);
>>       |                             ^~~~~~
>>       |                             VM_MAP
>> ../arch/arm64/include/asm/mman.h:59:52: error: 'VM_MTE_ALLOWED' undeclared (first use in this function)
>>    59 |         return !(vm_flags & VM_MTE) || (vm_flags & VM_MTE_ALLOWED);
>>       |                                                    ^~~~~~~~~~~~~~
>>
>>
>> --
>> #Randy
> 

-- 
#Randy

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ