kernel: syscall_handler: get rid of stdarg
We can just implement this as a macro and not needlessly run afoul of MISRC-C rule 17.1 Fixes: #10012 Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
parent
9a7355dfad
commit
f5951cd88f
1 changed files with 8 additions and 18 deletions
|
@ -262,20 +262,6 @@ extern int z_user_string_copy(char *dst, char *src, size_t maxlen);
|
||||||
} \
|
} \
|
||||||
} while (false)
|
} while (false)
|
||||||
|
|
||||||
static inline __attribute__((warn_unused_result)) __printf_like(2, 3)
|
|
||||||
bool z_syscall_verify_msg(bool expr, const char *fmt, ...)
|
|
||||||
{
|
|
||||||
va_list ap;
|
|
||||||
|
|
||||||
if (expr) {
|
|
||||||
va_start(ap, fmt);
|
|
||||||
vprintk(fmt, ap);
|
|
||||||
va_end(ap);
|
|
||||||
}
|
|
||||||
|
|
||||||
return expr;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Runtime expression check for system call arguments
|
* @brief Runtime expression check for system call arguments
|
||||||
*
|
*
|
||||||
|
@ -287,11 +273,15 @@ bool z_syscall_verify_msg(bool expr, const char *fmt, ...)
|
||||||
* oops
|
* oops
|
||||||
* @param fmt Printf-style format string (followed by appropriate variadic
|
* @param fmt Printf-style format string (followed by appropriate variadic
|
||||||
* arguments) to print on verification failure
|
* arguments) to print on verification failure
|
||||||
* @return 0 on success, nonzero on failure
|
* @return False on success, True on failure
|
||||||
*/
|
*/
|
||||||
#define Z_SYSCALL_VERIFY_MSG(expr, fmt, ...) \
|
#define Z_SYSCALL_VERIFY_MSG(expr, fmt, ...) ({ \
|
||||||
z_syscall_verify_msg(!(expr), "syscall %s failed check: " fmt "\n", \
|
bool expr_copy = !(expr); \
|
||||||
__func__, ##__VA_ARGS__)
|
if (expr_copy) { \
|
||||||
|
printk("syscall %s failed check: " fmt "\n", \
|
||||||
|
__func__, ##__VA_ARGS__); \
|
||||||
|
} \
|
||||||
|
expr_copy; })
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Runtime expression check for system call arguments
|
* @brief Runtime expression check for system call arguments
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue