Bug 40852

Summary: Проверка на биарч зависит от синтаксиса
Product: Sisyphus Reporter: manowar <manowar>
Component: auditAssignee: Egor Ignatov <egori>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: egori, iv, manowar, rider, sem
Version: unstable   
Hardware: ppc   
OS: Linux   

Description manowar@altlinux.org 2021-09-03 14:16:57 MSK
# auditctl -a  always,exit -S open,openat -F exit=-EPERM -k open-eperm
WARNING - 32/64 bit syscall mismatch, you should specify an arch

Допустим. Удаляем правила (auditctl -D) и повторяем в таком виде:

# auditctl -a  always,exit -S open -S openat -F exit=-EPERM -k open-eperm

На этот раз предупреждения нет, хотя в auditctl(8) сказано, что можно использовать как несколько -S, так и перечислять сисколы через запятую.
Comment 1 manowar@altlinux.org 2021-09-03 14:19:19 MSK
Теперь ещё момент: а почему он вообще ругается? В ausyscall(8) написано, что неоднозначная ситуация возникает тогда, когда номера сисколов для разных архитектур различны. Но тут мы имеем одинаковые номера:

# ausyscall ppc64le open
open               5
mq_open            262
openat             286
perf_counter_open  319
open_by_handle_at  346

# ausyscall ppc open
open               5
mq_open            262
openat             286
perf_counter_open  319
open_by_handle_at  346
Comment 2 Egor Ignatov 2021-09-07 15:04:50 MSK
(In reply to manowar@altlinux.org from comment #1)
> Теперь ещё момент: а почему он вообще ругается? В ausyscall(8) написано, что
> неоднозначная ситуация возникает тогда, когда номера сисколов для разных
> архитектур различны. Но тут мы имеем одинаковые номера:
Это баг, в первом случае на проверку передавалась вся строка вместе с запятыми, вместо раздельных сисколов.
Отправил патч в апстрим.
Протестировать фикс можно из таска 284678.
Comment 3 Repository Robot 2021-09-13 19:46:34 MSK
audit-3.0.5-alt2 -> sisyphus:

 Mon Sep 06 2021 Egor Ignatov <egori@altlinux> 3.0.5-alt2
 - Fix bi-arch check (closes: #40852)
 - Add armv8l support
 - ausyscall: Add support for 'b32' and 'b64' aliases