The functions aixacl_sys_acl_get_file and aixacl_sys_acl_get_fd are not declared in any header file. This results in: Compiling lib/sysacls.c "/tmp/samba-3.5.1/source3/lib/sysacls.c", line 396.39: 1506-068 (W) Operation between types "struct smb_acl_t*" and "int" is not allowed. "/tmp/samba-3.5.1/source3/lib/sysacls.c", line 401.37: 1506-068 (W) Operation between types "struct smb_acl_t*" and "int" is not allowed. CC=/usr/vac/bin/cc, gcc gives a similar warning. Since I'm compiling for 64-bit, the 64 bit long pointer struct smb_acl_t* gets truncated to a 32 bit int. This results in SIGSEGV, when the pointer later is used. As a quick test, I put these two lines into lib/sysacl.c: SMB_ACL_T aixacl_sys_acl_get_file(vfs_handle_struct*, const char*, SMB_ACL_TYPE_T); SMB_ACL_T aixacl_sys_acl_get_fd(vfs_handle_struct *, files_struct *); This fixes the bug. The complete patch is to create and include modules/vfs_aixacl.h as already existing for other OS's.
This bug was referenced in samba master: 396c17160c19c6df43123074bf62268c6ed0f9e4
Created attachment 17173 [details] backported patch for 4.15 and 4.16
Pushed to autobuild-v4-{16,15}-test.
This bug was referenced in samba v4-15-test: 0128222daf042591e1045387d56bbb62ff73a316
This bug was referenced in samba v4-16-test: e82833a107834cdfaef72e5a2c805a780ef2cba5
Closing out bug report. Thanks!
This bug was referenced in samba v4-16-stable (Release samba-4.16.0rc4): e82833a107834cdfaef72e5a2c805a780ef2cba5
This bug was referenced in samba v4-15-stable (Release samba-4.15.6): 0128222daf042591e1045387d56bbb62ff73a316