diff options
author | Brian Behlendorf <[email protected]> | 2014-01-07 23:16:46 +0100 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2014-01-09 15:50:11 -0800 |
commit | 7f89ae6ba0f4e3c1b3e62272bbaa8228afdb020d (patch) | |
tree | e3b2d224673f2c3def9bb795a41b55f0fd0bc217 /module/nvpair/nvpair.c | |
parent | d7ec8d4fd9b704f6bc1220e6a79472ad9b3af0c8 (diff) |
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 <[email protected]>
Signed-off-by: Ned Bass <[email protected]>
Signed-off-by: marku89 <[email protected]>
Issue #1700
Diffstat (limited to 'module/nvpair/nvpair.c')
0 files changed, 0 insertions, 0 deletions