Le 18/12/2015 22:40, Chen Gang a écrit : > > On 12/18/15 17:37, Laurent Vivier wrote: >> >> Le 18/12/2015 07:26, Chen Gang a écrit : >>> >>> For fcntl, it always needs to notice about it, just like do_fcntl() has >>> done, or it will cause issue (e.g. alpha host run i386 guest). >>> >>> Signed-off-by: Chen Gang <gang.chen.5...@gmail.com> >>> --- >>> linux-user/syscall.c | 18 ++++++++++++------ >>> 1 files changed, 12 insertions(+), 6 deletions(-) >>> >>> diff --git a/linux-user/syscall.c b/linux-user/syscall.c >>> index 0f8adeb..1a60e6f 100644 >>> --- a/linux-user/syscall.c >>> +++ b/linux-user/syscall.c >>> @@ -9007,7 +9007,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long >>> arg1, >>> if (((CPUARMState *)cpu_env)->eabi) { >>> if (!lock_user_struct(VERIFY_READ, target_efl, arg3, 1)) >>> goto efault; >>> - fl.l_type = tswap16(target_efl->l_type); >>> + fl.l_type = >>> target_to_host_bitmask(tswap16(target_fl->l_type), >>> + flock_tbl); >>> fl.l_whence = tswap16(target_efl->l_whence); >>> fl.l_start = tswap64(target_efl->l_start); >>> fl.l_len = tswap64(target_efl->l_len); >>> @@ -9018,7 +9019,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long >>> arg1, >>> { >>> if (!lock_user_struct(VERIFY_READ, target_fl, arg3, 1)) >>> goto efault; >>> - fl.l_type = tswap16(target_fl->l_type); >>> + fl.l_type = >>> target_to_host_bitmask(tswap16(target_fl->l_type), >>> + flock_tbl); >>> fl.l_whence = tswap16(target_fl->l_whence); >>> fl.l_start = tswap64(target_fl->l_start); >>> fl.l_len = tswap64(target_fl->l_len); >>> @@ -9031,7 +9033,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long >>> arg1, >>> if (((CPUARMState *)cpu_env)->eabi) { >>> if (!lock_user_struct(VERIFY_WRITE, target_efl, arg3, >>> 0)) >>> goto efault; >>> - target_efl->l_type = tswap16(fl.l_type); >>> + target_efl->l_type = host_to_target_bitmask( >>> + tswap16(fl.l_type), >>> flock_tbl); >>> target_efl->l_whence = tswap16(fl.l_whence); >>> target_efl->l_start = tswap64(fl.l_start); >>> target_efl->l_len = tswap64(fl.l_len); >>> @@ -9042,7 +9045,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long >>> arg1, >>> { >>> if (!lock_user_struct(VERIFY_WRITE, target_fl, arg3, >>> 0)) >>> goto efault; >>> - target_fl->l_type = tswap16(fl.l_type); >>> + target_fl->l_type = host_to_target_bitmask( >>> + tswap16(fl.l_type), >>> flock_tbl); >>> target_fl->l_whence = tswap16(fl.l_whence); >>> target_fl->l_start = tswap64(fl.l_start); >>> target_fl->l_len = tswap64(fl.l_len); >>> @@ -9058,7 +9062,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long >>> arg1, >>> if (((CPUARMState *)cpu_env)->eabi) { >>> if (!lock_user_struct(VERIFY_READ, target_efl, arg3, 1)) >>> goto efault; >>> - fl.l_type = tswap16(target_efl->l_type); >>> + fl.l_type = >>> target_to_host_bitmask(tswap16(target_fl->l_type), >>> + flock_tbl); >>> fl.l_whence = tswap16(target_efl->l_whence); >>> fl.l_start = tswap64(target_efl->l_start); >>> fl.l_len = tswap64(target_efl->l_len); >>> @@ -9069,7 +9074,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long >>> arg1, >>> { >>> if (!lock_user_struct(VERIFY_READ, target_fl, arg3, 1)) >>> goto efault; >>> - fl.l_type = tswap16(target_fl->l_type); >>> + fl.l_type = >>> target_to_host_bitmask(tswap16(target_fl->l_type), >>> + flock_tbl); >>> fl.l_whence = tswap16(target_fl->l_whence); >>> fl.l_start = tswap64(target_fl->l_start); >>> fl.l_len = tswap64(target_fl->l_len); >>> >> >> This patch looks good to me, except that script/checkpatch.pl complains >> about "DOS line ending" and "line over 80 characters". >> > > I did not get any script/checkpatch.pl complains, originally. > > Does my email client configuration is incorrect, then cause incorrect > mail format? I guess not. The related reason is below. > > - I copy your full reply mail contents to a new file (diff.patch).
If you copy, you loose the special characters. I do a "Save as". > > - Remove all '> ' in vi editor (1,% s/^> //g) (so get the original > patch contents). > > - ./script/checkpatch.pl diff.patch, it has no any complains. If I run "file" on the saved file, I have: $ file orig.eml orig.eml: SMTP mail, ASCII text, with CRLF line terminators I can convert it with "tr": $ tr "\r" "\n" < orig.eml > new.eml $ file new.eml new.eml: SMTP mail, ASCII text $ ./scripts/checkpatch.pl new.eml total: 0 errors, 0 warnings, 54 lines checked new.eml has no obvious style problems and is ready for submission. Laurent