Commit 686bb5a7 authored by Linus Torvalds's avatar Linus Torvalds

Import 2.1.99

parent 6b6e62fd
...@@ -155,7 +155,7 @@ ENTRY(system_call) ...@@ -155,7 +155,7 @@ ENTRY(system_call)
jae badsys jae badsys
testb $0x20,flags(%ebx) # PF_TRACESYS testb $0x20,flags(%ebx) # PF_TRACESYS
jne tracesys jne tracesys
call SYMBOL_NAME(sys_call_table)(,%eax,4) call *SYMBOL_NAME(sys_call_table)(,%eax,4)
movl %eax,EAX(%esp) # save the return value movl %eax,EAX(%esp) # save the return value
ALIGN ALIGN
.globl ret_from_sys_call .globl ret_from_sys_call
...@@ -193,7 +193,7 @@ tracesys: ...@@ -193,7 +193,7 @@ tracesys:
movl $-ENOSYS,EAX(%esp) movl $-ENOSYS,EAX(%esp)
call SYMBOL_NAME(syscall_trace) call SYMBOL_NAME(syscall_trace)
movl ORIG_EAX(%esp),%eax movl ORIG_EAX(%esp),%eax
call SYMBOL_NAME(sys_call_table)(,%eax,4) call *SYMBOL_NAME(sys_call_table)(,%eax,4)
movl %eax,EAX(%esp) # save the return value movl %eax,EAX(%esp) # save the return value
call SYMBOL_NAME(syscall_trace) call SYMBOL_NAME(syscall_trace)
jmp ret_from_sys_call jmp ret_from_sys_call
......
This diff is collapsed.
...@@ -23,10 +23,7 @@ void init_pic_mode (void); ...@@ -23,10 +23,7 @@ void init_pic_mode (void);
extern unsigned int io_apic_irqs; extern unsigned int io_apic_irqs;
extern inline int IO_APIC_VECTOR (int irq) #define IO_APIC_VECTOR(irq) (0x51+((irq)<<3))
{
return (0x51+(irq<<3));
}
#define MAX_IRQ_SOURCES 128 #define MAX_IRQ_SOURCES 128
#define MAX_MP_BUSSES 32 #define MAX_MP_BUSSES 32
......
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
* Alan Cox : Added EBDA scanning * Alan Cox : Added EBDA scanning
*/ */
#include <linux/config.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/timer.h> #include <linux/timer.h>
......
...@@ -328,7 +328,7 @@ void cleanup_module(void) ...@@ -328,7 +328,7 @@ void cleanup_module(void)
#ifdef RD_LOADER #ifdef RD_LOADER
/* /*
* This routine tries to a ramdisk image to load, and returns the * This routine tries to find a ramdisk image to load, and returns the
* number of blocks to read for a non-compressed image, 0 if the image * number of blocks to read for a non-compressed image, 0 if the image
* is a compressed image, and -1 if an image with the right magic * is a compressed image, and -1 if an image with the right magic
* numbers could not be found. * numbers could not be found.
...@@ -503,15 +503,21 @@ __initfunc(static void rd_load_image(kdev_t device,int offset)) ...@@ -503,15 +503,21 @@ __initfunc(static void rd_load_image(kdev_t device,int offset))
if (blk_size[MAJOR(device)]) if (blk_size[MAJOR(device)])
devblocks = blk_size[MAJOR(device)][MINOR(device)]; devblocks = blk_size[MAJOR(device)][MINOR(device)];
#ifdef CONFIG_BLK_DEV_INITRD
if (MAJOR(device) == MAJOR_NR && MINOR(device) == INITRD_MINOR)
devblocks = nblocks;
#endif
if (devblocks == 0) { if (devblocks == 0) {
printk(KERN_ERR "RAMDISK: could not determine device size\n"); printk(KERN_ERR "RAMDISK: could not determine device size\n");
goto done; goto done;
} }
printk(KERN_NOTICE "RAMDISK: Loading %d blocks [%d disk(s)] into ram disk... ", nblocks, nblocks/devblocks+1); printk(KERN_NOTICE "RAMDISK: Loading %d blocks [%d disk%s] into ram disk... ",
nblocks, ((nblocks-1)/devblocks)+1, nblocks>devblocks ? "s" : "");
for (i=0; i < nblocks; i++) { for (i=0; i < nblocks; i++) {
if (i && (i % devblocks == 0)) { if (i && (i % devblocks == 0)) {
printk("done.\n"); printk("done disk #%d.\n", i/devblocks);
rotate = 0; rotate = 0;
invalidate_buffers(device); invalidate_buffers(device);
if (infile.f_op->release) if (infile.f_op->release)
......
...@@ -239,8 +239,9 @@ __initfunc(int ultra32_probe1(struct device *dev, int ioaddr)) ...@@ -239,8 +239,9 @@ __initfunc(int ultra32_probe1(struct device *dev, int ioaddr))
static int ultra32_open(struct device *dev) static int ultra32_open(struct device *dev)
{ {
int ioaddr = dev->base_addr - ULTRA32_NIC_OFFSET; /* ASIC addr */ int ioaddr = dev->base_addr - ULTRA32_NIC_OFFSET; /* ASIC addr */
int irq_flags = (inb(ioaddr + ULTRA32_CFG5) & 0x08) ? 0 : SA_SHIRQ;
if (request_irq(dev->irq, ei_interrupt, 0, ei_status.name, dev)) if (request_irq(dev->irq, ei_interrupt, irq_flags, ei_status.name, dev))
return -EAGAIN; return -EAGAIN;
outb(ULTRA32_MEMENB, ioaddr); /* Enable Shared Memory. */ outb(ULTRA32_MEMENB, ioaddr); /* Enable Shared Memory. */
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
* the bridge optimization, but others might appear later. * the bridge optimization, but others might appear later.
*/ */
#include <linux/config.h>
#include <linux/types.h> #include <linux/types.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/pci.h> #include <linux/pci.h>
......
...@@ -1441,9 +1441,8 @@ ncr_pci_init (Scsi_Host_Template *tpnt, int board, int chip, ...@@ -1441,9 +1441,8 @@ ncr_pci_init (Scsi_Host_Template *tpnt, int board, int chip,
&command)) || &command)) ||
(error = pcibios_read_config_byte (bus, device_fn, PCI_CLASS_REVISION, (error = pcibios_read_config_byte (bus, device_fn, PCI_CLASS_REVISION,
&revision))) { &revision))) {
printk ("scsi-ncr53c7,8xx : error %s not initializing due to error reading configuration space\n" printk ("scsi-ncr53c7,8xx : error %d not initializing due to error reading configuration space\n"
" perhaps you specified an incorrect PCI bus, device, or function.\n" " perhaps you specified an incorrect PCI bus, device, or function.\n", error);
, pcibios_strerror(error));
return -1; return -1;
} }
io_port = pdev->base_address[0]; io_port = pdev->base_address[0];
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* Author: Rickard E. Faith, faith@cs.unc.edu * Author: Rickard E. Faith, faith@cs.unc.edu
* Copyright 1992, 1993, 1994, 1995, 1996 Rickard E. Faith * Copyright 1992, 1993, 1994, 1995, 1996 Rickard E. Faith
* *
* $Id: fdomain.c,v 5.45 1996/10/02 15:13:06 root Exp $ * Version 5.46 (23-04-1998)
* This program is free software; you can redistribute it and/or modify it * This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the * under the terms of the GNU General Public License as published by the
...@@ -20,8 +20,6 @@ ...@@ -20,8 +20,6 @@
* with this program; if not, write to the Free Software Foundation, Inc., * with this program; if not, write to the Free Software Foundation, Inc.,
* 675 Mass Ave, Cambridge, MA 02139, USA. * 675 Mass Ave, Cambridge, MA 02139, USA.
* PCI detection rewritten by Martin Mares <mj@atrey.karlin.mff.cuni.cz>
************************************************************************** **************************************************************************
SUMMARY: SUMMARY:
...@@ -108,6 +106,7 @@ ...@@ -108,6 +106,7 @@
1.3.85 5.41 4 Apr 1996 1.3.85 5.41 4 Apr 1996
2.0.12 5.44 8 Aug 1996 Use ID 7 for all PCI cards 2.0.12 5.44 8 Aug 1996 Use ID 7 for all PCI cards
2.1.1 5.45 2 Oct 1996 Update ROM accesses for 2.1.x 2.1.1 5.45 2 Oct 1996 Update ROM accesses for 2.1.x
2.1.97 5.46 23 Apr 1998 Rewritten PCI detection routines [mj]
...@@ -206,6 +205,8 @@ ...@@ -206,6 +205,8 @@
Thanks to Tom Cavin (tec@usa1.com) for preliminary command-line option Thanks to Tom Cavin (tec@usa1.com) for preliminary command-line option
patches. patches.
New PCI detection code written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>
All of the alpha testers deserve much thanks. All of the alpha testers deserve much thanks.
...@@ -886,7 +887,6 @@ int fdomain_16x0_detect( Scsi_Host_Template *tpnt ) ...@@ -886,7 +887,6 @@ int fdomain_16x0_detect( Scsi_Host_Template *tpnt )
#endif #endif
#ifdef CONFIG_PCI #ifdef CONFIG_PCI
printk( "\nTMC-3260 36C70 PCI scsi chip detection failed.\n" ); printk( "\nTMC-3260 36C70 PCI scsi chip detection failed.\n" );
printk( "Send mail to mckinley@msupa.pa.msu.edu.\n" );
#endif #endif
return 0; /* Cannot find valid set of ports */ return 0; /* Cannot find valid set of ports */
} }
......
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
#ifndef _LINUX_MTRR_H #ifndef _LINUX_MTRR_H
#define _LINUX_MTRR_H #define _LINUX_MTRR_H
#include <linux/config.h>
#include <linux/ioctl.h> #include <linux/ioctl.h>
#define MTRR_IOCTL_BASE 'M' #define MTRR_IOCTL_BASE 'M'
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#ifndef _NET_DST_H #ifndef _NET_DST_H
#define _NET_DST_H #define _NET_DST_H
#include <linux/config.h>
#include <net/neighbour.h> #include <net/neighbour.h>
/* /*
......
...@@ -67,7 +67,7 @@ static int exec_modprobe(void * module_name) ...@@ -67,7 +67,7 @@ static int exec_modprobe(void * module_name)
} }
set_fs(KERNEL_DS); /* Allow execve args to be in kernel space. */ set_fs(KERNEL_DS); /* Allow execve args to be in kernel space. */
current->uid = current->euid = 0; current->uid = current->euid = current->fsuid = 0;
if (execve(modprobe_path, argv, envp) < 0) { if (execve(modprobe_path, argv, envp) < 0) {
printk(KERN_ERR printk(KERN_ERR
"kmod: failed to exec %s -s -k %s, errno = %d\n", "kmod: failed to exec %s -s -k %s, errno = %d\n",
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
* *
* Alan Cox, <alan@cymru.net> * Alan Cox, <alan@cymru.net>
* *
* Version: $Id: icmp.c,v 1.40 1998/04/11 09:38:24 freitag Exp $ * Version: $Id: icmp.c,v 1.41 1998/04/29 22:12:10 alan Exp $
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
...@@ -680,7 +680,7 @@ static void icmp_unreach(struct icmphdr *icmph, struct sk_buff *skb, int len) ...@@ -680,7 +680,7 @@ static void icmp_unreach(struct icmphdr *icmph, struct sk_buff *skb, int len)
if (inet_addr_type(iph->daddr) == RTN_BROADCAST) if (inet_addr_type(iph->daddr) == RTN_BROADCAST)
{ {
if (net_ratelimit()) if (net_ratelimit())
printk("%s sent an invalid ICMP error to a broadcast.\n", printk(KERN_WARNING "%s sent an invalid ICMP error to a broadcast.\n",
in_ntoa(skb->nh.iph->saddr)); in_ntoa(skb->nh.iph->saddr));
return; return;
} }
...@@ -856,6 +856,9 @@ static void icmp_timestamp(struct icmphdr *icmph, struct sk_buff *skb, int len) ...@@ -856,6 +856,9 @@ static void icmp_timestamp(struct icmphdr *icmph, struct sk_buff *skb, int len)
* All these rules are so bizarre, that I removed kernel addrmask * All these rules are so bizarre, that I removed kernel addrmask
* support at all. It is wrong, it is obsolete, nobody uses it in * support at all. It is wrong, it is obsolete, nobody uses it in
* any case. --ANK * any case. --ANK
*
* Furthermore you can do it with a usermode address agent program
* anyway...
*/ */
static void icmp_address(struct icmphdr *icmph, struct sk_buff *skb, int len) static void icmp_address(struct icmphdr *icmph, struct sk_buff *skb, int len)
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
* *
* Implementation of the Transmission Control Protocol(TCP). * Implementation of the Transmission Control Protocol(TCP).
* *
* Version: $Id: tcp_ipv4.c,v 1.141 1998/04/24 19:38:19 freitag Exp $ * Version: $Id: tcp_ipv4.c,v 1.142 1998/04/30 12:00:45 davem Exp $
* *
* IPv4 specific functions * IPv4 specific functions
* *
...@@ -48,6 +48,7 @@ ...@@ -48,6 +48,7 @@
#include <linux/config.h> #include <linux/config.h>
#include <linux/types.h> #include <linux/types.h>
#include <linux/stddef.h>
#include <linux/fcntl.h> #include <linux/fcntl.h>
#include <linux/random.h> #include <linux/random.h>
#include <linux/init.h> #include <linux/init.h>
...@@ -61,9 +62,6 @@ ...@@ -61,9 +62,6 @@
#include <linux/inet.h> #include <linux/inet.h>
/* That should be really in a standard kernel include file. */
#define offsetof(t,m) ((unsigned int) (&((t *)0)->m))
extern int sysctl_tcp_timestamps; extern int sysctl_tcp_timestamps;
extern int sysctl_tcp_window_scaling; extern int sysctl_tcp_window_scaling;
extern int sysctl_tcp_sack; extern int sysctl_tcp_sack;
......
...@@ -449,6 +449,7 @@ EXPORT_SYMBOL(qdisc_head); ...@@ -449,6 +449,7 @@ EXPORT_SYMBOL(qdisc_head);
EXPORT_SYMBOL(qdisc_create_dflt); EXPORT_SYMBOL(qdisc_create_dflt);
EXPORT_SYMBOL(noop_qdisc); EXPORT_SYMBOL(noop_qdisc);
#ifdef CONFIG_NET_SCHED #ifdef CONFIG_NET_SCHED
EXPORT_SYMBOL(pfifo_qdisc_ops);
EXPORT_SYMBOL(register_qdisc); EXPORT_SYMBOL(register_qdisc);
EXPORT_SYMBOL(unregister_qdisc); EXPORT_SYMBOL(unregister_qdisc);
EXPORT_SYMBOL(qdisc_get_rtab); EXPORT_SYMBOL(qdisc_get_rtab);
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
* Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> * Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
*/ */
#include <linux/config.h>
#include <linux/module.h> #include <linux/module.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/system.h> #include <asm/system.h>
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
* Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> * Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
*/ */
#include <linux/config.h>
#include <linux/module.h> #include <linux/module.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/system.h> #include <asm/system.h>
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
* Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> * Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
*/ */
#include <linux/config.h>
#include <linux/module.h> #include <linux/module.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/system.h> #include <asm/system.h>
......
...@@ -66,6 +66,8 @@ ...@@ -66,6 +66,8 @@
powerful clsssification engine. powerful clsssification engine.
*/ */
#include <linux/config.h>
struct rsvp_head struct rsvp_head
{ {
u32 tmap[256/32]; u32 tmap[256/32];
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
* Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> * Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
*/ */
#include <linux/config.h>
#include <linux/module.h> #include <linux/module.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/system.h> #include <asm/system.h>
......
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/system.h> #include <asm/system.h>
#include <asm/bitops.h> #include <asm/bitops.h>
#include <linux/config.h>
#include <linux/types.h> #include <linux/types.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/sched.h> #include <linux/sched.h>
......
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
* Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru> * Authors: Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
*/ */
#include <linux/config.h>
#include <linux/module.h> #include <linux/module.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/system.h> #include <asm/system.h>
......
...@@ -1118,13 +1118,14 @@ static int x25_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) ...@@ -1118,13 +1118,14 @@ static int x25_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
struct x25_facilities facilities; struct x25_facilities facilities;
if (copy_from_user(&facilities, (void *)arg, sizeof(facilities))) if (copy_from_user(&facilities, (void *)arg, sizeof(facilities)))
return -EFAULT; return -EFAULT;
if (sk->state != TCP_LISTEN) if (sk->state != TCP_LISTEN && sk->state != TCP_CLOSE)
return -EINVAL; return -EINVAL;
if (facilities.pacsize_in < X25_PS16 || facilities.pacsize_in > X25_PS4096) if (facilities.pacsize_in < X25_PS16 || facilities.pacsize_in > X25_PS4096)
return -EINVAL; return -EINVAL;
if (facilities.pacsize_out < X25_PS16 || facilities.pacsize_out > X25_PS4096) if (facilities.pacsize_out < X25_PS16 || facilities.pacsize_out > X25_PS4096)
return -EINVAL; return -EINVAL;
if (sk->protinfo.x25->neighbour->extended) { if (sk->state == TCP_CLOSE || sk->protinfo.x25->neighbour->extended)
{
if (facilities.winsize_in < 1 || facilities.winsize_in > 127) if (facilities.winsize_in < 1 || facilities.winsize_in > 127)
return -EINVAL; return -EINVAL;
if (facilities.winsize_out < 1 || facilities.winsize_out > 127) if (facilities.winsize_out < 1 || facilities.winsize_out > 127)
......
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