freebsd-dev/module
Brian Behlendorf 7f89ae6ba0 Use local variable to read zp->z_mode
When accessing the zp->z_mode through the SA bulk interface we
expect that 64-bits are available to hold the result.  However,
on 32-bit platforms mode_t will only be 32-bits so we cannot
pass it to SA_ADD_BULK_ATTR().  Instead a local uint64_t variable
must be used and the result assigned to zp->z_mode.

This went unnoticed on 32-bit little endian platforms because
the bytes happen to end up in the correct 32-bits.  But on big
endian platforms like Sparc the zp->z_mode will always end up
set to zero.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ned Bass <bass6@llnl.gov>
Signed-off-by: marku89 <mar42@kola.li>
Issue #1700
2014-01-09 15:50:11 -08:00
..
avl Add module versioning 2013-12-06 09:34:41 -08:00
nvpair Register correct handlers for nvlist_{dup,pack,unpack} 2013-12-20 13:52:28 -08:00
unicode cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
zcommon Add full SELinux support 2013-12-19 10:37:31 -08:00
zfs Use local variable to read zp->z_mode 2014-01-09 15:50:11 -08:00
zpios cstyle: Resolve C style issues 2013-12-18 16:46:35 -08:00
.gitignore gitignore: anchor entries at their respective directory 2013-04-02 10:50:17 -07:00
Makefile.in Add KMODDIR to install target 2013-03-06 15:46:40 -08:00