Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
27c44f56
Commit
27c44f56
authored
Nov 23, 2007
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Import 1.2.0
parent
39331b15
Changes
55
Show whitespace changes
Inline
Side-by-side
Showing
55 changed files
with
148 additions
and
123 deletions
+148
-123
CREDITS
CREDITS
+1
-6
Makefile
Makefile
+2
-2
arch/sparc/kernel/head.S
arch/sparc/kernel/head.S
+2
-2
arch/sparc/kernel/setup.c
arch/sparc/kernel/setup.c
+2
-2
drivers/block/README.sbpcd
drivers/block/README.sbpcd
+3
-3
drivers/block/cdu31a.c
drivers/block/cdu31a.c
+3
-3
drivers/block/floppy.c
drivers/block/floppy.c
+1
-0
drivers/block/sonycd535.c
drivers/block/sonycd535.c
+2
-2
drivers/char/ChangeLog
drivers/char/ChangeLog
+1
-1
drivers/char/console.c
drivers/char/console.c
+1
-0
drivers/char/mem.c
drivers/char/mem.c
+7
-6
drivers/net/3c501.c
drivers/net/3c501.c
+1
-1
drivers/net/sk_g16.c
drivers/net/sk_g16.c
+1
-1
drivers/net/slhc.c
drivers/net/slhc.c
+1
-1
drivers/scsi/53c7,8xx.scr
drivers/scsi/53c7,8xx.scr
+2
-2
drivers/scsi/53c8xx_d.h
drivers/scsi/53c8xx_d.h
+3
-3
drivers/scsi/Makefile
drivers/scsi/Makefile
+1
-1
drivers/scsi/in2000.c
drivers/scsi/in2000.c
+1
-1
drivers/scsi/qlogic.c
drivers/scsi/qlogic.c
+10
-2
drivers/scsi/scsi.h
drivers/scsi/scsi.h
+2
-2
drivers/sound/CHANGELOG
drivers/sound/CHANGELOG
+1
-1
drivers/sound/Readme.v30
drivers/sound/Readme.v30
+1
-1
drivers/sound/ad1848.c
drivers/sound/ad1848.c
+1
-1
drivers/sound/dmabuf.c
drivers/sound/dmabuf.c
+1
-1
drivers/sound/experimental.txt
drivers/sound/experimental.txt
+1
-1
drivers/sound/mpu401.c
drivers/sound/mpu401.c
+1
-1
drivers/sound/pss.c
drivers/sound/pss.c
+1
-1
fs/buffer.c
fs/buffer.c
+1
-1
fs/ext2/ialloc.c
fs/ext2/ialloc.c
+1
-1
fs/hpfs/hpfs.h
fs/hpfs/hpfs.h
+1
-1
fs/isofs/rock.c
fs/isofs/rock.c
+12
-1
fs/nfs/inode.c
fs/nfs/inode.c
+1
-1
include/asm-i386/pgtable.h
include/asm-i386/pgtable.h
+1
-0
include/asm-sparc/psr.h
include/asm-sparc/psr.h
+1
-1
include/asm-sparc/wim.h
include/asm-sparc/wim.h
+1
-1
include/linux/ext2_fs.h
include/linux/ext2_fs.h
+2
-0
include/linux/ip_fw.h
include/linux/ip_fw.h
+2
-2
include/linux/pci.h
include/linux/pci.h
+20
-4
include/linux/sched.h
include/linux/sched.h
+3
-0
include/linux/soundcard.h
include/linux/soundcard.h
+1
-1
kernel/exit.c
kernel/exit.c
+1
-0
kernel/sys.c
kernel/sys.c
+1
-5
mm/swap.c
mm/swap.c
+4
-3
net/inet/af_inet.c
net/inet/af_inet.c
+6
-3
net/inet/datagram.c
net/inet/datagram.c
+1
-1
net/inet/dev.c
net/inet/dev.c
+1
-1
net/inet/devinet.c
net/inet/devinet.c
+1
-1
net/inet/icmp.c
net/inet/icmp.c
+1
-1
net/inet/ip.c
net/inet/ip.c
+3
-3
net/inet/ip_fw.c
net/inet/ip_fw.c
+9
-24
net/inet/proc.c
net/inet/proc.c
+1
-1
net/inet/rarp.c
net/inet/rarp.c
+1
-1
net/inet/tcp.c
net/inet/tcp.c
+13
-13
net/socket.c
net/socket.c
+2
-2
net/unix/sock.c
net/unix/sock.c
+2
-2
No files found.
CREDITS
View file @
27c44f56
...
...
@@ -315,13 +315,8 @@ S: Atlanta, Georgia 30332
S: USA
N: Andrew Haylett
E: ajh@
gec-mrc
.co.uk
E: ajh@
primag
.co.uk
D: Selection mechanism
S: GEC-Marconi Research Centre
S: West Hanningfield Road
S: Great Baddow
S: CM2 8HN
S: United Kingdom
N: Jochen Hein
E: Hein@Informatik.TU-Clausthal.de
...
...
Makefile
View file @
27c44f56
VERSION
=
1
PATCHLEVEL
=
1
SUBLEVEL
=
95
PATCHLEVEL
=
2
SUBLEVEL
=
0
ARCH
=
i386
...
...
arch/sparc/kernel/head.S
View file @
27c44f56
...
...
@@ -664,7 +664,7 @@ is_sun4c: ! OK, this is a sun4c, yippie
*/
/*
paul
@
sfe.com.au
*/
/*
V3
doesn
t
have
printf
..
And
I
don
t
really
feel
like
doing
the
formatting
/*
V3
doesn
't have printf.. And I don'
t
really
feel
like
doing
the
formatting
*
myself
..
So
we
miss
out
on
some
messages
(
for
now
)
.
*/
ld
[%
g7
+
0x4
],
%
o0
...
...
@@ -808,7 +808,7 @@ rest_of_boot:
WRITE_PAUSE
!
see
above
/*
I
keep
the
timer
interrupt
on
so
that
BogoMIPS
works
and
the
prom
*
keeps
updating
it
'
s "jiffies" counter. 100HZ clock on sparcstations.
*
keeps
updating
its
"jiffies"
counter
.
100
HZ
clock
on
sparcstations
.
*/
/*
If
gas
wasn
't so dumb, I could use or'
d
macros
in
this
next
...
...
arch/sparc/kernel/setup.c
View file @
27c44f56
...
...
@@ -53,7 +53,7 @@ unsigned long bios32_init(unsigned long memory_start, unsigned long memory_end)
/* Lame prom console routines, gets registered below. Thanks for the
* tip Linus. First comes the V0 prom routine, then the V3 version
* writen by Paul Hatchman (paul@sfe.com.au).
* writ
t
en by Paul Hatchman (paul@sfe.com.au).
*/
void
sparc_console_print
(
const
char
*
p
)
...
...
@@ -89,7 +89,7 @@ void sparc_console_print_v3 (const char *p)
/* This routine will in the future do all the nasty prom stuff
* to probe for the mmu type and it
'
s parameters, etc. This will
* to probe for the mmu type and its parameters, etc. This will
* also be where SMP things happen plus the Sparc specific memory
* physical memory probe as on the alpha.
*/
...
...
drivers/block/README.sbpcd
View file @
27c44f56
...
...
@@ -58,7 +58,7 @@ Up to 4 drives per interface card, and up to 4 interface cards are supported.
All supported drive families can be mixed, but the CR-521 drives are
hard-wired to drive ID 0. The drives have to use different drive IDs, and each
drive has to get a unique minor number (0...3), corresponding indirectly to
it
'
s drive ID.
its drive ID.
The drive IDs may be selected freely from 0 to 3 - they do not have to be in
consecutive order.
...
...
@@ -132,7 +132,7 @@ To install:
The "no-sound" board from OmniCd needs the "SBPRO 1" setup.
All other "no-sound" boards need the "SBPRO 0" setup.
The Spea Media FX sound card needs "SBPRO 2".
sbpcd.c holds some examples in it
'
s auto-probe list.
sbpcd.c holds some examples in its auto-probe list.
If you configure "SBPRO" wrong, the playing of audio CDs will work,
but you will not be able to mount a data CD.
a2. Tell the address of your CDROM_PORT (not of the sound port).
...
...
@@ -165,7 +165,7 @@ To install:
The driver no longer uses the "AT bus style" device numbering; the SCSI
scheme is used now; that means, the "first found" drive gets MINOR 0
(regardless to it
'
s jumpered ID), the "next found" (at the same cable)
(regardless to its jumpered ID), the "next found" (at the same cable)
gets MINOR 1, ...
For a second interface board, you have to make nodes like
...
...
drivers/block/cdu31a.c
View file @
27c44f56
...
...
@@ -1384,7 +1384,7 @@ do_cdu31a_request(void)
cdu31a_request_startover:
/*
* The beginning here is stolen from the hard disk driver. I hope
* its right.
* it
'
s right.
*/
if
(
!
(
CURRENT
)
||
CURRENT
->
dev
<
0
)
{
...
...
@@ -2570,7 +2570,7 @@ scd_open(struct inode *inode,
it. It seems to mean the drive has already done the operation. */
if
((
res_size
<
2
)
||
((
res_reg
[
0
]
!=
0
)
&&
(
res_reg
[
1
]
!=
0
)))
{
/* If the drive is already playing, its ok. */
/* If the drive is already playing, it
'
s ok. */
if
((
res_reg
[
1
]
==
SONY_AUDIO_PLAYING_ERR
)
||
(
res_reg
[
1
]
==
0
))
{
goto
drive_spinning
;
...
...
@@ -2725,7 +2725,7 @@ get_drive_configuration(unsigned short base_io,
if
(
read_status_register
()
!=
0xff
)
{
/*
* Reset the drive and wait for attention from it (to say its reset).
* Reset the drive and wait for attention from it (to say it
'
s reset).
* If you don't wait, the next operation will probably fail.
*/
reset_drive
();
...
...
drivers/block/floppy.c
View file @
27c44f56
...
...
@@ -2325,6 +2325,7 @@ static int make_raw_rw_request(void)
/* claim buffer track if needed */
if
(
buffer_track
!=
raw_cmd
.
track
||
/* bad track */
buffer_drive
!=
current_drive
||
/* bad drive */
sector_t
>
buffer_max
||
sector_t
<
buffer_min
||
((
CT
(
COMMAND
)
==
FD_READ
||
(
aligned_sector_t
==
sector_t
&&
CURRENT
->
nr_sectors
>=
ssize
))
&&
...
...
drivers/block/sonycd535.c
View file @
27c44f56
...
...
@@ -715,7 +715,7 @@ spin_up_drive(Byte status[2])
if
(
do_sony_cmd
(
&
cmd
,
1
,
status
,
NULL
,
0
,
0
)
!=
0
)
return
TIME_OUT
;
if
((
status
[
0
]
&
SONY535_STATUS1_NOT_SPINNING
)
==
0
)
return
0
;
/* its already spinning */
return
0
;
/* it
'
s already spinning */
/* otherwise, give the spin-up command */
cmd
=
SONY535_SPIN_UP
;
...
...
@@ -818,7 +818,7 @@ do_cdu535_request(void)
while
(
1
)
{
/*
* The beginning here is stolen from the hard disk driver. I hope
* its right.
* it
'
s right.
*/
if
(
!
(
CURRENT
)
||
CURRENT
->
dev
<
0
)
{
return
;
...
...
drivers/char/ChangeLog
View file @
27c44f56
...
...
@@ -277,7 +277,7 @@ Fri Sep 16 08:13:25 1994 Theodore Y. Ts'o (tytso@rt-11)
until after block_til_ready has returned successfully.
Modify block_til_ready to check the normal_termios
structure directly, so it doesn't rely on termios being
set before its called.
set before it
'
s called.
Thu Sep 15 23:34:01 1994 Theodore Y. Ts'o (tytso@rt-11)
...
...
drivers/char/console.c
View file @
27c44f56
...
...
@@ -1005,6 +1005,7 @@ void invert_screen(int currcons, int offset, int count, int viewed)
unsigned
short
old
=
scr_readw
(
p
);
scr_writew
(
old
^
(((
old
&
0x0700
)
==
0x0100
)
?
0x7000
:
0x7700
),
p
);
p
++
;
}
}
...
...
drivers/char/mem.c
View file @
27c44f56
...
...
@@ -19,6 +19,7 @@
#include <asm/segment.h>
#include <asm/io.h>
#include <asm/pgtable.h>
#ifdef CONFIG_SOUND
extern
long
soundcard_init
(
long
mem_start
);
...
...
@@ -88,15 +89,15 @@ static int mmap_mem(struct inode * inode, struct file * file, struct vm_area_str
{
if
(
vma
->
vm_offset
&
~
PAGE_MASK
)
return
-
ENXIO
;
#if
0 &&
defined(__i386__)
#if defined(__i386__)
/*
* hmm.. This disables high-memory caching, as the XFree86 team
wondered
*
about that at one time. It doesn't seem to make a difference, though:
*
the surround logic should disable caching for the high device addresses
* a
nyway
.
* hmm.. This disables high-memory caching, as the XFree86 team
*
wondered about that at one time.
*
The surround logic should disable caching for the high device
* a
ddresses anyway, but right now this seems still needed
.
*/
if
(
x86
>
3
&&
vma
->
vm_offset
>=
high_memory
)
vma->vm_page_prot |=
PAGE_PCD;
pgprot_val
(
vma
->
vm_page_prot
)
|=
_
PAGE_PCD
;
#endif
if
(
remap_page_range
(
vma
->
vm_start
,
vma
->
vm_offset
,
vma
->
vm_end
-
vma
->
vm_start
,
vma
->
vm_page_prot
))
return
-
EAGAIN
;
...
...
drivers/net/3c501.c
View file @
27c44f56
...
...
@@ -29,7 +29,7 @@
transmit a packet. A third command mode exists when you are setting
things up.
3] If it
s transmitting it
s not receiving and vice versa. In fact the
3] If it
's transmitting it'
s not receiving and vice versa. In fact the
time to get the board back into useful state after an operation is
quite large.
...
...
drivers/net/sk_g16.c
View file @
27c44f56
...
...
@@ -721,7 +721,7 @@ int SK_probe(struct device *dev, short ioaddr)
outb
(
SK_ROM_RAM_OFF
,
SK_POS2
);
/* Boot_ROM + RAM off */
/* We found a Boot_ROM and its gone. Set RAM address on
/* We found a Boot_ROM and it
'
s gone. Set RAM address on
* Boot_ROM address.
*/
...
...
drivers/net/slhc.c
View file @
27c44f56
...
...
@@ -44,7 +44,7 @@
* Use ip_fast_csum from ip.h
*
*
* This module is a difficult issue. It
s clearly inet code but it
s also clearly
* This module is a difficult issue. It
's clearly inet code but it'
s also clearly
* driver code belonging close to PPP and SLIP
*/
...
...
drivers/scsi/53c7,8xx.scr
View file @
27c44f56
...
...
@@ -233,7 +233,7 @@ ABSOLUTE msg_buf = 0
ABSOLUTE reselected_identify = 0
ABSOLUTE reselected_tag = 0
; Request sense command pointer, its a 6 byte command, should
; Request sense command pointer, it
'
s a 6 byte command, should
; be constant for all commands since we always want 16 bytes of
; sense and we don't need to change any fields as we did under
; SCSI-I when we actually cared about the LUN field.
...
...
@@ -830,7 +830,7 @@ reselected_not_end:
; XXX the ALU is only eight bits wide, and the assembler
; wont do the dirt work for us. As long as dsa_check_reselect
; is negative, we need to sign extend with 1 bits to the full
; 32 bit width o
s
the address.
; 32 bit width o
f
the address.
;
; A potential work around would be to have a known alignment
; of the DSA structure such that the base address plus
...
...
drivers/scsi/53c8xx_d.h
View file @
27c44f56
...
...
@@ -295,8 +295,8 @@ ABSOLUTE msg_buf = 0
ABSOLUTE reselected_identify = 0
ABSOLUTE reselected_tag = 0
; Request sense command pointer, its a 6 byte command, should
; be constant for all commands since we al
l
ays want 16 bytes of
; Request sense command pointer, it
'
s a 6 byte command, should
; be constant for all commands since we al
w
ays want 16 bytes of
; sense and we don't need to change any fields as we did under
; SCSI-I when we actually cared about the LUN field.
;EXTERNAL NCR53c7xx_sense ; Request sense command
...
...
@@ -314,7 +314,7 @@ ABSOLUTE reselected_tag = 0
;
; MODIFIES : SCRATCH, reconnect_dsa_head
;
; EXITS : al
l
ays passes control to schedule
; EXITS : al
w
ays passes control to schedule
ENTRY dsa_schedule
dsa_schedule:
...
...
drivers/scsi/Makefile
View file @
27c44f56
...
...
@@ -3,7 +3,7 @@
#
# Note! Dependencies are done automagically by 'make dep', which also
# removes any old dependencies. DON'T put your own dependencies here
# unless its something special (ie not a .c file).
# unless it
'
s something special (ie not a .c file).
#
.c.s
:
...
...
drivers/scsi/in2000.c
View file @
27c44f56
...
...
@@ -428,7 +428,7 @@ int in2000_queuecommand(Scsi_Cmnd * SCpnt, void (*done)(Scsi_Cmnd *))
bufflen
=
0
;
/*
* What it looks like. Boy did I get tired of reading it
'
s output.
* What it looks like. Boy did I get tired of reading its output.
*/
if
(
*
cmd
==
READ_10
||
*
cmd
==
WRITE_10
)
{
i
=
xscsi2int
((
cmd
+
1
));
...
...
drivers/scsi/qlogic.c
View file @
27c44f56
...
...
@@ -82,7 +82,7 @@
/* This is the sync transfer divisor, XTALFREQ/X will be the maximum
achievable data rate (assuming the rest of the system is capable
and set properly) */
#define SYNCXFRPD
4
#define SYNCXFRPD
5
/*(XTALFREQ/5)*/
/*****/
...
...
@@ -99,11 +99,19 @@
the assertion delay, also in 1/2 clocks (FASTCLK is ignored here). */
/*----------------------------------------------------------------*/
#if defined(MODULE) || defined(PCMCIA)
#ifdef PCMCIA
#define MODULE
#endif
#if defined(MODULE)
#include <linux/config.h>
#include <linux/module.h>
#endif
#ifdef PCMCIA
#undef MODULE
#endif
#include "../block/blk.h"
/* to get disk capacity */
#include <linux/kernel.h>
#include <linux/string.h>
...
...
drivers/scsi/scsi.h
View file @
27c44f56
...
...
@@ -392,8 +392,8 @@ struct scatterlist {
code does not need to do anything special to keep the commands alive. */
#define SCSI_RESET_SUCCESS 2
/* We called for a
n
reset of this bus, and we should get an interrupt
when this succeeds. Each command should get it
'
s own status
/* We called for a reset of this bus, and we should get an interrupt
when this succeeds. Each command should get its own status
passed up to scsi_done, but this has not happened yet. */
#define SCSI_RESET_PENDING 3
...
...
drivers/sound/CHANGELOG
View file @
27c44f56
...
...
@@ -91,7 +91,7 @@ Since 2.2
Since 2.1
- Preliminary support for SB16.
- The SB16 mixer is supported in it
'
s native mode.
- The SB16 mixer is supported in its native mode.
- Digitized voice capability up to 44.1 kHz/8 bit/mono
(16 bit and stereo support coming in the next release).
- Fixed some bugs in the digitized voice driver for PAS16.
...
...
drivers/sound/Readme.v30
View file @
27c44f56
...
...
@@ -138,7 +138,7 @@ distribute binaries compiled with soundcard.h of v3.X.
- The basic API usage is similar to the current one. There are some new
macros but the older ones should work as earlier. The most important
incompatibility is that the /dev/sequencer2 driver allocates voices itself.
The other one is that the application must send SEQ_START_TIMER() as it
'
s
The other one is that the application must send SEQ_START_TIMER() as its
first event. Otherwise the timer is not started and the application waits
infinitely.
...
...
drivers/sound/ad1848.c
View file @
27c44f56
...
...
@@ -683,7 +683,7 @@ ad1848_detect (int io_base)
* Check that the I/O address is in use.
*
* The bit 0x80 of the base I/O port is known to be 0 after the
* chip has performed it
'
s power on initialization. Just assume
* chip has performed its power on initialization. Just assume
* this has happened before the OS is starting.
*
* If the I/O address is unused, it typically returns 0xff.
...
...
drivers/sound/dmabuf.c
View file @
27c44f56
...
...
@@ -740,7 +740,7 @@ DMAbuf_outputintr (int dev, int event_type)
* buffer.
* 1 = DMA transfer done. Device doesn't have local buffer or it's
* empty now.
* 2 = No DMA transfer but the device has now more space in it
'
s local
* 2 = No DMA transfer but the device has now more space in its local
* buffer.
*/
...
...
drivers/sound/experimental.txt
View file @
27c44f56
...
...
@@ -127,7 +127,7 @@ less, depending on how much it needs time to do other things. The maximum
delay between writing a byte and the time when it finally plays is
at most 3 times the 'fragment_time'.
The delay depends on how much time the program needs to do it
'
s
The delay depends on how much time the program needs to do its
computations for the next sample (updating screen etc). If it's about
80% of the 'fragment_time' the game will run almost without delays. If it
uses more time, there is a risk that the audio buffer gets empty.
...
...
drivers/sound/mpu401.c
View file @
27c44f56
...
...
@@ -1209,7 +1209,7 @@ clocks2ticks (unsigned long clocks)
/*
* The MPU-401 supports just a limited set of possible timebase values.
* Since the applications require more choices, the driver has to
* program the HW to do it
'
s best and to convert between the HW and
* program the HW to do its best and to convert between the HW and
* actual timebases.
*/
...
...
drivers/sound/pss.c
View file @
27c44f56
...
...
@@ -159,7 +159,7 @@ pss_setaddr (int addr, int configAddr)
/*_____ pss_checkint
This function tests an interrupt number to see if
it is available. It takes the interrupt button
as it
'
s argument and returns TRUE if the interrupt
as its argument and returns TRUE if the interrupt
is ok.
*/
static
int
...
...
fs/buffer.c
View file @
27c44f56
...
...
@@ -714,7 +714,7 @@ struct buffer_head * getblk(dev_t dev, int block, int size)
bh
=
free_list
[
isize
];
remove_from_free_list
(
bh
);
/* OK, FINALLY we know that this buffer is the only one of it
'
s kind, */
/* OK, FINALLY we know that this buffer is the only one of its kind, */
/* and that it's unused (b_count=0), unlocked (b_lock=0), and clean */
bh
->
b_count
=
1
;
bh
->
b_dirt
=
0
;
...
...
fs/ext2/ialloc.c
View file @
27c44f56
...
...
@@ -358,7 +358,7 @@ struct inode * ext2_new_inode (const struct inode * dir, int mode)
else
{
/*
* Try to place the inode in it
'
s parent directory
* Try to place the inode in its parent directory
*/
i
=
dir
->
u
.
ext2_i
.
i_block_group
;
tmp
=
get_group_desc
(
sb
,
i
,
&
bh2
);
...
...
fs/hpfs/hpfs.h
View file @
27c44f56
...
...
@@ -259,7 +259,7 @@ struct hpfs_dirent {
unsigned
char
locality
;
/* 0=unk 1=seq 2=random 3=both */
unsigned
char
namelen
,
name
[
1
];
/* file name */
/* dnode_secno down; btree down pointer, if present,
follows name on next word boundary, or maybe it
's
follows name on next word boundary, or maybe it
precedes next dirent, which is on a word boundary. */
};
...
...
fs/isofs/rock.c
View file @
27c44f56
...
...
@@ -305,7 +305,18 @@ int parse_rock_ridge_inode(struct iso_directory_record * de,
{
int
high
,
low
;
high
=
isonum_733
(
rr
->
u
.
PN
.
dev_high
);
low
=
isonum_733
(
rr
->
u
.
PN
.
dev_low
);
inode
->
i_rdev
=
((
high
<<
8
)
|
(
low
&
0xff
))
&
0xffff
;
/*
* The Rock Ridge standard specifies that if sizeof(dev_t) <=4,
* then the high field is unused, and the device number is completely
* stored in the low field. Some writers may ignore this subtlety,
* and as a result we test to see if the entire device number is
* stored in the low field, and use that.
*/
if
(
MINOR
(
low
)
!=
low
&&
high
==
0
)
{
inode
->
i_rdev
=
low
;
}
else
{
inode
->
i_rdev
=
MKDEV
(
high
,
low
);
}
};
break
;
case
SIG
(
'T'
,
'F'
):
...
...
fs/nfs/inode.c
View file @
27c44f56
...
...
@@ -161,7 +161,7 @@ void nfs_statfs(struct super_block *sb, struct statfs *buf)
put_fs_long
(
0
,
&
buf
->
f_files
);
put_fs_long
(
0
,
&
buf
->
f_ffree
);
/* We should really try to interrogate the remote server to find
it
'
s maximum name length here */
its maximum name length here */
put_fs_long
(
NAME_MAX
,
&
buf
->
f_namelen
);
}
...
...
include/asm-i386/pgtable.h
View file @
27c44f56
...
...
@@ -43,6 +43,7 @@
#define _PAGE_PRESENT 0x001
#define _PAGE_RW 0x002
#define _PAGE_USER 0x004
#define _PAGE_PCD 0x010
#define _PAGE_ACCESSED 0x020
#define _PAGE_DIRTY 0x040
#define _PAGE_COW 0x200
/* implemented in software (one of the AVL bits) */
...
...
include/asm-sparc/psr.h
View file @
27c44f56
/* psr.h: This file holds the macros for masking off various parts of
the processor status register on the Sparc. This is valid
for Version 8. On the V9 this is renamed to the PSTATE
register and it
'
s members are accessed as fields like
register and its members are accessed as fields like
PSTATE.PRIV for the current CPU privilege level.
Copyright (C) 1994 David S. Miller (davem@caip.rutgers.edu)
...
...
include/asm-sparc/wim.h
View file @
27c44f56
...
...
@@ -22,7 +22,7 @@
'rett' instruction. Privileged software is responsible for
updating this on trap fills/spills etc. Therefore if a 'save'
instruction is executed and it causes the Current Window
Pointer to equal a register window which has it
'
s bit set in
Pointer to equal a register window which has its bit set in
%wim we get a 'overflow' trap, a restore into such a register
invokes a window 'spill' trap.
*/
...
...
include/linux/ext2_fs.h
View file @
27c44f56
...
...
@@ -15,6 +15,8 @@
#ifndef _LINUX_EXT2_FS_H
#define _LINUX_EXT2_FS_H
#include <linux/types.h>
/*
* The second extended filesystem constants/structures
*/
...
...
include/linux/ip_fw.h
View file @
27c44f56
...
...
@@ -8,9 +8,9 @@
* Ported from BSD to Linux,
* Alan Cox 22/Nov/1994.
* Merged and included the FreeBSD-Current changes at Ugen's request
* (but hey its a lot cleaner now). Ugen would prefer in some ways
* (but hey it
'
s a lot cleaner now). Ugen would prefer in some ways
* we waited for his final product but since Linux 1.2.0 is about to
* appear it
s not practical - Read: It works, it
s not clean but please
* appear it
's not practical - Read: It works, it'
s not clean but please
* don't consider it to be his standard of finished work.
* Alan.
*
...
...
include/linux/pci.h
View file @
27c44f56
...
...
@@ -238,6 +238,8 @@ struct pci_class_type {
#define PCI_DEVICE_ID_INTEL_82375 0x0482
#define PCI_DEVICE_ID_INTEL_82434 0x04a3
#define PCI_DEVICE_ID_INTEL_82430 0x0486
#define PCI_DEVICE_ID_INTEL_82437 0x122d
#define PCI_DEVICE_ID_INTEL_82371 0x122e
#define PCI_VENDOR_ID_SMC 0x1042
#define PCI_DEVICE_ID_SMC_37C665 0x1000
...
...
@@ -267,6 +269,7 @@ struct pci_class_type {
#define PCI_VENDOR_ID_AL 0x10b9
#define PCI_DEVICE_ID_AL_M1449 0x1449
#define PCI_DEVICE_ID_AL_M1451 0x1451
#define PCI_DEVICE_ID_AL_M4803 0x5215
#define PCI_VENDOR_ID_TSENG 0x100c
#define PCI_DEVICE_ID_TSENG_W32P_2 0x3202
...
...
@@ -326,13 +329,19 @@ struct pci_class_type {
#define PCI_VENDOR_ID_HER 0xedd8
#define PCI_DEVICE_ID_HER_STING 0xa091
#define PCI_VENDOR_ID_ATRONICS 0x907f
#define PCI_DEVICE_ID_ATRONICS_2015 0x2015
#define PCI_VENDOR_ID_CT 0x102c
#define PCI_DEVICE_ID_CT_65545 0x00d8
struct
pci_vendor_type
{
unsigned
short
vendor_id
;
char
*
vendor_name
;
};
#define PCI_VENDOR_NUM 3
4
#define PCI_VENDOR_NUM 3
6
#define PCI_VENDOR_TYPE { \
{PCI_VENDOR_ID_NCR, "NCR"}, \
{PCI_VENDOR_ID_ADAPTEC, "Adaptec"}, \
...
...
@@ -367,7 +376,9 @@ struct pci_vendor_type {
{PCI_VENDOR_ID_IMS, "IMS"}, \
{PCI_VENDOR_ID_ZEINET, "ZeiNet"}, \
{PCI_VENDOR_ID_EF, "Efficient Networks"}, \
{PCI_VENDOR_ID_HER, "Hercules"} \
{PCI_VENDOR_ID_HER, "Hercules"}, \
{PCI_VENDOR_ID_ATRONICS, "Atronics"}, \
{PCI_VENDOR_ID_CT, "Chips & Technologies"} \
}
...
...
@@ -386,7 +397,7 @@ struct pci_device_type {
char
*
device_name
;
};
#define PCI_DEVICE_NUM
66
#define PCI_DEVICE_NUM
71
#define PCI_DEVICE_TYPE { \
{0xff, PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C810, "53c810"}, \
{0xff, PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C815, "53c815"}, \
...
...
@@ -417,6 +428,8 @@ struct pci_device_type {
{0xff, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82375, "82375EB"}, \
{0x00, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82434, "82434LX Mercury/Neptune"}, \
{0xff, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82430, "82430ZX Aries"}, \
{0xff, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82437, "82437FX Triton"}, \
{0xff, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371, "82371FB"}, \
{0xff, PCI_VENDOR_ID_SMC, PCI_DEVICE_ID_SMC_37C665, "FDC 37C665"}, \
{0xff, PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_M32, "Mach 32"}, \
{0xff, PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_M64, "Mach 64"}, \
...
...
@@ -430,6 +443,7 @@ struct pci_device_type {
{0xff, PCI_VENDOR_ID_AI, PCI_DEVICE_ID_AI_M1435, "M1435"}, \
{0xff, PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1449, "M1449"}, \
{0xff, PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1451, "M1451"}, \
{0xff, PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M4803, "MS4803"}, \
{0xff, PCI_VENDOR_ID_TSENG, PCI_DEVICE_ID_TSENG_W32P_2, "ET4000W32P"}, \
{0xff, PCI_VENDOR_ID_TSENG, PCI_DEVICE_ID_TSENG_W32P_b, "ET4000W32P rev B"}, \
{0xff, PCI_VENDOR_ID_TSENG, PCI_DEVICE_ID_TSENG_W32P_c, "ET4000W32P rev C"}, \
...
...
@@ -453,7 +467,9 @@ struct pci_device_type {
{0xff, PCI_VENDOR_ID_IMS, PCI_DEVICE_ID_IMS_8849, "8849"}, \
{0xff, PCI_VENDOR_ID_ZEINET, PCI_DEVICE_ID_ZEINET_1221, "1221"}, \
{0xff, PCI_VENDOR_ID_EF, PCI_DEVICE_ID_EF_ATM, "155P-MF1"}, \
{0xff, PCI_VENDOR_ID_HER, PCI_DEVICE_ID_HER_STING, "Stingray"} \
{0xff, PCI_VENDOR_ID_HER, PCI_DEVICE_ID_HER_STING, "Stingray"}, \
{0xff, PCI_VENDOR_ID_ATRONICS, PCI_DEVICE_ID_ATRONICS_2015, "IDE-2015PL"}, \
{0xff, PCI_VENDOR_ID_CT, PCI_DEVICE_ID_CT_65545, "65545"} \
}
/* An item of this structure has the following meaning */
...
...
include/linux/sched.h
View file @
27c44f56
...
...
@@ -199,6 +199,9 @@ struct task_struct {
#define PF_PTRACED 0x00000010
/* set if ptrace (0) has been called. */
#define PF_TRACESYS 0x00000020
/* tracing system calls */
#define PF_STARTING 0x00000100
/* being created */
#define PF_EXITING 0x00000200
/* getting shut down */
/*
* cloning flags:
*/
...
...
include/linux/soundcard.h
View file @
27c44f56
...
...
@@ -348,7 +348,7 @@ struct patmgr_info { /* Note! size must be < 4k since kmalloc() is used */
*
* This driver uses just the numbers 0 to 31 to store both
* the LSB and MSB. The controller value is a unsigned short
* and it
'
s valid range is between 0 and 16383 (0x0000 to 0x3fff).
* and its valid range is between 0 and 16383 (0x0000 to 0x3fff).
* The driver sends the controller value using two messages when
* necessary.
*/
...
...
kernel/exit.c
View file @
27c44f56
...
...
@@ -380,6 +380,7 @@ NORET_TYPE void do_exit(long code)
intr_count
=
0
;
}
fake_volatile:
current
->
flags
|=
PF_EXITING
;
sem_exit
();
exit_mmap
(
current
);
free_page_tables
(
current
);
...
...
kernel/sys.c
View file @
27c44f56
...
...
@@ -172,12 +172,8 @@ void ctrl_alt_del(void)
{
if
(
C_A_D
)
hard_reset_now
();
else
{
int
i
;
else
send_sig
(
SIGINT
,
task
[
1
],
1
);
for
(
i
=
2
;
i
<
NR_TASKS
;
i
++
)
send_sig
(
SIGHUP
,
task
[
i
],
1
);
}
}
...
...
mm/swap.c
View file @
27c44f56
...
...
@@ -340,12 +340,13 @@ static inline int try_to_swap_out(struct vm_area_struct* vma, unsigned long addr
if
(
pte_dirty
(
pte
))
{
if
(
mem_map
[
MAP_NR
(
page
)]
!=
1
)
return
0
;
if
(
vma
->
vm_ops
&&
vma
->
vm_ops
->
swapout
)
{
vma
->
vm_task
->
mm
->
rss
--
;
if
(
vma
->
vm_ops
&&
vma
->
vm_ops
->
swapout
)
vma
->
vm_ops
->
swapout
(
vma
,
address
-
vma
->
vm_start
,
page_table
);
else
{
}
else
{
if
(
!
(
entry
=
get_swap_page
()))
return
0
;
vma
->
vm_task
->
mm
->
rss
--
;
pte_val
(
*
page_table
)
=
entry
;
invalidate
();
write_swap_page
(
entry
,
(
char
*
)
page
);
...
...
net/inet/af_inet.c
View file @
27c44f56
...
...
@@ -270,7 +270,7 @@ void destroy_sock(struct sock *sk)
sk
->
inuse
=
1
;
/* just to be safe. */
/* Incase it's sleeping somewhere. */
/* In
case it's sleeping somewhere. */
if
(
!
sk
->
dead
)
sk
->
write_space
(
sk
);
...
...
@@ -778,9 +778,12 @@ static int inet_release(struct socket *sock, struct socket *peer)
* If linger is set, we don't return until the close
* is complete. Other wise we return immediately. The
* actually closing is done the same either way.
*
* If the close is due to the process exiting, we never
* linger..
*/
if
(
sk
->
linger
==
0
)
if
(
sk
->
linger
==
0
||
(
current
->
flags
&
PF_EXITING
))
{
sk
->
prot
->
close
(
sk
,
0
);
sk
->
dead
=
1
;
...
...
@@ -1019,7 +1022,7 @@ static int inet_accept(struct socket *sock, struct socket *newsock, int flags)
/*
* We've been passed an extra socket.
* We need to free it up because the tcp module creates
* it
'
s own when it accepts one.
* its own when it accepts one.
*/
if
(
newsock
->
data
)
{
...
...
net/inet/datagram.c
View file @
27c44f56
...
...
@@ -155,7 +155,7 @@ void skb_free_datagram(struct sk_buff *skb)
return
;
}
/* See if it needs destroying */
if
(
!
skb
->
next
&&
!
skb
->
prev
)
/* Been dequeued by someone - ie its read */
if
(
!
skb
->
next
&&
!
skb
->
prev
)
/* Been dequeued by someone - ie it
'
s read */
kfree_skb
(
skb
,
FREE_READ
);
restore_flags
(
flags
);
}
...
...
net/inet/dev.c
View file @
27c44f56
...
...
@@ -417,7 +417,7 @@ void dev_queue_xmit(struct sk_buff *skb, struct device *dev, int pri)
}
/*
* Transmission failed, put skb back into a list. Once on the list its safe and
* Transmission failed, put skb back into a list. Once on the list it
'
s safe and
* no longer device locked (it can be freed safely from the device queue)
*/
cli
();
...
...
net/inet/devinet.c
View file @
27c44f56
...
...
@@ -181,7 +181,7 @@ unsigned long ip_my_addr(void)
/*
* Find an interface that can handle addresses for a certain address.
*
* This needs optimising, since its relatively trivial to collapse
* This needs optimising, since it
'
s relatively trivial to collapse
* the two loops into one.
*/
...
...
net/inet/icmp.c
View file @
27c44f56
...
...
@@ -742,7 +742,7 @@ int icmp_rcv(struct sk_buff *skb1, struct device *dev, struct options *opt,
case
ICMP_ADDRESSREPLY
:
/*
* We ought to set our netmask on receiving this, but
* experience shows its a waste of effort.
* experience shows it
'
s a waste of effort.
*/
icmp_statistics
.
IcmpInAddrMaskReps
++
;
kfree_skb
(
skb1
,
FREE_READ
);
...
...
net/inet/ip.c
View file @
27c44f56
...
...
@@ -1133,7 +1133,7 @@ void ip_fragment(struct sock *sk, struct sk_buff *skb, struct device *dev, int i
if
(
mtu
<
8
)
{
/* It's wrong but its better than nothing */
/* It's wrong but it
'
s better than nothing */
icmp_send
(
skb
,
ICMP_DEST_UNREACH
,
ICMP_FRAG_NEEDED
,
dev
->
mtu
,
dev
);
ip_statistics
.
IpFragFails
++
;
return
;
...
...
@@ -1145,7 +1145,7 @@ void ip_fragment(struct sock *sk, struct sk_buff *skb, struct device *dev, int i
/*
* The initial offset is 0 for a complete frame. When
* fragmenting fragments its wherever this one starts.
* fragmenting fragments it
'
s wherever this one starts.
*/
if
(
is_frag
&
2
)
...
...
@@ -1434,7 +1434,7 @@ static void ip_forward(struct sk_buff *skb, struct device *dev, int is_frag)
/*
* Map service types to priority. We lie about
* throughput being low priority, but its a good
* throughput being low priority, but it
'
s a good
* choice to help improve general usage.
*/
if
(
iph
->
tos
&
IPTOS_LOWDELAY
)
...
...
net/inet/ip_fw.c
View file @
27c44f56
...
...
@@ -11,9 +11,9 @@
* Zeroing /proc and other additions
* Jos Vos 4/Feb/1995.
* Merged and included the FreeBSD-Current changes at Ugen's request
* (but hey its a lot cleaner now). Ugen would prefer in some ways
* (but hey it
'
s a lot cleaner now). Ugen would prefer in some ways
* we waited for his final product but since Linux 1.2.0 is about to
* appear it
s not practical - Read: It works, it
s not clean but please
* appear it
's not practical - Read: It works, it'
s not clean but please
* don't consider it to be his standard of finished work.
* Alan Cox 12/Feb/1995
*
...
...
@@ -193,7 +193,7 @@ int ip_fw_chk(struct iphdr *ip, struct device *rif, struct ip_fw *chain, int pol
dprintf1
(
"TCP "
);
src_port
=
ntohs
(
tcp
->
source
);
dst_port
=
ntohs
(
tcp
->
dest
);
if
(
tcp
->
syn
)
if
(
tcp
->
syn
&&
!
tcp
->
ack
)
notcpsyn
=
0
;
/* We *DO* have SYN, value FALSE */
prt
=
IP_FW_F_TCP
;
break
;
...
...
@@ -930,38 +930,23 @@ static int ip_chain_procinfo(int stage, char *buffer, char **start,
#ifdef CONFIG_IP_ACCT
int
ip_acct_procinfo
(
char
*
buffer
,
char
**
start
,
off_t
offset
,
int
length
)
int
ip_acct_procinfo
(
char
*
buffer
,
char
**
start
,
off_t
offset
,
int
length
,
int
reset
)
{
return
ip_chain_procinfo
(
IP_INFO_ACCT
,
buffer
,
start
,
offset
,
length
,
0
);
}
int
ip_acct0_procinfo
(
char
*
buffer
,
char
**
start
,
off_t
offset
,
int
length
)
{
return
ip_chain_procinfo
(
IP_INFO_ACCT
,
buffer
,
start
,
offset
,
length
,
1
);
return
ip_chain_procinfo
(
IP_INFO_ACCT
,
buffer
,
start
,
offset
,
length
,
reset
);
}
#endif
#ifdef CONFIG_IP_FIREWALL
int
ip_fw_blk_procinfo
(
char
*
buffer
,
char
**
start
,
off_t
offset
,
int
length
)
{
return
ip_chain_procinfo
(
IP_INFO_BLK
,
buffer
,
start
,
offset
,
length
,
0
);
}
int
ip_fw_blk0_procinfo
(
char
*
buffer
,
char
**
start
,
off_t
offset
,
int
length
)
{
return
ip_chain_procinfo
(
IP_INFO_BLK
,
buffer
,
start
,
offset
,
length
,
1
);
}
int
ip_fw_fwd_procinfo
(
char
*
buffer
,
char
**
start
,
off_t
offset
,
int
length
)
int
ip_fw_blk_procinfo
(
char
*
buffer
,
char
**
start
,
off_t
offset
,
int
length
,
int
reset
)
{
return
ip_chain_procinfo
(
IP_INFO_
FWD
,
buffer
,
start
,
offset
,
length
,
0
);
return
ip_chain_procinfo
(
IP_INFO_
BLK
,
buffer
,
start
,
offset
,
length
,
reset
);
}
int
ip_fw_fwd
0_procinfo
(
char
*
buffer
,
char
**
start
,
off_t
offset
,
int
length
)
int
ip_fw_fwd
_procinfo
(
char
*
buffer
,
char
**
start
,
off_t
offset
,
int
length
,
int
reset
)
{
return
ip_chain_procinfo
(
IP_INFO_FWD
,
buffer
,
start
,
offset
,
length
,
1
);
return
ip_chain_procinfo
(
IP_INFO_FWD
,
buffer
,
start
,
offset
,
length
,
reset
);
}
#endif
net/inet/proc.c
View file @
27c44f56
...
...
@@ -115,7 +115,7 @@ get__netinfo(struct proto *pro, char *buffer, int format, char **start, off_t of
break
;
}
sti
();
/* We only turn interrupts back on for a moment, but because the interrupt queues anything built up
before this will clear before we jump back and cli, so its not as bad as it looks */
before this will clear before we jump back and cli, so it
'
s not as bad as it looks */
if
(
pos
>
offset
+
length
)
break
;
}
...
...
net/inet/rarp.c
View file @
27c44f56
...
...
@@ -152,7 +152,7 @@ int rarp_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt)
unsigned
char
*
sha
,
*
tha
;
/* s for "source", t for "target" */
/*
* If this test doesn't pass, its not IP, or we should ignore it anyway
* If this test doesn't pass, it
'
s not IP, or we should ignore it anyway
*/
if
(
rarp
->
ar_hln
!=
dev
->
addr_len
||
dev
->
type
!=
ntohs
(
rarp
->
ar_hrd
)
...
...
net/inet/tcp.c
View file @
27c44f56
...
...
@@ -107,7 +107,7 @@
* Alan Cox : Spurious resets on shutdown.
* Alan Cox : Giant 15 minute/60 second timer error
* Alan Cox : Small whoops in selecting before an accept.
* Alan Cox : Kept the state trace facility since its
* Alan Cox : Kept the state trace facility since it
'
s
* handy for debugging.
* Alan Cox : More reset handler fixes.
* Alan Cox : Started rewriting the code based on the RFC's
...
...
@@ -272,7 +272,7 @@ static __inline__ void tcp_set_state(struct sock *sk, int state)
if
(
sk
->
debug
)
printk
(
"TCP sk=%p, State %s -> %s
\n
"
,
sk
,
statename
[
sk
->
state
],
statename
[
state
]);
#endif
/* This is a hack but it doesn't occur often and its going to
/* This is a hack but it doesn't occur often and it
'
s going to
be a real to fix nicely */
if
(
state
==
TCP_ESTABLISHED
&&
sk
->
state
==
TCP_SYN_RECV
)
...
...
@@ -1138,7 +1138,7 @@ static void tcp_send_skb(struct sock *sk, struct sk_buff *skb)
if
(
size
==
sizeof
(
struct
tcphdr
))
{
/* If it
s got a syn or fin it
s notionally included in the size..*/
/* If it
's got a syn or fin it'
s notionally included in the size..*/
if
(
!
th
->
syn
&&
!
th
->
fin
)
{
printk
(
"tcp_send_skb: attempt to queue a bogon.
\n
"
);
...
...
@@ -1312,7 +1312,7 @@ static void tcp_send_ack(unsigned long sequence, unsigned long ack,
{
/*
* Force it to send an ack. We don't have to do this
* (ACK is unreliable) but its much better use of
* (ACK is unreliable) but it
'
s much better use of
* bandwidth on slow links to send a spare ack than
* resend packets.
*/
...
...
@@ -1612,7 +1612,7 @@ static int tcp_write(struct sock *sk, unsigned char *from,
if
(
copy
<
sk
->
mss
&&
!
(
flags
&
MSG_OOB
))
{
/*
* We will release the socket incase we sleep here.
* We will release the socket in
case we sleep here.
*/
release_sock
(
sk
);
/*
...
...
@@ -1626,7 +1626,7 @@ static int tcp_write(struct sock *sk, unsigned char *from,
else
{
/*
* We will release the socket incase we sleep here.
* We will release the socket in
case we sleep here.
*/
release_sock
(
sk
);
skb
=
prot
->
wmalloc
(
sk
,
copy
+
prot
->
max_header
,
0
,
GFP_KERNEL
);
...
...
@@ -2413,7 +2413,7 @@ void tcp_shutdown(struct sock *sk, int how)
return
;
/*
* If we've already sent a FIN, or its a closed state
* If we've already sent a FIN, or it
'
s a closed state
*/
if
(
sk
->
state
==
TCP_FIN_WAIT1
||
...
...
@@ -3355,7 +3355,7 @@ extern __inline__ int tcp_ack(struct sock *sk, struct tcphdr *th, unsigned long
/*
* If our packet is before the ack sequence we can
* discard it as its confirmed to have arrived the other end.
* discard it as it
'
s confirmed to have arrived the other end.
*/
if
(
before
(
sk
->
send_head
->
h
.
seq
,
ack
+
1
))
...
...
@@ -3837,13 +3837,13 @@ extern __inline__ int tcp_data(struct sk_buff *skb, struct sock *sk,
* cope with it.
*/
if
(
skb
->
len
)
/* We don't care if its just an ack or
if
(
skb
->
len
)
/* We don't care if it
'
s just an ack or
a keepalive/window probe */
{
new_seq
=
th
->
seq
+
skb
->
len
+
th
->
syn
;
/* Right edge of _data_ part of frame */
/* Do this the way 4.4BSD treats it. Not what I'd
regard as the meaning of the spec but its what BSD
regard as the meaning of the spec but it
'
s what BSD
does and clearly they know everything 8) */
/*
...
...
@@ -4537,7 +4537,7 @@ int tcp_rcv(struct sk_buff *skb, struct device *dev, struct options *opt,
sk
=
get_sock
(
&
tcp_prot
,
th
->
dest
,
saddr
,
th
->
source
,
daddr
);
/*
* If this socket has got a reset its to all intents and purposes
* If this socket has got a reset it
'
s to all intents and purposes
* really dead. Count closed sockets as dead.
*
* Note: BSD appears to have a bug here. A 'closed' TCP in BSD
...
...
@@ -4698,7 +4698,7 @@ int tcp_rcv(struct sk_buff *skb, struct device *dev, struct options *opt,
/* Crossed SYN or previous junk segment */
if
(
th
->
ack
)
{
/* We got an ack, but its not a good ack */
/* We got an ack, but it
'
s not a good ack */
if
(
!
tcp_ack
(
sk
,
th
,
saddr
,
len
))
{
/* Reset the ack - its an ack from a
...
...
@@ -4721,7 +4721,7 @@ int tcp_rcv(struct sk_buff *skb, struct device *dev, struct options *opt,
return
0
;
}
/*
* Ok.. its good. Set up sequence numbers and
* Ok.. it
'
s good. Set up sequence numbers and
* move to established.
*/
syn_ok
=
1
;
/* Don't reset this connection for the syn */
...
...
net/socket.c
View file @
27c44f56
...
...
@@ -406,7 +406,7 @@ static int sock_select(struct inode *inode, struct file *file, int sel_type, sel
}
/*
* We can't return errors to select, so its either yes or no.
* We can't return errors to select, so it
'
s either yes or no.
*/
if
(
sock
->
ops
&&
sock
->
ops
->
select
)
...
...
@@ -719,7 +719,7 @@ static int sock_socketpair(int family, int type, int protocol, unsigned long uso
/*
* Bind a name to a socket. Nothing much to do here since its
* Bind a name to a socket. Nothing much to do here since it
'
s
* the protocol's responsibility to handle the local address.
*
* We move the socket address to kernel space before we call
...
...
net/unix/sock.c
View file @
27c44f56
...
...
@@ -330,7 +330,7 @@ static int unix_proto_create(struct socket *sock, int protocol)
upd
->
protocol
=
protocol
;
upd
->
socket
=
sock
;
UN_DATA
(
sock
)
=
upd
;
upd
->
refcnt
=
1
;
/* Now its complete - bgm */
upd
->
refcnt
=
1
;
/* Now it
'
s complete - bgm */
return
(
0
);
}
...
...
@@ -430,7 +430,7 @@ static int unix_proto_bind(struct socket *sock, struct sockaddr *umyaddr,
i
=-
EADDRINUSE
;
return
(
i
);
}
upd
->
sockaddr_len
=
sockaddr_len
;
/* now its legal */
upd
->
sockaddr_len
=
sockaddr_len
;
/* now it
'
s legal */
return
(
0
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment