Commit f59b51fe authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-linus-37rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml

Pull UML changes from Richard Weinberger:
 "UML receives this time only cleanups.

  The most outstanding change is the 'include "foo.h"' do 'include
  <foo.h>' conversion done by Al Viro.

  It touches many files, that's why the diffstat is rather big."

* 'for-linus-37rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
  typo in UserModeLinux-HOWTO
  hppfs: fix the return value of get_inode()
  hostfs: drop vmtruncate
  um: get rid of pointless include "..." where include <...> will do
  um: move sysrq.h out of include/shared
  um/x86: merge 32 and 64 bit variants of ptrace.h
  um/x86: merge 32 and 64bit variants of checksum.h
parents aac2b1f5 062d5267
......@@ -3591,7 +3591,7 @@
Looking at the source shows that the fault happened during a call to
copy_to_user to copy the data into the kernel:
copy_from_user to copy the data into the kernel:
107 count -= chars;
......
......@@ -7,8 +7,8 @@
#include <linux/tty.h>
#include <linux/tty_flip.h>
#include "chan.h"
#include "os.h"
#include "irq_kern.h"
#include <os.h>
#include <irq_kern.h>
#ifdef CONFIG_NOCONFIG_CHAN
static void *not_configged_init(char *str, int device,
......
......@@ -11,8 +11,8 @@
#include <termios.h>
#include <sys/ioctl.h>
#include "chan_user.h"
#include "os.h"
#include "um_malloc.h"
#include <os.h>
#include <um_malloc.h>
void generic_close(int fd, void *unused)
{
......
......@@ -6,7 +6,7 @@
#ifndef __CHAN_USER_H__
#define __CHAN_USER_H__
#include "init.h"
#include <init.h>
struct chan_opts {
void (*const announce)(char *dev_name, int dev);
......
#ifndef __COW_SYS_H__
#define __COW_SYS_H__
#include "kern_util.h"
#include "os.h"
#include "um_malloc.h"
#include <kern_util.h>
#include <os.h>
#include <um_malloc.h>
static inline void *cow_malloc(int size)
{
......
......@@ -6,7 +6,7 @@
#ifndef __DAEMON_H__
#define __DAEMON_H__
#include "net_user.h"
#include <net_user.h>
#define SWITCH_VERSION 3
......
......@@ -6,9 +6,9 @@
* Licensed under the GPL.
*/
#include "linux/init.h"
#include <linux/init.h>
#include <linux/netdevice.h>
#include "net_kern.h"
#include <net_kern.h>
#include "daemon.h"
struct daemon_init {
......
......@@ -14,9 +14,9 @@
#include <sys/time.h>
#include <sys/un.h>
#include "daemon.h"
#include "net_user.h"
#include "os.h"
#include "um_malloc.h"
#include <net_user.h>
#include <os.h>
#include <um_malloc.h>
enum request_type { REQ_NEW_CONTROL };
......
......@@ -9,8 +9,8 @@
#include <errno.h>
#include <termios.h>
#include "chan_user.h"
#include "os.h"
#include "um_malloc.h"
#include <os.h>
#include <um_malloc.h>
struct fd_chan {
int fd;
......
......@@ -6,7 +6,7 @@
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
#include "os.h"
#include <os.h>
struct dog_data {
int stdin;
......
......@@ -3,15 +3,15 @@
* Licensed under the GPL
*/
#include "linux/fs.h"
#include "linux/module.h"
#include "linux/slab.h"
#include "linux/sound.h"
#include "linux/soundcard.h"
#include "linux/mutex.h"
#include "asm/uaccess.h"
#include "init.h"
#include "os.h"
#include <linux/fs.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/sound.h>
#include <linux/soundcard.h>
#include <linux/mutex.h>
#include <asm/uaccess.h>
#include <init.h>
#include <os.h>
struct hostaudio_state {
int fd;
......
......@@ -3,15 +3,15 @@
* Licensed under the GPL
*/
#include "linux/irqreturn.h"
#include "linux/kd.h"
#include "linux/sched.h"
#include "linux/slab.h"
#include <linux/irqreturn.h>
#include <linux/kd.h>
#include <linux/sched.h>
#include <linux/slab.h>
#include "chan.h"
#include "irq_kern.h"
#include "irq_user.h"
#include "kern_util.h"
#include "os.h"
#include <irq_kern.h>
#include <irq_user.h>
#include <kern_util.h>
#include <os.h>
#define LINE_BUFSIZE 4096
......
......@@ -6,12 +6,12 @@
#ifndef __LINE_H__
#define __LINE_H__
#include "linux/list.h"
#include "linux/workqueue.h"
#include "linux/tty.h"
#include "linux/interrupt.h"
#include "linux/spinlock.h"
#include "linux/mutex.h"
#include <linux/list.h>
#include <linux/workqueue.h>
#include <linux/tty.h>
#include <linux/interrupt.h>
#include <linux/spinlock.h>
#include <linux/mutex.h>
#include "chan_user.h"
#include "mconsole_kern.h"
......
......@@ -12,7 +12,7 @@
#define u32 uint32_t
#endif
#include "sysdep/ptrace.h"
#include <sysdep/ptrace.h>
#define MCONSOLE_MAGIC (0xcafebabe)
#define MCONSOLE_MAX_DATA (512)
......
......@@ -27,13 +27,13 @@
#include <asm/uaccess.h>
#include <asm/switch_to.h>
#include "init.h"
#include "irq_kern.h"
#include "irq_user.h"
#include "kern_util.h"
#include <init.h>
#include <irq_kern.h>
#include <irq_user.h>
#include <kern_util.h>
#include "mconsole.h"
#include "mconsole_kern.h"
#include "os.h"
#include <os.h>
static int do_unlink_socket(struct notifier_block *notifier,
unsigned long what, void *data)
......
......@@ -6,7 +6,7 @@
#ifndef __MCONSOLE_KERN_H__
#define __MCONSOLE_KERN_H__
#include "linux/list.h"
#include <linux/list.h>
#include "mconsole.h"
struct mconsole_entry {
......
......@@ -18,7 +18,7 @@
#include <linux/mm.h>
#include <asm/uaccess.h>
#include "mem_user.h"
#include <mem_user.h>
/* These are set in mmapper_init, which is called at boot time */
static unsigned long mmapper_size;
......
......@@ -18,12 +18,12 @@
#include <linux/skbuff.h>
#include <linux/slab.h>
#include <linux/spinlock.h>
#include "init.h"
#include "irq_kern.h"
#include "irq_user.h"
#include <init.h>
#include <irq_kern.h>
#include <irq_user.h>
#include "mconsole_kern.h"
#include "net_kern.h"
#include "net_user.h"
#include <net_kern.h>
#include <net_user.h>
#define DRIVER_NAME "uml-netdev"
......
......@@ -11,9 +11,9 @@
#include <string.h>
#include <sys/socket.h>
#include <sys/wait.h>
#include "net_user.h"
#include "os.h"
#include "um_malloc.h"
#include <net_user.h>
#include <os.h>
#include <um_malloc.h>
int tap_open_common(void *dev, char *gate_addr)
{
......
......@@ -7,7 +7,7 @@
#include <errno.h>
#include <fcntl.h>
#include "chan_user.h"
#include "os.h"
#include <os.h>
/* This address is used only as a unique identifier */
static int null_chan;
......
......@@ -3,9 +3,9 @@
* Licensed under the GPL.
*/
#include "linux/init.h"
#include <linux/init.h>
#include <linux/netdevice.h>
#include "net_kern.h"
#include <net_kern.h>
#include "pcap_user.h"
struct pcap_init {
......
......@@ -7,9 +7,9 @@
#include <pcap.h>
#include <string.h>
#include <asm/types.h>
#include "net_user.h"
#include <net_user.h>
#include "pcap_user.h"
#include "um_malloc.h"
#include <um_malloc.h>
#define PCAP_FD(p) (*(int *)(p))
......
......@@ -3,7 +3,7 @@
* Licensed under the GPL
*/
#include "net_user.h"
#include <net_user.h>
struct pcap_data {
char *host_if;
......
......@@ -3,16 +3,16 @@
* Licensed under the GPL
*/
#include "linux/completion.h"
#include "linux/interrupt.h"
#include "linux/list.h"
#include "linux/mutex.h"
#include "linux/slab.h"
#include "linux/workqueue.h"
#include "asm/atomic.h"
#include "init.h"
#include "irq_kern.h"
#include "os.h"
#include <linux/completion.h>
#include <linux/interrupt.h>
#include <linux/list.h>
#include <linux/mutex.h>
#include <linux/slab.h>
#include <linux/workqueue.h>
#include <asm/atomic.h>
#include <init.h>
#include <irq_kern.h>
#include <os.h>
#include "port.h"
struct port_list {
......
......@@ -10,9 +10,9 @@
#include <unistd.h>
#include <netinet/in.h>
#include "chan_user.h"
#include "os.h"
#include <os.h>
#include "port.h"
#include "um_malloc.h"
#include <um_malloc.h>
struct port_chan {
int raw;
......
......@@ -12,8 +12,8 @@
#include <termios.h>
#include <sys/stat.h>
#include "chan_user.h"
#include "os.h"
#include "um_malloc.h"
#include <os.h>
#include <um_malloc.h>
struct pty_chan {
void (*announce)(char *dev_name, int dev);
......
......@@ -13,8 +13,8 @@
#include <linux/miscdevice.h>
#include <linux/delay.h>
#include <asm/uaccess.h>
#include "irq_kern.h"
#include "os.h"
#include <irq_kern.h>
#include <os.h>
/*
* core module and version information
......
#include <string.h>
#include "slip_common.h"
#include "net_user.h"
#include <net_user.h>
int slip_proto_read(int fd, void *buf, int len, struct slip_proto *slip)
{
......
......@@ -6,7 +6,7 @@
#include <linux/if_arp.h>
#include <linux/init.h>
#include <linux/netdevice.h>
#include "net_kern.h"
#include <net_kern.h>
#include "slip.h"
struct slip_init {
......
......@@ -11,10 +11,10 @@
#include <string.h>
#include <sys/termios.h>
#include <sys/wait.h>
#include "net_user.h"
#include "os.h"
#include <net_user.h>
#include <os.h>
#include "slip.h"
#include "um_malloc.h"
#include <um_malloc.h>
static int slip_user_init(void *data, void *dev)
{
......
......@@ -4,11 +4,11 @@
*/
#include <linux/if_arp.h>
#include "linux/init.h"
#include <linux/init.h>
#include <linux/netdevice.h>
#include <linux/string.h>
#include "net_kern.h"
#include "net_user.h"
#include <net_kern.h>
#include <net_user.h>
#include "slirp.h"
struct slirp_init {
......
......@@ -7,8 +7,8 @@
#include <errno.h>
#include <string.h>
#include <sys/wait.h>
#include "net_user.h"
#include "os.h"
#include <net_user.h>
#include <os.h>
#include "slirp.h"
static int slirp_user_init(void *data, void *dev)
......
......@@ -3,19 +3,19 @@
* Licensed under the GPL
*/
#include "linux/fs.h"
#include "linux/tty.h"
#include "linux/tty_driver.h"
#include "linux/major.h"
#include "linux/mm.h"
#include "linux/init.h"
#include "linux/console.h"
#include "asm/termbits.h"
#include "asm/irq.h"
#include <linux/fs.h>
#include <linux/tty.h>
#include <linux/tty_driver.h>
#include <linux/major.h>
#include <linux/mm.h>
#include <linux/init.h>
#include <linux/console.h>
#include <asm/termbits.h>
#include <asm/irq.h>
#include "ssl.h"
#include "chan.h"
#include "init.h"
#include "irq_user.h"
#include <init.h>
#include <irq_user.h>
#include "mconsole_kern.h"
static const int ssl_version = 1;
......
......@@ -3,27 +3,27 @@
* Licensed under the GPL
*/
#include "linux/posix_types.h"
#include "linux/tty.h"
#include "linux/tty_flip.h"
#include "linux/types.h"
#include "linux/major.h"
#include "linux/kdev_t.h"
#include "linux/console.h"
#include "linux/string.h"
#include "linux/sched.h"
#include "linux/list.h"
#include "linux/init.h"
#include "linux/interrupt.h"
#include "linux/slab.h"
#include "linux/hardirq.h"
#include "asm/current.h"
#include "asm/irq.h"
#include <linux/posix_types.h>
#include <linux/tty.h>
#include <linux/tty_flip.h>
#include <linux/types.h>
#include <linux/major.h>
#include <linux/kdev_t.h>
#include <linux/console.h>
#include <linux/string.h>
#include <linux/sched.h>
#include <linux/list.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/slab.h>
#include <linux/hardirq.h>
#include <asm/current.h>
#include <asm/irq.h>
#include "stdio_console.h"
#include "chan.h"
#include "irq_user.h"
#include <irq_user.h>
#include "mconsole_kern.h"
#include "init.h"
#include <init.h>
#define MAX_TTYS (16)
......
......@@ -7,8 +7,8 @@
#include <fcntl.h>
#include <termios.h>
#include "chan_user.h"
#include "os.h"
#include "um_malloc.h"
#include <os.h>
#include <um_malloc.h>
struct tty_chan {
char *dev;
......
......@@ -33,12 +33,12 @@
#include <linux/platform_device.h>
#include <linux/scatterlist.h>
#include <asm/tlbflush.h>
#include "kern_util.h"
#include <kern_util.h>
#include "mconsole_kern.h"
#include "init.h"
#include "irq_kern.h"
#include <init.h>
#include <irq_kern.h>
#include "ubd.h"
#include "os.h"
#include <os.h>
#include "cow.h"
enum ubd_req { UBD_READ, UBD_WRITE };
......
......@@ -19,7 +19,7 @@
#include <byteswap.h>
#include "ubd.h"
#include "os.h"
#include <os.h>
void ignore_sigwinch_sig(void)
{
......
......@@ -6,7 +6,7 @@
#ifndef __DRIVERS_UMCAST_H
#define __DRIVERS_UMCAST_H
#include "net_user.h"
#include <net_user.h>
struct umcast_data {
char *addr;
......
......@@ -11,10 +11,10 @@
* Licensed under the GPL.
*/
#include "linux/init.h"
#include <linux/init.h>
#include <linux/netdevice.h>
#include "umcast.h"
#include "net_kern.h"
#include <net_kern.h>
struct umcast_init {
char *addr;
......
......@@ -16,8 +16,8 @@
#include <errno.h>
#include <netinet/in.h>
#include "umcast.h"
#include "net_user.h"
#include "um_malloc.h"
#include <net_user.h>
#include <um_malloc.h>
static struct sockaddr_in *new_addr(char *addr, unsigned short port)
{
......
......@@ -7,10 +7,10 @@
*
*/
#include "linux/init.h"
#include <linux/init.h>
#include <linux/netdevice.h>
#include "net_kern.h"
#include "net_user.h"
#include <net_kern.h>
#include <net_user.h>
#include "vde.h"
static void vde_init(struct net_device *dev, void *data)
......
......@@ -6,8 +6,8 @@
#include <stddef.h>
#include <errno.h>
#include <libvdeplug.h>
#include "net_user.h"
#include "um_malloc.h"
#include <net_user.h>
#include <um_malloc.h>
#include "vde.h"
static int vde_user_init(void *data, void *dev)
......
......@@ -11,8 +11,8 @@
#include <string.h>
#include <termios.h>
#include "chan_user.h"
#include "os.h"
#include "um_malloc.h"
#include <os.h>
#include <um_malloc.h>
#include "xterm.h"
struct xterm_chan {
......
......@@ -7,8 +7,8 @@
#include <linux/completion.h>
#include <linux/irqreturn.h>
#include <asm/irq.h>
#include "irq_kern.h"
#include "os.h"
#include <irq_kern.h>
#include <os.h>
struct xterm_wait {
struct completion ready;
......
#ifndef __UM_DMA_H
#define __UM_DMA_H
#include "asm/io.h"
#include <asm/io.h>
extern unsigned long uml_physmem;
......
......@@ -6,7 +6,7 @@
#ifndef __ARCH_UM_MMU_H
#define __ARCH_UM_MMU_H
#include "mm_id.h"
#include <mm_id.h>
#include <asm/mm_context.h>
typedef struct mm_context {
......
......@@ -99,7 +99,7 @@ extern unsigned long uml_physmem;
#define __va_space (8*1024*1024)
#include "mem.h"
#include <mem.h>
/* Cast to unsigned long before casting to void * to avoid a warning from
* mmap_kmem about cutting a long long down to a void *. Not sure that
......
......@@ -23,9 +23,9 @@
pte_present gives true */
#ifdef CONFIG_3_LEVEL_PGTABLES
#include "asm/pgtable-3level.h"
#include <asm/pgtable-3level.h>
#else
#include "asm/pgtable-2level.h"
#include <asm/pgtable-2level.h>
#endif
extern pgd_t swapper_pg_dir[PTRS_PER_PGD];
......
......@@ -10,9 +10,9 @@ struct pt_regs;
struct task_struct;
#include "asm/ptrace.h"
#include "registers.h"
#include "sysdep/archsetjmp.h"
#include <asm/ptrace.h>
#include <registers.h>
#include <sysdep/archsetjmp.h>
#include <linux/prefetch.h>
......
......@@ -9,7 +9,7 @@
#ifndef __ASSEMBLY__
#include <asm/ptrace-abi.h>
#include "sysdep/ptrace.h"
#include <sysdep/ptrace.h>
struct pt_regs {
struct uml_pt_regs regs;
......
......@@ -3,9 +3,9 @@
#ifdef CONFIG_SMP
#include "linux/bitops.h"
#include "asm/current.h"
#include "linux/cpumask.h"
#include <linux/bitops.h>
#include <asm/current.h>
#include <linux/cpumask.h>
#define raw_smp_processor_id() (current_thread->cpu)
......
......@@ -6,7 +6,7 @@
#ifndef __ARCH_H__
#define __ARCH_H__
#include "sysdep/ptrace.h"
#include <sysdep/ptrace.h>
extern void arch_check_bugs(void);
extern int arch_fixup(unsigned long address, struct uml_pt_regs *regs);
......
......@@ -35,7 +35,7 @@
#ifndef __ASSEMBLY__
#include "sysdep/ptrace.h"
#include <sysdep/ptrace.h>
struct cpu_task {
int pid;
......
......@@ -6,8 +6,8 @@
#ifndef __IRQ_KERN_H__
#define __IRQ_KERN_H__
#include "linux/interrupt.h"
#include "asm/ptrace.h"
#include <linux/interrupt.h>
#include <asm/ptrace.h>
extern int um_request_irq(unsigned int irq, int fd, int type,
irq_handler_t handler,
......
......@@ -6,7 +6,7 @@
#ifndef __IRQ_USER_H__
#define __IRQ_USER_H__
#include "sysdep/ptrace.h"
#include <sysdep/ptrace.h>
struct irq_fd {
struct irq_fd *next;
......
......@@ -6,8 +6,8 @@
#ifndef __KERN_UTIL_H__
#define __KERN_UTIL_H__
#include "sysdep/ptrace.h"
#include "sysdep/faultinfo.h"
#include <sysdep/ptrace.h>
#include <sysdep/faultinfo.h>
struct siginfo;
......
#ifndef __UML_LONGJMP_H
#define __UML_LONGJMP_H
#include "sysdep/archsetjmp.h"
#include "os.h"
#include <sysdep/archsetjmp.h>
#include <os.h>
extern int setjmp(jmp_buf);
extern void longjmp(jmp_buf, int);
......
......@@ -7,9 +7,9 @@
#define __OS_H__
#include <stdarg.h>
#include "irq_user.h"
#include "longjmp.h"
#include "mm_id.h"
#include <irq_user.h>
#include <longjmp.h>
#include <mm_id.h>
#define CATCH_EINTR(expr) while ((errno = 0, ((expr) < 0)) && (errno == EINTR))
......
......@@ -6,8 +6,8 @@
#ifndef __REGISTERS_H
#define __REGISTERS_H
#include "sysdep/ptrace.h"
#include "sysdep/archsetjmp.h"
#include <sysdep/ptrace.h>
#include <sysdep/archsetjmp.h>
extern int save_fp_registers(int pid, unsigned long *fp_regs);
extern int restore_fp_registers(int pid, unsigned long *fp_regs);
......
......@@ -6,7 +6,7 @@
#ifndef __SKAS_H
#define __SKAS_H
#include "sysdep/ptrace.h"
#include <sysdep/ptrace.h>
extern int userspace_pid[];
extern int proc_mm, ptrace_faultinfo, ptrace_ldt;
......
......@@ -9,6 +9,6 @@
#define PTRACE_FAULTINFO 52
#define PTRACE_SWITCH_MM 55
#include "sysdep/skas_ptrace.h"
#include <sysdep/skas_ptrace.h>
#endif
#include "sysdep/kernel-offsets.h"
#include <sysdep/kernel-offsets.h>
......@@ -5,7 +5,7 @@
#include <stdio.h>
#include <stdlib.h>
#include "init.h"
#include <init.h>
static __initdata const char *config[] = {
"CONFIG"
......
......@@ -89,7 +89,7 @@ SECTIONS
.kstrtab : { *(.kstrtab) }
#include "asm/common.lds.S"
#include <asm/common.lds.S>
init.data : { INIT_DATA }
......
......@@ -9,7 +9,7 @@
#include <linux/kernel.h>
#include <linux/console.h>
#include <linux/init.h>
#include "os.h"
#include <os.h>
static void early_console_write(struct console *con, const char *s, unsigned int n)
{
......
......@@ -12,10 +12,10 @@
#include <asm/current.h>
#include <asm/processor.h>
#include <asm/uaccess.h>
#include "as-layout.h"
#include "mem_user.h"
#include "skas.h"
#include "os.h"
#include <as-layout.h>
#include <mem_user.h>
#include <skas.h>
#include <os.h>
#include "internal.h"
void flush_thread(void)
......
......@@ -3,7 +3,7 @@
* Licensed under the GPL
*/
#include "linux/module.h"
#include <linux/module.h>
extern void __bb_init_func(void *) __attribute__((weak));
EXPORT_SYMBOL(__bb_init_func);
......@@ -3,7 +3,7 @@
* Licensed under the GPL
*/
#include "linux/module.h"
#include <linux/module.h>
extern void mcount(void);
EXPORT_SYMBOL(mcount);
......@@ -3,12 +3,12 @@
* Licensed under the GPL
*/
#include "linux/init.h"
#include "linux/bootmem.h"
#include "linux/initrd.h"
#include "asm/types.h"
#include "init.h"
#include "os.h"
#include <linux/init.h>
#include <linux/bootmem.h>
#include <linux/initrd.h>
#include <asm/types.h>
#include <init.h>
#include <os.h>
/* Changed by uml_initrd_setup, which is a setup */
static char *initrd __initdata = NULL;
......
......@@ -5,17 +5,17 @@
* Copyright (C) 1992, 1998 Linus Torvalds, Ingo Molnar
*/
#include "linux/cpumask.h"
#include "linux/hardirq.h"
#include "linux/interrupt.h"
#include "linux/kernel_stat.h"
#include "linux/module.h"
#include "linux/sched.h"
#include "linux/seq_file.h"
#include "linux/slab.h"
#include "as-layout.h"
#include "kern_util.h"
#include "os.h"
#include <linux/cpumask.h>
#include <linux/hardirq.h>
#include <linux/interrupt.h>
#include <linux/kernel_stat.h>
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/seq_file.h>
#include <linux/slab.h>
#include <as-layout.h>
#include <kern_util.h>
#include <os.h>
/*
* This list is accessed under irq_lock, except in sigio_handler,
......
......@@ -4,7 +4,7 @@
*/
#include <linux/module.h>
#include "os.h"
#include <os.h>
EXPORT_SYMBOL(set_signals);
EXPORT_SYMBOL(get_signals);
......
......@@ -12,12 +12,12 @@
#include <linux/slab.h>
#include <asm/fixmap.h>
#include <asm/page.h>
#include "as-layout.h"
#include "init.h"
#include "kern.h"
#include "kern_util.h"
#include "mem_user.h"
#include "os.h"
#include <as-layout.h>
#include <init.h>
#include <kern.h>
#include <kern_util.h>
#include <mem_user.h>
#include <os.h>
/* allocated in paging_init, zeroed in mem_init, and unchanged thereafter */
unsigned long *empty_zero_page = NULL;
......
......@@ -23,10 +23,10 @@
#include <asm/pgtable.h>
#include <asm/mmu_context.h>
#include <asm/uaccess.h>
#include "as-layout.h"
#include "kern_util.h"
#include "os.h"
#include "skas.h"
#include <as-layout.h>
#include <kern_util.h>
#include <os.h>
#include <skas.h>
/*
* This is a per-cpu array. A processor only modifies its entry and it only
......
......@@ -3,13 +3,13 @@
* Licensed under the GPL
*/
#include "linux/sched.h"
#include "linux/spinlock.h"
#include "linux/slab.h"
#include "linux/oom.h"
#include "kern_util.h"
#include "os.h"
#include "skas.h"
#include <linux/sched.h>
#include <linux/spinlock.h>
#include <linux/slab.h>
#include <linux/oom.h>
#include <kern_util.h>
#include <os.h>
#include <skas.h>
void (*pm_power_off)(void);
......
......@@ -4,9 +4,9 @@
*/
#include <linux/interrupt.h>
#include "irq_kern.h"
#include "os.h"
#include "sigio.h"
#include <irq_kern.h>
#include <os.h>
#include <sigio.h>
/* Protected by sigio_lock() called from write_sigio_workaround */
static int sigio_irq_fd = -1;
......
......@@ -9,8 +9,8 @@
#include <asm/siginfo.h>
#include <asm/signal.h>
#include <asm/unistd.h>
#include "frame_kern.h"
#include "kern_util.h"
#include <frame_kern.h>
#include <kern_util.h>
EXPORT_SYMBOL(block_signals);
EXPORT_SYMBOL(unblock_signals);
......
......@@ -7,10 +7,10 @@
#include <sched.h>
#include <asm/unistd.h>
#include <sys/time.h>
#include "as-layout.h"
#include "ptrace_user.h"
#include "stub-data.h"
#include "sysdep/stub.h"
#include <as-layout.h>
#include <ptrace_user.h>
#include <stub-data.h>
#include <sysdep/stub.h>
/*
* This is in a separate file because it needs to be compiled with any
......
......@@ -3,14 +3,14 @@
* Licensed under the GPL
*/
#include "linux/mm.h"
#include "linux/sched.h"
#include "linux/slab.h"
#include "asm/pgalloc.h"
#include "asm/pgtable.h"
#include "as-layout.h"
#include "os.h"
#include "skas.h"
#include <linux/mm.h>
#include <linux/sched.h>
#include <linux/slab.h>
#include <asm/pgalloc.h>
#include <asm/pgtable.h>
#include <as-layout.h>
#include <os.h>
#include <skas.h>
extern int __syscall_stub_start;
......
......@@ -3,12 +3,12 @@
* Licensed under the GPL
*/
#include "linux/init.h"
#include "linux/sched.h"
#include "as-layout.h"
#include "kern.h"
#include "os.h"
#include "skas.h"
#include <linux/init.h>
#include <linux/sched.h>
#include <as-layout.h>
#include <kern.h>
#include <os.h>
#include <skas.h>
int new_mm(unsigned long stack)
{
......
......@@ -3,11 +3,11 @@
* Licensed under the GPL
*/
#include "linux/kernel.h"
#include "linux/ptrace.h"
#include "kern_util.h"
#include "sysdep/ptrace.h"
#include "sysdep/syscalls.h"
#include <linux/kernel.h>
#include <linux/ptrace.h>
#include <kern_util.h>
#include <sysdep/ptrace.h>
#include <sysdep/syscalls.h>
extern int syscall_table_size;
#define NR_SYSCALLS (syscall_table_size / sizeof(void *))
......
......@@ -11,8 +11,8 @@
#include <asm/current.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#include "kern_util.h"
#include "os.h"
#include <kern_util.h>
#include <os.h>
pte_t *virt_to_pte(struct mm_struct *mm, unsigned long addr)
{
......
......@@ -3,24 +3,24 @@
* Licensed under the GPL
*/
#include "linux/percpu.h"
#include "asm/pgalloc.h"
#include "asm/tlb.h"
#include <linux/percpu.h>
#include <asm/pgalloc.h>
#include <asm/tlb.h>
#ifdef CONFIG_SMP
#include "linux/sched.h"
#include "linux/module.h"
#include "linux/threads.h"
#include "linux/interrupt.h"
#include "linux/err.h"
#include "linux/hardirq.h"
#include "asm/smp.h"
#include "asm/processor.h"
#include "asm/spinlock.h"
#include "kern.h"
#include "irq_user.h"
#include "os.h"
#include <linux/sched.h>
#include <linux/module.h>
#include <linux/threads.h>
#include <linux/interrupt.h>
#include <linux/err.h>
#include <linux/hardirq.h>
#include <asm/smp.h>
#include <asm/processor.h>
#include <asm/spinlock.h>
#include <kern.h>
#include <irq_user.h>
#include <os.h>
/* Per CPU bogomips and other parameters
* The only piece used here is the ipi pipe, which is set before SMP is
......
......@@ -3,16 +3,16 @@
* Licensed under the GPL
*/
#include "linux/file.h"
#include "linux/fs.h"
#include "linux/mm.h"
#include "linux/sched.h"
#include "linux/utsname.h"
#include "linux/syscalls.h"
#include "asm/current.h"
#include "asm/mman.h"
#include "asm/uaccess.h"
#include "asm/unistd.h"
#include <linux/file.h>
#include <linux/fs.h>
#include <linux/mm.h>
#include <linux/sched.h>
#include <linux/utsname.h>
#include <linux/syscalls.h>
#include <asm/current.h>
#include <asm/mman.h>
#include <asm/uaccess.h>
#include <asm/unistd.h>
#include "internal.h"
long sys_fork(void)
......
......@@ -7,7 +7,7 @@
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/sched.h>
#include "sysrq.h"
#include <asm/sysrq.h>
/* Catch non-i386 SUBARCH's. */
#if !defined(CONFIG_UML_X86) || defined(CONFIG_64BIT)
......
......@@ -10,8 +10,8 @@
#include <linux/threads.h>
#include <asm/irq.h>
#include <asm/param.h>
#include "kern_util.h"
#include "os.h"
#include <kern_util.h>
#include <os.h>
void timer_handler(int sig, struct siginfo *unused_si, struct uml_pt_regs *regs)
{
......
......@@ -8,10 +8,10 @@
#include <linux/sched.h>
#include <asm/pgtable.h>
#include <asm/tlbflush.h>
#include "as-layout.h"
#include "mem_user.h"
#include "os.h"
#include "skas.h"
#include <as-layout.h>
#include <mem_user.h>
#include <os.h>
#include <skas.h>
struct host_vm_change {
struct host_vm_op {
......
......@@ -10,11 +10,11 @@
#include <asm/current.h>
#include <asm/pgtable.h>
#include <asm/tlbflush.h>
#include "arch.h"
#include "as-layout.h"
#include "kern_util.h"
#include "os.h"
#include "skas.h"
#include <arch.h>
#include <as-layout.h>
#include <kern_util.h>
#include <os.h>
#include <skas.h>
/*
* Note this is constrained to return 0, -EFAULT, -EACCESS, -ENOMEM by
......
......@@ -14,13 +14,13 @@
#include <asm/pgtable.h>
#include <asm/processor.h>
#include <asm/setup.h>
#include "as-layout.h"
#include "arch.h"
#include "init.h"
#include "kern.h"
#include "kern_util.h"
#include "mem_user.h"
#include "os.h"
#include <as-layout.h>
#include <arch.h>
#include <init.h>
#include <kern.h>
#include <kern_util.h>
#include <mem_user.h>
#include <os.h>
#define DEFAULT_COMMAND_LINE "root=98:0"
......
......@@ -4,9 +4,9 @@
*/
#include <asm/errno.h>
#include "init.h"
#include "kern.h"
#include "os.h"
#include <init.h>
#include <kern.h>
#include <os.h>
/* Changed by set_umid_arg */
static int umid_inited = 0;
......
......@@ -60,7 +60,7 @@ SECTIONS
PROVIDE_HIDDEN(__rela_iplt_end = .);
}
#include "asm/common.lds.S"
#include <asm/common.lds.S>
init.data : { INIT_DATA }
.data :
......
......@@ -9,10 +9,10 @@
#include <errno.h>
#include <sys/time.h>
#include <asm/unistd.h>
#include "aio.h"
#include "init.h"
#include "kern_util.h"
#include "os.h"
#include <aio.h>
#include <init.h>
#include <kern_util.h>
#include <os.h>
struct aio_thread_req {
enum aio_type type;
......
......@@ -6,7 +6,7 @@
#ifndef __DRIVERS_ETAP_H
#define __DRIVERS_ETAP_H
#include "net_user.h"
#include <net_user.h>
struct ethertap_data {
char *dev_name;
......
......@@ -9,7 +9,7 @@
#include <linux/init.h>
#include <linux/netdevice.h>
#include "etap.h"
#include "net_kern.h"
#include <net_kern.h>
struct ethertap_init {
char *dev_name;
......
......@@ -13,9 +13,9 @@
#include <sys/socket.h>
#include <sys/wait.h>
#include "etap.h"
#include "os.h"
#include "net_user.h"
#include "um_malloc.h"
#include <os.h>
#include <net_user.h>
#include <um_malloc.h>
#define MAX_PACKET ETH_MAX_PACKET
......
......@@ -6,7 +6,7 @@
#ifndef __UM_TUNTAP_H
#define __UM_TUNTAP_H
#include "net_user.h"
#include <net_user.h>
struct tuntap_data {
char *dev_name;
......
......@@ -7,7 +7,7 @@
#include <linux/init.h>
#include <linux/skbuff.h>
#include <asm/errno.h>
#include "net_kern.h"
#include <net_kern.h>
#include "tuntap.h"
struct tuntap_init {
......
......@@ -13,8 +13,8 @@
#include <sys/socket.h>
#include <sys/wait.h>
#include <sys/uio.h>
#include "kern_util.h"
#include "os.h"
#include <kern_util.h>
#include <os.h>
#include "tuntap.h"
static int tuntap_user_init(void *data, void *dev)
......
......@@ -9,9 +9,9 @@
*/
#include <elf.h>
#include <stddef.h>
#include "init.h"
#include "elf_user.h"
#include "mem_user.h"
#include <init.h>
#include <elf_user.h>
#include <mem_user.h>
typedef Elf32_auxv_t elf_auxv_t;
......
......@@ -27,12 +27,12 @@
#include <limits.h>
#ifndef TEST
#include "um_malloc.h"
#include <um_malloc.h>
#else
#include <stdio.h>
#define um_kmalloc malloc
#endif
#include "os.h"
#include <os.h>
/* Execute FILE, searching in the `PATH' environment variable if it contains
no slashes, with arguments ARGV and environment from `environ'. */
......
......@@ -13,7 +13,7 @@
#include <sys/socket.h>
#include <sys/stat.h>
#include <sys/un.h>
#include "os.h"
#include <os.h>
static void copy_stat(struct uml_stat *dst, const struct stat64 *src)
{
......
......@@ -10,9 +10,9 @@
#include <linux/limits.h>
#include <sys/socket.h>
#include <sys/wait.h>
#include "kern_util.h"
#include "os.h"
#include "um_malloc.h"
#include <kern_util.h>
#include <os.h>
#include <um_malloc.h>
struct helper_data {
void (*pre_exec)(void*);
......
......@@ -8,9 +8,9 @@
#include <poll.h>
#include <signal.h>
#include <string.h>
#include "irq_user.h"
#include "os.h"
#include "um_malloc.h"
#include <irq_user.h>
#include <os.h>
#include <um_malloc.h>
/*
* Locked by irq_lock in arch/um/kernel/irq.c. Changed by os_create_pollfd
......
......@@ -10,11 +10,11 @@
#include <signal.h>
#include <string.h>
#include <sys/resource.h>
#include "as-layout.h"
#include "init.h"
#include "kern_util.h"
#include "os.h"
#include "um_malloc.h"
#include <as-layout.h>
#include <init.h>
#include <kern_util.h>
#include <os.h>
#include <um_malloc.h>
#define PGD_BOUND (4 * 1024 * 1024)
#define STACKSIZE (8 * 1024 * 1024)
......
......@@ -13,8 +13,8 @@
#include <sys/stat.h>
#include <sys/mman.h>
#include <sys/param.h>
#include "init.h"
#include "os.h"
#include <init.h>
#include <os.h>
/* Modified by which_tmpdir, which is called during early boot */
static char *default_tmpdir = "/tmp";
......
......@@ -12,10 +12,10 @@
#include <sys/ptrace.h>
#include <sys/wait.h>
#include <asm/unistd.h>
#include "init.h"
#include "longjmp.h"
#include "os.h"
#include "skas_ptrace.h"
#include <init.h>
#include <longjmp.h>
#include <os.h>
#include <skas_ptrace.h>
#define ARBITRARY_ADDR -1
#define FAILURE_PID -1
......
......@@ -7,9 +7,9 @@
#include <errno.h>
#include <string.h>
#include <sys/ptrace.h>
#include "sysdep/ptrace.h"
#include "sysdep/ptrace_user.h"
#include "registers.h"
#include <sysdep/ptrace.h>
#include <sysdep/ptrace_user.h>
#include <registers.h>
int save_registers(int pid, struct uml_pt_regs *regs)
{
......
......@@ -11,11 +11,11 @@
#include <sched.h>
#include <signal.h>
#include <string.h>
#include "kern_util.h"
#include "init.h"
#include "os.h"
#include "sigio.h"
#include "um_malloc.h"
#include <kern_util.h>
#include <init.h>
#include <os.h>
#include <sigio.h>
#include <um_malloc.h>
/*
* Protected by sigio_lock(), also used by sigio_cleanup, which is an
......
......@@ -9,10 +9,10 @@
#include <errno.h>
#include <signal.h>
#include <strings.h>
#include "as-layout.h"
#include "kern_util.h"
#include "os.h"
#include "sysdep/mcontext.h"
#include <as-layout.h>
#include <kern_util.h>
#include <os.h>
#include <sysdep/mcontext.h>
#include "internal.h"
void (*sig_info[NSIG])(int, siginfo_t *, struct uml_pt_regs *) = {
......
......@@ -8,16 +8,16 @@
#include <errno.h>
#include <string.h>
#include <sys/mman.h>
#include "init.h"
#include "as-layout.h"
#include "mm_id.h"
#include "os.h"
#include "proc_mm.h"
#include "ptrace_user.h"
#include "registers.h"
#include "skas.h"
#include "sysdep/ptrace.h"
#include "sysdep/stub.h"
#include <init.h>
#include <as-layout.h>
#include <mm_id.h>
#include <os.h>
#include <proc_mm.h>
#include <ptrace_user.h>
#include <registers.h>
#include <skas.h>
#include <sysdep/ptrace.h>
#include <sysdep/stub.h>
extern unsigned long batch_syscall_stub, __syscall_stub_start;
......
......@@ -11,17 +11,17 @@
#include <sys/mman.h>
#include <sys/wait.h>
#include <asm/unistd.h>
#include "as-layout.h"
#include "init.h"
#include "kern_util.h"
#include "mem.h"
#include "os.h"
#include "proc_mm.h"
#include "ptrace_user.h"
#include "registers.h"
#include "skas.h"
#include "skas_ptrace.h"
#include "sysdep/stub.h"
#include <as-layout.h>
#include <init.h>
#include <kern_util.h>
#include <mem.h>
#include <os.h>
#include <proc_mm.h>
#include <ptrace_user.h>
#include <registers.h>
#include <skas.h>
#include <skas_ptrace.h>
#include <sysdep/stub.h>
int is_skas_winch(int pid, int fd, void *data)
{
......
......@@ -16,13 +16,13 @@
#include <sys/stat.h>
#include <sys/wait.h>
#include <asm/unistd.h>
#include "init.h"
#include "os.h"
#include "mem_user.h"
#include "ptrace_user.h"
#include "registers.h"
#include "skas.h"
#include "skas_ptrace.h"
#include <init.h>
#include <os.h>
#include <mem_user.h>
#include <ptrace_user.h>
#include <registers.h>
#include <skas.h>
#include <skas_ptrace.h>
static void ptrace_child(void)
{
......
......@@ -8,8 +8,8 @@
#include <signal.h>
#include <time.h>
#include <sys/time.h>
#include "kern_util.h"
#include "os.h"
#include <kern_util.h>
#include <os.h>
#include "internal.h"
int set_interval(void)
......
......@@ -7,8 +7,8 @@
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
#include "kern_util.h"
#include "os.h"
#include <kern_util.h>
#include <os.h>
struct grantpt_info {
int fd;
......
......@@ -12,8 +12,8 @@
#include <string.h>
#include <unistd.h>
#include <sys/stat.h>
#include "init.h"
#include "os.h"
#include <init.h>
#include <os.h>
#define UML_DIR "~/.uml/"
......
#include "linux/types.h"
#include "linux/module.h"
#include <linux/types.h>
#include <linux/module.h>
/* Some of this are builtin function (some are not but could in the future),
* so I *must* declare good prototypes for them and then EXPORT them.
......
......@@ -13,7 +13,7 @@
#include <wait.h>
#include <sys/mman.h>
#include <sys/utsname.h>
#include "os.h"
#include <os.h>
void stack_protections(unsigned long address)
{
......
#include "linux/threads.h"
#include "linux/stddef.h" // for NULL
#include "linux/elf.h" // for AT_NULL
#include <linux/threads.h>
#include <linux/stddef.h> // for NULL
#include <linux/elf.h> // for AT_NULL
/* The following function nicked from arch/ppc/kernel/process.c and
* adapted slightly */
......
#include "linux/sched.h"
#include <linux/sched.h>
#include "asm/ptrace.h"
int putreg(struct task_struct *child, unsigned long regno,
......
#include <errno.h>
#include <asm/ptrace.h>
#include "sysdep/ptrace.h"
#include <sysdep/ptrace.h>
int ptrace_getregs(long pid, unsigned long *regs_out)
{
......
......@@ -5,7 +5,7 @@
#ifndef __SYS_PTRACE_PPC_H
#define __SYS_PTRACE_PPC_H
#include "linux/types.h"
#include <linux/types.h>
/* the following taken from <asm-ppc/ptrace.h> */
......
#include "asm/ptrace.h"
#include "asm/sigcontext.h"
#include "sysdep/ptrace.h"
#include <sysdep/ptrace.h>
......@@ -3,8 +3,8 @@
* Licensed under the GPL
*/
#include "linux/kernel.h"
#include "linux/smp.h"
#include <linux/kernel.h>
#include <linux/smp.h>
#include "asm/ptrace.h"
#include "sysrq.h"
......
#ifndef __UM_CHECKSUM_H
#define __UM_CHECKSUM_H
#include <linux/string.h>
#include <linux/in6.h>
/*
* computes the checksum of a memory block at buff, length len,
* and adds in "sum" (32-bit)
*
* returns a 32-bit number suitable for feeding into itself
* or csum_tcpudp_magic
*
* this function must be called with even lengths, except
* for the last fragment, which may be odd
*
* it's best to have buff aligned on a 32-bit boundary
*/
extern __wsum csum_partial(const void *buff, int len, __wsum sum);
/*
* Note: when you get a NULL pointer exception here this means someone
* passed in an incorrect kernel address to one of these functions.
*
* If you use these functions directly please don't forget the
* access_ok().
*/
static __inline__
__wsum csum_partial_copy_nocheck(const void *src, void *dst,
int len, __wsum sum)
{
memcpy(dst, src, len);
return csum_partial(dst, len, sum);
}
/*
* the same as csum_partial, but copies from src while it
* checksums, and handles user-space pointer exceptions correctly, when needed.
*
* here even more important to align src and dst on a 32-bit (or even
* better 64-bit) boundary
*/
static __inline__
__wsum csum_partial_copy_from_user(const void __user *src, void *dst,
int len, __wsum sum, int *err_ptr)
{
if (copy_from_user(dst, src, len)) {
*err_ptr = -EFAULT;
return (__force __wsum)-1;
}
return csum_partial(dst, len, sum);
}
/**
* csum_fold - Fold and invert a 32bit checksum.
* sum: 32bit unfolded sum
*
* Fold a 32bit running checksum to 16bit and invert it. This is usually
* the last step before putting a checksum into a packet.
* Make sure not to mix with 64bit checksums.
*/
static inline __sum16 csum_fold(__wsum sum)
{
__asm__(
" addl %1,%0\n"
" adcl $0xffff,%0"
: "=r" (sum)
: "r" ((__force u32)sum << 16),
"0" ((__force u32)sum & 0xffff0000)
);
return (__force __sum16)(~(__force u32)sum >> 16);
}
/**
* csum_tcpup_nofold - Compute an IPv4 pseudo header checksum.
* @saddr: source address
* @daddr: destination address
* @len: length of packet
* @proto: ip protocol of packet
* @sum: initial sum to be added in (32bit unfolded)
*
* Returns the pseudo header checksum the input data. Result is
* 32bit unfolded.
*/
static inline __wsum
csum_tcpudp_nofold(__be32 saddr, __be32 daddr, unsigned short len,
unsigned short proto, __wsum sum)
{
asm(" addl %1, %0\n"
" adcl %2, %0\n"
" adcl %3, %0\n"
" adcl $0, %0\n"
: "=r" (sum)
: "g" (daddr), "g" (saddr), "g" ((len + proto) << 8), "0" (sum));
return sum;
}
/*
* computes the checksum of the TCP/UDP pseudo-header
* returns a 16-bit checksum, already complemented
*/
static inline __sum16 csum_tcpudp_magic(__be32 saddr, __be32 daddr,
unsigned short len,
unsigned short proto,
__wsum sum)
{
return csum_fold(csum_tcpudp_nofold(saddr,daddr,len,proto,sum));
}
/**
* ip_fast_csum - Compute the IPv4 header checksum efficiently.
* iph: ipv4 header
* ihl: length of header / 4
*/
static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl)
{
unsigned int sum;
asm( " movl (%1), %0\n"
" subl $4, %2\n"
" jbe 2f\n"
" addl 4(%1), %0\n"
" adcl 8(%1), %0\n"
" adcl 12(%1), %0\n"
"1: adcl 16(%1), %0\n"
" lea 4(%1), %1\n"
" decl %2\n"
" jne 1b\n"
" adcl $0, %0\n"
" movl %0, %2\n"
" shrl $16, %0\n"
" addw %w2, %w0\n"
" adcl $0, %0\n"
" notl %0\n"
"2:"
/* Since the input registers which are loaded with iph and ipl
are modified, we must also specify them as outputs, or gcc
will assume they contain their original values. */
: "=r" (sum), "=r" (iph), "=r" (ihl)
: "1" (iph), "2" (ihl)
: "memory");
return (__force __sum16)sum;
}
#ifdef CONFIG_X86_32
# include "checksum_32.h"
#else
......
......@@ -5,145 +5,6 @@
#ifndef __UM_SYSDEP_CHECKSUM_H
#define __UM_SYSDEP_CHECKSUM_H
#include "linux/in6.h"
#include "linux/string.h"
/*
* computes the checksum of a memory block at buff, length len,
* and adds in "sum" (32-bit)
*
* returns a 32-bit number suitable for feeding into itself
* or csum_tcpudp_magic
*
* this function must be called with even lengths, except
* for the last fragment, which may be odd
*
* it's best to have buff aligned on a 32-bit boundary
*/
__wsum csum_partial(const void *buff, int len, __wsum sum);
/*
* Note: when you get a NULL pointer exception here this means someone
* passed in an incorrect kernel address to one of these functions.
*
* If you use these functions directly please don't forget the
* access_ok().
*/
static __inline__
__wsum csum_partial_copy_nocheck(const void *src, void *dst,
int len, __wsum sum)
{
memcpy(dst, src, len);
return csum_partial(dst, len, sum);
}
/*
* the same as csum_partial, but copies from src while it
* checksums, and handles user-space pointer exceptions correctly, when needed.
*
* here even more important to align src and dst on a 32-bit (or even
* better 64-bit) boundary
*/
static __inline__
__wsum csum_partial_copy_from_user(const void __user *src, void *dst,
int len, __wsum sum, int *err_ptr)
{
if (copy_from_user(dst, src, len)) {
*err_ptr = -EFAULT;
return (__force __wsum)-1;
}
return csum_partial(dst, len, sum);
}
/*
* This is a version of ip_compute_csum() optimized for IP headers,
* which always checksum on 4 octet boundaries.
*
* By Jorge Cwik <jorge@laser.satlink.net>, adapted for linux by
* Arnt Gulbrandsen.
*/
static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl)
{
unsigned int sum;
__asm__ __volatile__(
"movl (%1), %0 ;\n"
"subl $4, %2 ;\n"
"jbe 2f ;\n"
"addl 4(%1), %0 ;\n"
"adcl 8(%1), %0 ;\n"
"adcl 12(%1), %0 ;\n"
"1: adcl 16(%1), %0 ;\n"
"lea 4(%1), %1 ;\n"
"decl %2 ;\n"
"jne 1b ;\n"
"adcl $0, %0 ;\n"
"movl %0, %2 ;\n"
"shrl $16, %0 ;\n"
"addw %w2, %w0 ;\n"
"adcl $0, %0 ;\n"
"notl %0 ;\n"
"2: ;\n"
/* Since the input registers which are loaded with iph and ipl
are modified, we must also specify them as outputs, or gcc
will assume they contain their original values. */
: "=r" (sum), "=r" (iph), "=r" (ihl)
: "1" (iph), "2" (ihl)
: "memory");
return (__force __sum16)sum;
}
/*
* Fold a partial checksum
*/
static inline __sum16 csum_fold(__wsum sum)
{
__asm__(
"addl %1, %0 ;\n"
"adcl $0xffff, %0 ;\n"
: "=r" (sum)
: "r" ((__force u32)sum << 16),
"0" ((__force u32)sum & 0xffff0000)
);
return (__force __sum16)(~(__force u32)sum >> 16);
}
static inline __wsum csum_tcpudp_nofold(__be32 saddr, __be32 daddr,
unsigned short len,
unsigned short proto,
__wsum sum)
{
__asm__(
"addl %1, %0 ;\n"
"adcl %2, %0 ;\n"
"adcl %3, %0 ;\n"
"adcl $0, %0 ;\n"
: "=r" (sum)
: "g" (daddr), "g"(saddr), "g"((len + proto) << 8), "0"(sum));
return sum;
}
/*
* computes the checksum of the TCP/UDP pseudo-header
* returns a 16-bit checksum, already complemented
*/
static inline __sum16 csum_tcpudp_magic(__be32 saddr, __be32 daddr,
unsigned short len,
unsigned short proto,
__wsum sum)
{
return csum_fold(csum_tcpudp_nofold(saddr,daddr,len,proto,sum));
}
/*
* this routine is used for miscellaneous IP-like checksums, mainly
* in icmp.c
*/
static inline __sum16 ip_compute_csum(const void *buff, int len)
{
return csum_fold (csum_partial(buff, len, 0));
......@@ -198,4 +59,3 @@ static __inline__ __wsum csum_and_copy_to_user(const void *src,
}
#endif
......@@ -5,131 +5,6 @@
#ifndef __UM_SYSDEP_CHECKSUM_H
#define __UM_SYSDEP_CHECKSUM_H
#include "linux/string.h"
#include "linux/in6.h"
#include "asm/uaccess.h"
extern __wsum csum_partial(const void *buff, int len, __wsum sum);
/*
* Note: when you get a NULL pointer exception here this means someone
* passed in an incorrect kernel address to one of these functions.
*
* If you use these functions directly please don't forget the
* access_ok().
*/
static __inline__
__wsum csum_partial_copy_nocheck(const void *src, void *dst,
int len, __wsum sum)
{
memcpy(dst, src, len);
return(csum_partial(dst, len, sum));
}
static __inline__
__wsum csum_partial_copy_from_user(const void __user *src,
void *dst, int len, __wsum sum,
int *err_ptr)
{
if (copy_from_user(dst, src, len)) {
*err_ptr = -EFAULT;
return (__force __wsum)-1;
}
return csum_partial(dst, len, sum);
}
/**
* csum_fold - Fold and invert a 32bit checksum.
* sum: 32bit unfolded sum
*
* Fold a 32bit running checksum to 16bit and invert it. This is usually
* the last step before putting a checksum into a packet.
* Make sure not to mix with 64bit checksums.
*/
static inline __sum16 csum_fold(__wsum sum)
{
__asm__(
" addl %1,%0\n"
" adcl $0xffff,%0"
: "=r" (sum)
: "r" ((__force u32)sum << 16),
"0" ((__force u32)sum & 0xffff0000)
);
return (__force __sum16)(~(__force u32)sum >> 16);
}
/**
* csum_tcpup_nofold - Compute an IPv4 pseudo header checksum.
* @saddr: source address
* @daddr: destination address
* @len: length of packet
* @proto: ip protocol of packet
* @sum: initial sum to be added in (32bit unfolded)
*
* Returns the pseudo header checksum the input data. Result is
* 32bit unfolded.
*/
static inline __wsum
csum_tcpudp_nofold(__be32 saddr, __be32 daddr, unsigned short len,
unsigned short proto, __wsum sum)
{
asm(" addl %1, %0\n"
" adcl %2, %0\n"
" adcl %3, %0\n"
" adcl $0, %0\n"
: "=r" (sum)
: "g" (daddr), "g" (saddr), "g" ((len + proto) << 8), "0" (sum));
return sum;
}
/*
* computes the checksum of the TCP/UDP pseudo-header
* returns a 16-bit checksum, already complemented
*/
static inline __sum16 csum_tcpudp_magic(__be32 saddr, __be32 daddr,
unsigned short len,
unsigned short proto,
__wsum sum)
{
return csum_fold(csum_tcpudp_nofold(saddr,daddr,len,proto,sum));
}
/**
* ip_fast_csum - Compute the IPv4 header checksum efficiently.
* iph: ipv4 header
* ihl: length of header / 4
*/
static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl)
{
unsigned int sum;
asm( " movl (%1), %0\n"
" subl $4, %2\n"
" jbe 2f\n"
" addl 4(%1), %0\n"
" adcl 8(%1), %0\n"
" adcl 12(%1), %0\n"
"1: adcl 16(%1), %0\n"
" lea 4(%1), %1\n"
" decl %2\n"
" jne 1b\n"
" adcl $0, %0\n"
" movl %0, %2\n"
" shrl $16, %0\n"
" addw %w2, %w0\n"
" adcl $0, %0\n"
" notl %0\n"
"2:"
/* Since the input registers which are loaded with iph and ipl
are modified, we must also specify them as outputs, or gcc
will assume they contain their original values. */
: "=r" (sum), "=r" (iph), "=r" (ihl)
: "1" (iph), "2" (ihl)
: "memory");
return (__force __sum16)sum;
}
static inline unsigned add32_with_carry(unsigned a, unsigned b)
{
asm("addl %2,%0\n\t"
......
......@@ -6,7 +6,7 @@
#define __UM_ELF_X86_H
#include <asm/user.h>
#include "skas.h"
#include <skas.h>
#ifdef CONFIG_X86_32
......
#ifndef __UM_X86_PTRACE_H
#define __UM_X86_PTRACE_H
#ifdef CONFIG_X86_32
# include "ptrace_32.h"
#else
# include "ptrace_64.h"
#include <linux/compiler.h>
#ifndef CONFIG_X86_32
#define __FRAME_OFFSETS /* Needed to get the R* macros */
#endif
#include <asm/ptrace-generic.h>
#define user_mode(r) UPT_IS_USER(&(r)->regs)
#define PT_REGS_AX(r) UPT_AX(&(r)->regs)
#define PT_REGS_BX(r) UPT_BX(&(r)->regs)
......@@ -36,4 +38,52 @@ static inline long regs_return_value(struct pt_regs *regs)
{
return PT_REGS_AX(regs);
}
/*
* Forward declaration to avoid including sysdep/tls.h, which causes a
* circular include, and compilation failures.
*/
struct user_desc;
#ifdef CONFIG_X86_32
#define HOST_AUDIT_ARCH AUDIT_ARCH_I386
extern int ptrace_get_thread_area(struct task_struct *child, int idx,
struct user_desc __user *user_desc);
extern int ptrace_set_thread_area(struct task_struct *child, int idx,
struct user_desc __user *user_desc);
#else
#define HOST_AUDIT_ARCH AUDIT_ARCH_X86_64
#define PT_REGS_R8(r) UPT_R8(&(r)->regs)
#define PT_REGS_R9(r) UPT_R9(&(r)->regs)
#define PT_REGS_R10(r) UPT_R10(&(r)->regs)
#define PT_REGS_R11(r) UPT_R11(&(r)->regs)
#define PT_REGS_R12(r) UPT_R12(&(r)->regs)
#define PT_REGS_R13(r) UPT_R13(&(r)->regs)
#define PT_REGS_R14(r) UPT_R14(&(r)->regs)
#define PT_REGS_R15(r) UPT_R15(&(r)->regs)
#include <asm/errno.h>
static inline int ptrace_get_thread_area(struct task_struct *child, int idx,
struct user_desc __user *user_desc)
{
return -ENOSYS;
}
static inline int ptrace_set_thread_area(struct task_struct *child, int idx,
struct user_desc __user *user_desc)
{
return -ENOSYS;
}
extern long arch_prctl(struct task_struct *task, int code,
unsigned long __user *addr);
#endif
#endif /* __UM_X86_PTRACE_H */
/*
* Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
* Licensed under the GPL
*/
#ifndef __UM_PTRACE_I386_H
#define __UM_PTRACE_I386_H
#define HOST_AUDIT_ARCH AUDIT_ARCH_I386
#include "linux/compiler.h"
#include "asm/ptrace-generic.h"
#define user_mode(r) UPT_IS_USER(&(r)->regs)
/*
* Forward declaration to avoid including sysdep/tls.h, which causes a
* circular include, and compilation failures.
*/
struct user_desc;
extern int ptrace_get_thread_area(struct task_struct *child, int idx,
struct user_desc __user *user_desc);
extern int ptrace_set_thread_area(struct task_struct *child, int idx,
struct user_desc __user *user_desc);
#endif
/*
* Copyright 2003 PathScale, Inc.
*
* Licensed under the GPL
*/
#ifndef __UM_PTRACE_X86_64_H
#define __UM_PTRACE_X86_64_H
#include "linux/compiler.h"
#include "asm/errno.h"
#define __FRAME_OFFSETS /* Needed to get the R* macros */
#include "asm/ptrace-generic.h"
#define HOST_AUDIT_ARCH AUDIT_ARCH_X86_64
#define PT_REGS_R8(r) UPT_R8(&(r)->regs)
#define PT_REGS_R9(r) UPT_R9(&(r)->regs)
#define PT_REGS_R10(r) UPT_R10(&(r)->regs)
#define PT_REGS_R11(r) UPT_R11(&(r)->regs)
#define PT_REGS_R12(r) UPT_R12(&(r)->regs)
#define PT_REGS_R13(r) UPT_R13(&(r)->regs)
#define PT_REGS_R14(r) UPT_R14(&(r)->regs)
#define PT_REGS_R15(r) UPT_R15(&(r)->regs)
/* XXX */
#define user_mode(r) UPT_IS_USER(&(r)->regs)
struct user_desc;
static inline int ptrace_get_thread_area(struct task_struct *child, int idx,
struct user_desc __user *user_desc)
{
return -ENOSYS;
}
static inline int ptrace_set_thread_area(struct task_struct *child, int idx,
struct user_desc __user *user_desc)
{
return -ENOSYS;
}
extern long arch_prctl(struct task_struct *task, int code,
unsigned long __user *addr);
#endif
......@@ -4,9 +4,9 @@
*/
#include <signal.h>
#include "kern_util.h"
#include "longjmp.h"
#include "sysdep/ptrace.h"
#include <kern_util.h>
#include <longjmp.h>
#include <sysdep/ptrace.h>
#include <generated/asm-offsets.h>
/* Set during early boot */
......
......@@ -4,7 +4,7 @@
* Licensed under the GPL
*/
#include "sysdep/ptrace.h"
#include <sysdep/ptrace.h>
void arch_check_bugs(void)
{
......
......@@ -3,7 +3,7 @@
* Licensed under the GPL
*/
#include "sysdep/ptrace.h"
#include <sysdep/ptrace.h>
/* These two are from asm-um/uaccess.h and linux/module.h, check them. */
struct exception_table_entry
......
......@@ -7,11 +7,11 @@
#include <linux/sched.h>
#include <linux/slab.h>
#include <asm/unistd.h>
#include "os.h"
#include "proc_mm.h"
#include "skas.h"
#include "skas_ptrace.h"
#include "sysdep/tls.h"
#include <os.h>
#include <proc_mm.h>
#include <skas.h>
#include <skas_ptrace.h>
#include <sysdep/tls.h>
extern int modify_ldt(int func, void *ptr, unsigned long bytecount);
......
#include "linux/mm.h"
#include "asm/page.h"
#include "asm/mman.h"
#include <linux/mm.h>
#include <asm/page.h>
#include <asm/mman.h>
const char *arch_vma_name(struct vm_area_struct *vma)
{
......
......@@ -9,8 +9,8 @@
#ifdef __i386__
#include <sys/user.h>
#endif
#include "longjmp.h"
#include "sysdep/ptrace_user.h"
#include <longjmp.h>
#include <sysdep/ptrace_user.h>
int save_fp_registers(int pid, unsigned long *fp_regs)
{
......
......@@ -2,7 +2,7 @@
#include <stdlib.h>
#include <signal.h>
#include <sys/mman.h>
#include "longjmp.h"
#include <longjmp.h>
#ifdef __i386__
......
......@@ -5,7 +5,7 @@
#include <sys/syscall.h>
#include <unistd.h>
#include "sysdep/tls.h"
#include <sysdep/tls.h>
#ifndef PTRACE_GET_THREAD_AREA
#define PTRACE_GET_THREAD_AREA 25
......
......@@ -3,10 +3,10 @@
* Licensed under the GPL
*/
#include "linux/mm.h"
#include "linux/sched.h"
#include "asm/uaccess.h"
#include "skas.h"
#include <linux/mm.h>
#include <linux/sched.h>
#include <asm/uaccess.h>
#include <skas.h>
extern int arch_switch_tls(struct task_struct *to);
......
......@@ -4,7 +4,7 @@
*/
#include <errno.h>
#include "ptrace_user.h"
#include <ptrace_user.h>
int ptrace_getregs(long pid, unsigned long *regs_out)
{
......
......@@ -2,7 +2,7 @@
#define __SYSDEP_X86_PTRACE_H
#include <generated/user_constants.h>
#include "sysdep/faultinfo.h"
#include <sysdep/faultinfo.h>
#define MAX_REG_OFFSET (UM_FRAME_SIZE)
#define MAX_REG_NR ((MAX_REG_OFFSET) / sizeof(unsigned long))
......
#include <asm/unistd.h>
#include <sys/mman.h>
#include <signal.h>
#include "as-layout.h"
#include "stub-data.h"
#include <as-layout.h>
#include <stub-data.h>
#ifdef __i386__
#include "stub_32.h"
......
......@@ -3,8 +3,8 @@
* Licensed under the GPL
*/
#include "asm/unistd.h"
#include "sysdep/ptrace.h"
#include <asm/unistd.h>
#include <sysdep/ptrace.h>
typedef long syscall_handler_t(struct pt_regs);
......
......@@ -11,8 +11,8 @@
#include <asm/unistd.h>
#include <asm/uaccess.h>
#include <asm/ucontext.h>
#include "frame_kern.h"
#include "skas.h"
#include <frame_kern.h>
#include <skas.h>
#ifdef CONFIG_X86_32
......
#include "as-layout.h"
#include <as-layout.h>
.globl syscall_stub
.section .__syscall_stub, "ax"
......
#include "as-layout.h"
#include <as-layout.h>
.globl syscall_stub
.section .__syscall_stub, "ax"
......
......@@ -3,9 +3,9 @@
* Licensed under the GPL
*/
#include "sysdep/stub.h"
#include "sysdep/faultinfo.h"
#include "sysdep/mcontext.h"
#include <sysdep/stub.h>
#include <sysdep/faultinfo.h>
#include <sysdep/mcontext.h>
void __attribute__ ((__section__ (".__syscall_stub")))
stub_segv_handler(int sig, siginfo_t *info, void *p)
......
......@@ -3,12 +3,12 @@
* Licensed under the GPL
*/
#include "linux/kernel.h"
#include "linux/smp.h"
#include "linux/sched.h"
#include "linux/kallsyms.h"
#include "asm/ptrace.h"
#include "sysrq.h"
#include <linux/kernel.h>
#include <linux/smp.h>
#include <linux/sched.h>
#include <linux/kallsyms.h>
#include <asm/ptrace.h>
#include <asm/sysrq.h>
/* This is declared by <linux/sched.h> */
void show_regs(struct pt_regs *regs)
......
......@@ -10,7 +10,7 @@
#include <linux/utsname.h>
#include <asm/current.h>
#include <asm/ptrace.h>
#include "sysrq.h"
#include <asm/sysrq.h>
void __show_regs(struct pt_regs *regs)
{
......
......@@ -3,12 +3,12 @@
* Licensed under the GPL
*/
#include "linux/percpu.h"
#include "linux/sched.h"
#include "asm/uaccess.h"
#include "os.h"
#include "skas.h"
#include "sysdep/tls.h"
#include <linux/percpu.h>
#include <linux/sched.h>
#include <asm/uaccess.h>
#include <os.h>
#include <skas.h>
#include <sysdep/tls.h>
/*
* If needed we can detect when it's uninitialized.
......
#include "linux/sched.h"
#include <linux/sched.h>
void clear_flushed_tls(struct task_struct *task)
{
......
#ifndef __UM_FS_HOSTFS
#define __UM_FS_HOSTFS
#include "os.h"
#include <os.h>
/*
* These are exactly the same definitions as in fs.h, but the names are
......
......@@ -16,8 +16,8 @@
#include <linux/mount.h>
#include <linux/namei.h>
#include "hostfs.h"
#include "init.h"
#include "kern.h"
#include <init.h>
#include <kern.h>
struct hostfs_inode_info {
int fd;
......@@ -848,9 +848,11 @@ int hostfs_setattr(struct dentry *dentry, struct iattr *attr)
attr->ia_size != i_size_read(inode)) {
int error;
error = vmtruncate(inode, attr->ia_size);
if (err)
return err;
error = inode_newsize_ok(inode, attr->ia_size);
if (error)
return error;
truncate_setsize(inode, attr->ia_size);
}
setattr_copy(inode, attr);
......
......@@ -15,7 +15,6 @@
#include <sys/types.h>
#include <sys/vfs.h>
#include "hostfs.h"
#include "os.h"
#include <utime.h>
static void stat64_to_hostfs(const struct stat64 *buf, struct hostfs_stat *p)
......
......@@ -18,7 +18,7 @@
#include <linux/pid_namespace.h>
#include <linux/namei.h>
#include <asm/uaccess.h>
#include "os.h"
#include <os.h>
static struct inode *get_inode(struct super_block *, struct dentry *);
......@@ -674,7 +674,7 @@ static struct inode *get_inode(struct super_block *sb, struct dentry *dentry)
if (!inode) {
dput(dentry);
return ERR_PTR(-ENOMEM);
return NULL;
}
if (S_ISDIR(dentry->d_inode->i_mode)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment