cregit-Linux how code gets into the kernel

Release 4.14 arch/mips/include/asm/compat-signal.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __ASM_COMPAT_SIGNAL_H

#define __ASM_COMPAT_SIGNAL_H

#include <linux/bug.h>
#include <linux/compat.h>
#include <linux/compiler.h>

#include <asm/signal.h>
#include <asm/siginfo.h>

#include <linux/uaccess.h>


static inline int __copy_conv_sigset_to_user(compat_sigset_t __user *d, const sigset_t *s) { int err; BUG_ON(sizeof(*d) != sizeof(*s)); BUG_ON(_NSIG_WORDS != 2); err = __put_user(s->sig[0], &d->sig[0]); err |= __put_user(s->sig[0] >> 32, &d->sig[1]); err |= __put_user(s->sig[1], &d->sig[2]); err |= __put_user(s->sig[1] >> 32, &d->sig[3]); return err; }

Contributors

PersonTokensPropCommitsCommitProp
Ralf Bächle129100.00%1100.00%
Total129100.00%1100.00%


static inline int __copy_conv_sigset_from_user(sigset_t *d, const compat_sigset_t __user *s) { int err; union sigset_u { sigset_t s; compat_sigset_t c; } *u = (union sigset_u *) d; BUG_ON(sizeof(*d) != sizeof(*s)); BUG_ON(_NSIG_WORDS != 2); #ifdef CONFIG_CPU_BIG_ENDIAN err = __get_user(u->c.sig[1], &s->sig[0]); err |= __get_user(u->c.sig[0], &s->sig[1]); err |= __get_user(u->c.sig[3], &s->sig[2]); err |= __get_user(u->c.sig[2], &s->sig[3]); #endif #ifdef CONFIG_CPU_LITTLE_ENDIAN err = __get_user(u->c.sig[0], &s->sig[0]); err |= __get_user(u->c.sig[1], &s->sig[1]); err |= __get_user(u->c.sig[2], &s->sig[2]); err |= __get_user(u->c.sig[3], &s->sig[3]); #endif return err; }

Contributors

PersonTokensPropCommitsCommitProp
Ralf Bächle251100.00%1100.00%
Total251100.00%1100.00%

#endif /* __ASM_COMPAT_SIGNAL_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
Ralf Bächle40699.51%360.00%
Greg Kroah-Hartman10.25%120.00%
Linus Torvalds10.25%120.00%
Total408100.00%5100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.