512030 s390x: bfp-convert testcase fails
512037 malloc trace does not print free size or alignment
512571 regtest problems with darwin dsymuti
+513257 Add missing syswraps for lsm_list_modules
To see details of a given bug, visit
https://bugs.kde.org/show_bug.cgi?id=XXXXXX
DECL_TEMPLATE(linux, sys_mseal);
DECL_TEMPLATE(linux, sys_lsm_get_self_attr);
DECL_TEMPLATE(linux, sys_lsm_set_self_attr);
+DECL_TEMPLATE(linux, sys_lsm_list_modules);
// Since Linux 6.17-rc1
DECL_TEMPLATE(linux, sys_file_getattr);
LINXY(__NR_listmount, sys_listmount), // 458
LINXY(__NR_lsm_get_self_attr, sys_lsm_get_self_attr), // 459
LINX_(__NR_lsm_set_self_attr, sys_lsm_set_self_attr), // 460
+ LINXY(__NR_lsm_list_modules, sys_lsm_list_modules), // 461
LINX_(__NR_mseal, sys_mseal), // 462
LINXY(__NR_file_getattr, sys_file_getattr), // 468
LINX_(__NR_file_setattr, sys_file_setattr), // 469
LINXY(__NR_listmount, sys_listmount), // 458
LINXY(__NR_lsm_get_self_attr, sys_lsm_get_self_attr), // 459
LINX_(__NR_lsm_set_self_attr, sys_lsm_set_self_attr), // 460
+ LINXY(__NR_lsm_list_modules, sys_lsm_list_modules), // 461
LINX_(__NR_mseal, sys_mseal), // 462
LINXY(__NR_file_getattr, sys_file_getattr), // 468
LINX_(__NR_file_setattr, sys_file_setattr), // 469
LINXY(__NR_listmount, sys_listmount), // 458
LINXY(__NR_lsm_get_self_attr, sys_lsm_get_self_attr), // 459
LINX_(__NR_lsm_set_self_attr, sys_lsm_set_self_attr), // 460
+ LINXY(__NR_lsm_list_modules, sys_lsm_list_modules), // 461
LINX_(__NR_mseal, sys_mseal), // 462
LINXY(__NR_file_getattr, sys_file_getattr), // 468
LINX_(__NR_file_setattr, sys_file_setattr), // 469
PRE_MEM_READ("lsm_get_self_attr(ctx)", ARG2, ARG3);
}
+PRE(sys_lsm_list_modules)
+{
+ // * sys_lsm_list_modules - Return a list of the active security modules
+ // * @ids: the LSM module ids
+ // * @size: pointer to size of @ids, updated on return
+ // * @flags: reserved for future use, must be zero
+ // SYSCALL_DEFINE3(lsm_list_modules, u64 __user *, ids, u32 __user *, size,
+ // u32, flags)
+ PRINT("sys_lsm_list_modules ( %#" FMT_REGWORD "x, %" FMT_REGWORD "u, %#" FMT_REGWORD "x)", ARG1, ARG2, ARG3);
+ PRE_REG_READ3(long, "lsm_list_modules", __vki_u64 *, ids, __vki_u32 *, size, __vki_u32, flags);
+ PRE_MEM_READ("lsm_list_modules(size)", ARG2, sizeof(__vki_u32));
+ if (ML_(safe_to_deref)((__vki_u32 *)ARG2,sizeof(__vki_u32)))
+ PRE_MEM_READ("lsm_list_modules(ids)", ARG1, *(__vki_u32 *)ARG2);
+}
+
+POST(sys_lsm_list_modules)
+{
+ // No need to POST_MEM_WRITE((Addr)ARG2, sizeof(__vki_u32));
+ // per https://bugs.kde.org/show_bug.cgi?id=513257#c4
+ POST_MEM_WRITE(ARG1, *(__vki_u32 *)ARG2);
+}
+
PRE(sys_syncfs)
{
*flags |= SfMayBlock;
LINXY(__NR_listmount, sys_listmount), // 458
LINXY(__NR_lsm_get_self_attr, sys_lsm_get_self_attr), // 459
LINX_(__NR_lsm_set_self_attr, sys_lsm_set_self_attr), // 460
+ LINXY(__NR_lsm_list_modules, sys_lsm_list_modules), // 461
LINX_(__NR_mseal, sys_mseal), // 462
LINXY(__NR_file_getattr, sys_file_getattr), // 468
LINX_(__NR_file_setattr, sys_file_setattr), // 469
LINXY (__NR_userfaultfd, sys_userfaultfd),
LINXY (__NR_statmount, sys_statmount),
LINXY (__NR_listmount, sys_listmount),
- LINXY(__NR_lsm_get_self_attr, sys_lsm_get_self_attr),
- LINX_(__NR_lsm_set_self_attr, sys_lsm_set_self_attr),
+ LINXY (__NR_lsm_get_self_attr, sys_lsm_get_self_attr),
+ LINX_ (__NR_lsm_set_self_attr, sys_lsm_set_self_attr),
+ LINXY (__NR_lsm_list_modules, sys_lsm_list_modules),
LINX_ (__NR_mseal, sys_mseal),
LINX_ (__NR_futex_waitv, sys_futex_waitv),
LINXY (__NR_quotactl_fd, sys_quotactl_fd),
LINX_ (__NR_fchmodat2, sys_fchmodat2),
LINXY (__NR_statmount, sys_statmount),
LINXY (__NR_listmount, sys_listmount),
- LINXY(__NR_lsm_get_self_attr, sys_lsm_get_self_attr),
- LINX_(__NR_lsm_set_self_attr, sys_lsm_set_self_attr),
+ LINXY (__NR_lsm_get_self_attr, sys_lsm_get_self_attr),
+ LINX_ (__NR_lsm_set_self_attr, sys_lsm_set_self_attr),
+ LINXY (__NR_lsm_list_modules, sys_lsm_list_modules),
LINX_ (__NR_mseal, sys_mseal),
LINX_ (__NR_futex_waitv, sys_futex_waitv),
LINXY (__NR_file_getattr, sys_file_getattr),
LINX_ (__NR_fchmodat2, sys_fchmodat2), // 452
LINXY (__NR_statmount, sys_statmount), // 457
LINXY (__NR_listmount, sys_listmount), // 458
- LINXY(__NR_lsm_get_self_attr, sys_lsm_get_self_attr), // 459
- LINX_(__NR_lsm_set_self_attr, sys_lsm_set_self_attr), // 460
+ LINXY (__NR_lsm_get_self_attr,sys_lsm_get_self_attr), // 459
+ LINX_ (__NR_lsm_set_self_attr,sys_lsm_set_self_attr), // 460
+ LINXY (__NR_lsm_list_modules, sys_lsm_list_modules), // 461
LINX_ (__NR_mseal, sys_mseal), // 462
LINXY (__NR_file_getattr, sys_file_getattr), // 468
LINX_ (__NR_file_setattr, sys_file_setattr), // 469
LINX_ (__NR_fchmodat2, sys_fchmodat2), // 452
LINXY (__NR_statmount, sys_statmount), // 457
LINXY (__NR_listmount, sys_listmount), // 458
- LINXY(__NR_lsm_get_self_attr, sys_lsm_get_self_attr), // 459
- LINX_(__NR_lsm_set_self_attr, sys_lsm_set_self_attr), // 460
+ LINXY (__NR_lsm_get_self_attr,sys_lsm_get_self_attr), // 459
+ LINX_ (__NR_lsm_set_self_attr,sys_lsm_set_self_attr), // 460
+ LINXY (__NR_lsm_list_modules, sys_lsm_list_modules), // 461
LINX_ (__NR_mseal, sys_mseal), // 462
LINXY (__NR_file_getattr, sys_file_getattr), // 468
LINX_ (__NR_file_setattr, sys_file_setattr), // 469
LINXY(__NR_listmount, sys_listmount), /* 458 */
LINXY(__NR_lsm_get_self_attr, sys_lsm_get_self_attr), /* 459 */
LINX_(__NR_lsm_set_self_attr, sys_lsm_set_self_attr), /* 460 */
+ LINXY(__NR_lsm_list_modules, sys_lsm_list_modules), /* 461 */
LINX_(__NR_mseal, sys_mseal), /* 462 */
LINXY(__NR_file_getattr, sys_file_getattr), /* 468 */
LINX_(__NR_file_setattr, sys_file_setattr), /* 469 */
LINX_ (__NR_fchmodat2, sys_fchmodat2), // 452
LINXY (__NR_statmount, sys_statmount), // 457
LINXY (__NR_listmount, sys_listmount), // 458
- LINXY(__NR_lsm_get_self_attr, sys_lsm_get_self_attr), // 459
- LINX_(__NR_lsm_set_self_attr, sys_lsm_set_self_attr), // 460
+ LINXY (__NR_lsm_get_self_attr, sys_lsm_get_self_attr), // 459
+ LINX_ (__NR_lsm_set_self_attr, sys_lsm_set_self_attr), // 460
+ LINXY (__NR_lsm_list_modules, sys_lsm_list_modules), // 461
LINX_ (__NR_mseal, sys_mseal), // 462
LINXY (__NR_file_getattr, sys_file_getattr), // 468
LINX_ (__NR_file_setattr, sys_file_setattr), // 469
LINXY(__NR_listmount, sys_listmount), // 458
LINXY(__NR_lsm_get_self_attr, sys_lsm_get_self_attr), // 459
LINX_(__NR_lsm_set_self_attr, sys_lsm_set_self_attr), // 460
+ LINXY(__NR_lsm_list_modules, sys_lsm_list_modules), // 461
LINX_(__NR_mseal, sys_mseal), // 462
LINXY(__NR_file_getattr, sys_file_getattr), // 468
LINX_(__NR_file_setattr, sys_file_setattr), // 469
#define __NR_listmount 458
#define __NR_lsm_get_self_attr 459
#define __NR_lsm_set_self_attr 460
+#define __NR_lsm_list_modules 461
#define __NR_mseal 462
#define __NR_file_getattr 468
#define __NR_file_setattr 469