Commit 0444a3b7 authored by Aleksandar Markovic's avatar Aleksandar Markovic Committed by Leon Alrae
Browse files

linux-user: Add missing TARGET_EDQUOT error code for Mips



EDQUOT is defined for Mips platform in Linux kernel in such a way
that it has different value than on most other platforms. However,
correspondent TARGET_EDQUOT for Mips is missing in Qemu code. Moreover,
TARGET_EDQUOT is missing from the table for conversion of error codes
from host to target. This patch fixes these problems.

Without this patch, syscalls add_key(), keyctl(), link(), mkdir(), mknod(),
open(), rename(), request_key(), setxattr(), symlink(), and write() will not
be able to return the right error code in some scenarios on Mips platform.
(Some of these syscalls are not yet supported in Qemu, but once they are
supported, they will need correct EDQUOT handling.)

Signed-off-by: default avatarAleksandar Markovic <aleksandar.markovic@imgtec.com>
Reviewed-by: default avatarLaurent Vivier <laurent@vivier.eu>
Acked-by: default avatarRiku Voipio <riku.voipio@linaro.org>
Signed-off-by: default avatarLeon Alrae <leon.alrae@imgtec.com>
parent d7779acb
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -221,6 +221,8 @@ struct target_pt_regs {
#undef TARGET_ENOTRECOVERABLE
#define TARGET_ENOTRECOVERABLE 166     /* State not recoverable */

#undef TARGET_EDQUOT
#define TARGET_EDQUOT          1133    /* Quota exceeded */

#define UNAME_MACHINE "mips"
#define UNAME_MINIMUM_RELEASE "2.6.32"
+2 −0
Original line number Diff line number Diff line
@@ -218,6 +218,8 @@ struct target_pt_regs {
#undef TARGET_ENOTRECOVERABLE
#define TARGET_ENOTRECOVERABLE 166     /* State not recoverable */

#undef TARGET_EDQUOT
#define TARGET_EDQUOT          1133    /* Quota exceeded */

#define UNAME_MACHINE "mips64"
#define UNAME_MINIMUM_RELEASE "2.6.32"
+1 −0
Original line number Diff line number Diff line
@@ -757,6 +757,7 @@ static uint16_t host_to_target_errno_table[ERRNO_TABLE_SIZE] = {
    [ENAVAIL]		= TARGET_ENAVAIL,
    [EISNAM]		= TARGET_EISNAM,
    [EREMOTEIO]		= TARGET_EREMOTEIO,
    [EDQUOT]            = TARGET_EDQUOT,
    [ESHUTDOWN]		= TARGET_ESHUTDOWN,
    [ETOOMANYREFS]	= TARGET_ETOOMANYREFS,
    [ETIMEDOUT]		= TARGET_ETIMEDOUT,