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
c3b8d39c
Commit
c3b8d39c
authored
Nov 23, 2007
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Import 1.1.59
parent
591f1652
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
217 additions
and
36 deletions
+217
-36
Makefile
Makefile
+1
-1
drivers/char/busmouse.c
drivers/char/busmouse.c
+2
-1
drivers/char/tty_io.c
drivers/char/tty_io.c
+2
-1
drivers/scsi/ChangeLog
drivers/scsi/ChangeLog
+143
-0
fs/open.c
fs/open.c
+3
-2
kernel/ksyms.c
kernel/ksyms.c
+2
-0
mm/swap.c
mm/swap.c
+27
-0
net/inet/tcp.c
net/inet/tcp.c
+37
-31
No files found.
Makefile
View file @
c3b8d39c
VERSION
=
1
PATCHLEVEL
=
1
SUBLEVEL
=
5
8
SUBLEVEL
=
5
9
ARCH
=
i386
...
...
drivers/char/busmouse.c
View file @
c3b8d39c
...
...
@@ -234,6 +234,7 @@ unsigned long bus_mouse_init(unsigned long kmem_start)
mouse
.
dx
=
0
;
mouse
.
dy
=
0
;
mouse
.
wait
=
NULL
;
printk
(
"Logitech Bus mouse detected and installed.
\n
"
);
printk
(
"Logitech Bus mouse detected and installed with IRQ %d.
\n
"
,
mouse_irq
);
return
kmem_start
;
}
drivers/char/tty_io.c
View file @
c3b8d39c
...
...
@@ -1463,12 +1463,13 @@ void do_SAK( struct tty_struct *tty)
tty_hangup
(
tty
);
#else
struct
task_struct
**
p
;
int
session
=
tty
->
session
;
int
session
;
int
i
;
struct
file
*
filp
;
if
(
!
tty
)
return
;
session
=
tty
->
session
;
if
(
tty
->
ldisc
.
flush_buffer
)
tty
->
ldisc
.
flush_buffer
(
tty
);
if
(
tty
->
driver
.
flush_buffer
)
...
...
drivers/scsi/ChangeLog
View file @
c3b8d39c
Tue Oct 11 08:47:39 1994 Eric Youngdale (eric@andante)
* Linux 1.1.54 released.
* Add third PCI chip id. [Drew]
* buslogic.c: Set BUSLOGIC_CMDLUN back to 1 [Eric].
Sun Oct 9 20:23:14 1994 Eric Youngdale (eric@andante)
* Linux 1.1.53 released.
* scsi.c: Do not allocate dma bounce buffers if we have exactly
16Mb.
Fri Sep 9 05:35:30 1994 Eric Youngdale (eric@andante)
* Linux 1.1.51 released.
* aha152x.c: Add support for disabling the parity check. Update
to version 1.4. [Juergen].
* seagate.c: Tweak debugging message.
Wed Aug 31 10:15:55 1994 Eric Youngdale (eric@andante)
* Linux 1.1.50 released.
* aha152x.c: Add eb800 for Vtech Platinum SMP boards. [Juergen].
* scsi.c: Add Quantum PD1225S to blacklist.
Fri Aug 26 09:38:45 1994 Eric Youngdale (eric@andante)
* Linux 1.1.49 released.
* sd.c: Fix bug when we were deleting the wrong entry if we
get an unsupported sector size device.
* sr.c: Another spelling patch.
Thu Aug 25 09:15:27 1994 Eric Youngdale (eric@andante)
* Linux 1.1.48 released.
* Throughout: Use new semantics for request_dma, as appropriate.
* sr.c: Print correct device number.
Sun Aug 21 17:49:23 1994 Eric Youngdale (eric@andante)
* Linux 1.1.47 released.
* NCR5380.c: Add support for LIMIT_TRANSFERSIZE.
* constants.h: Add prototype for print_Scsi_Cmnd.
* pas16.c: Some more minor tweaks. Test for Mediavision board.
Allow for disks > 1Gb. [Drew??]
* sr.c: Set SCpnt->transfersize.
Tue Aug 16 17:29:35 1994 Eric Youngdale (eric@andante)
* Linux 1.1.46 released.
* Throughout: More spelling fixups.
* buslogic.c: Add a few more fixups from Dave. Disk translation
mainly.
* pas16.c: Add a few patches (Drew?).
Thu Aug 11 20:45:15 1994 Eric Youngdale (eric@andante)
* Linux 1.1.44 released.
* hosts.c: Add type casts for scsi_init_malloc.
* scsicam.c: Add type cast.
Wed Aug 10 19:23:01 1994 Eric Youngdale (eric@andante)
* Linux 1.1.43 released.
* Throughout: Spelling cleanups. [??]
* aha152x.c, NCR53*.c, fdomain.c, g_NCR5380.c, pas16.c, seagate.c,
t128.c: Use request_irq, not irqaction. [??]
* aha1542.c: Move test for shost before we start to use shost.
* aha1542.c, aha1740.c, ultrastor.c, wd7000.c: Use new
calling sequence for request_irq.
* buslogic.c: Update from Dave Gentzel.
Tue Aug 9 09:32:59 1994 Eric Youngdale (eric@andante)
* Linux 1.1.42 released.
* NCR5380.c: Change NCR5380_print_status to static.
* seagate.c: A few more bugfixes. Only Drew knows what they are
for.
* ultrastor.c: Tweak some __asm__ directives so that it works
with newer compilers. [??]
Sat Aug 6 21:29:36 1994 Eric Youngdale (eric@andante)
* Linux 1.1.40 released.
* NCR5380.c: Return SCSI_RESET_WAKEUP from reset function.
* aha1542.c: Reset mailbox status after a bus device reset.
* constants.c: Fix typo (;;).
* g_NCR5380.c:
* pas16.c: Correct usage of NCR5380_init.
* scsi.c: Remove redunant (and unused variables).
* sd.c: Use memset to clear all of rscsi_disks before we use it.
* sg.c: Ditto, except for scsi_generics.
* sr.c: Ditto, except for scsi_CDs.
* st.c: Initialize STp->device.
* seagate.c: Fix bug. [Drew]
Thu Aug 4 08:47:27 1994 Eric Youngdale (eric@andante)
* Linux 1.1.39 released.
* Makefile: Fix typo in NCR53C7xx.
* st.c: Print correct number for device.
Sat Jul 9 15:01:03 1994 Eric Youngdale (eric@esp22)
More changes to eventually support loadable modules. Mainly
...
...
fs/open.c
View file @
c3b8d39c
...
...
@@ -312,6 +312,7 @@ asmlinkage int sys_fchown(unsigned int fd, uid_t user, gid_t group)
user
=
inode
->
i_uid
;
if
(
group
==
(
gid_t
)
-
1
)
group
=
inode
->
i_gid
;
newattrs
.
ia_mode
=
inode
->
i_mode
;
newattrs
.
ia_uid
=
user
;
newattrs
.
ia_gid
=
group
;
newattrs
.
ia_ctime
=
CURRENT_TIME
;
...
...
@@ -320,14 +321,14 @@ asmlinkage int sys_fchown(unsigned int fd, uid_t user, gid_t group)
* If the owner has been changed, remove the setuid bit
*/
if
(
user
!=
inode
->
i_uid
&&
inode
->
i_mode
&
S_ISUID
)
{
newattrs
.
ia_mode
=
inode
->
i_mode
&
~
S_ISUID
;
newattrs
.
ia_mode
&=
~
S_ISUID
;
newattrs
.
ia_valid
|=
ATTR_MODE
;
}
/*
* If the group has been changed, remove the setgid bit
*/
if
(
group
!=
inode
->
i_gid
&&
inode
->
i_mode
&
S_ISGID
)
{
newattrs
.
ia_mode
=
inode
->
i_mode
&
~
S_ISGID
;
newattrs
.
ia_mode
&=
~
S_ISGID
;
newattrs
.
ia_valid
|=
ATTR_MODE
;
}
inode
->
i_dirt
=
1
;
...
...
kernel/ksyms.c
View file @
c3b8d39c
...
...
@@ -87,6 +87,8 @@ struct symbol_table symbol_table = { 0, 0, 0, /* for stacked module support */
X
(
namei
),
X
(
lnamei
),
X
(
open_namei
),
X
(
inode_setattr
),
X
(
inode_change_ok
),
/* device registration */
X
(
register_chrdev
),
...
...
mm/swap.c
View file @
c3b8d39c
...
...
@@ -637,6 +637,33 @@ unsigned long __get_free_pages(int priority, unsigned long order)
return
0
;
}
/*
* Yes, I know this is ugly. Don't tell me.
*/
unsigned
long
__get_dma_pages
(
int
priority
,
unsigned
long
order
)
{
unsigned
long
list
=
0
;
unsigned
long
result
;
unsigned
long
limit
=
16
*
1024
*
1024
;
/* if (EISA_bus) limit = ~0UL; */
if
(
priority
!=
GFP_ATOMIC
)
priority
=
GFP_BUFFER
;
for
(;;)
{
result
=
__get_free_pages
(
priority
,
order
);
if
(
result
<
limit
)
/* covers failure as well */
break
;
*
(
unsigned
long
*
)
result
=
list
;
list
=
result
;
}
while
(
list
)
{
unsigned
long
tmp
=
list
;
list
=
*
(
unsigned
long
*
)
list
;
free_pages
(
tmp
,
order
);
}
return
result
;
}
/*
* Show free area list (used inside shift_scroll-lock stuff)
* We also calculate the percentage fragmentation. We do this by counting the
...
...
net/inet/tcp.c
View file @
c3b8d39c
...
...
@@ -86,6 +86,9 @@
* Alan Cox : Reset on closedown bug.
* Peter De Schrijver : ENOTCONN check missing in tcp_sendto().
* Michael Pall : Handle select() after URG properly in all cases.
* Michael Pall : Undo the last fix in tcp_read_urg() (multi URG PUSH broke rlogin).
* Michael Pall : Fix the multi URG PUSH problem in tcp_readable(), select() after URG works now.
* Michael Pall : recv(...,MSG_OOB) never blocks in the BSD api.
*
*
* To Fix:
...
...
@@ -407,14 +410,29 @@ static int tcp_readable(struct sock *sk)
amount
--
;
counted
+=
sum
;
}
/*
* Don't count urg data ... but do it in the right place!
* Consider: "old_data (ptr is here) URG PUSH data"
* The old code would stop at the first push because
* it counted the urg (amount==1) and then does amount--
* *after* the loop. This means tcp_readable() always
* returned zero if any URG PUSH was in the queue, even
* though there was normal data available. If we subtract
* the urg data right here, we even get it to work for more
* than one URG PUSH skb without normal data.
* This means that select() finally works now with urg data
* in the queue. Note that rlogin was never affected
* because it doesn't use select(); it uses two processes
* and a blocking read(). And the queue scan in tcp_read()
* was correct. Mike <pall@rz.uni-karlsruhe.de>
*/
if
(
skb
->
h
.
th
->
urg
)
amount
--
;
/* don't count urg data */
if
(
amount
&&
skb
->
h
.
th
->
psh
)
break
;
skb
=
skb
->
next
;
}
while
(
skb
!=
(
struct
sk_buff
*
)
&
sk
->
receive_queue
);
if
(
amount
&&
!
sk
->
urginline
&&
sk
->
urg_data
&&
(
sk
->
urg_seq
-
sk
->
copied_seq
)
<=
(
counted
-
sk
->
copied_seq
))
amount
--
;
/* don't count urg data */
restore_flags
(
flags
);
if
(
sk
->
debug
)
printk
(
"got %lu bytes.
\n
"
,
amount
);
...
...
@@ -434,42 +452,27 @@ static int tcp_select(struct sock *sk, int sel_type, select_table *wait)
switch
(
sel_type
)
{
case
SEL_IN
:
if
(
sk
->
debug
)
printk
(
"select in"
);
select_wait
(
sk
->
sleep
,
wait
);
if
(
sk
->
debug
)
printk
(
"-select out"
);
if
(
skb_peek
(
&
sk
->
receive_queue
)
!=
NULL
)
{
if
((
sk
->
state
==
TCP_LISTEN
&&
tcp_find_established
(
sk
))
||
tcp_readable
(
sk
))
{
release_sock
(
sk
);
if
(
sk
->
debug
)
printk
(
"-select ok data
\n
"
);
return
(
1
);
}
}
if
(
sk
->
err
!=
0
)
/* Receiver error */
{
release_sock
(
sk
);
if
(
sk
->
debug
)
printk
(
"-select ok error"
);
return
(
1
);
}
if
(
sk
->
shutdown
&
RCV_SHUTDOWN
)
{
release_sock
(
sk
);
if
(
sk
->
debug
)
printk
(
"-select ok down
\n
"
);
return
(
1
);
}
else
{
release_sock
(
sk
);
if
(
sk
->
debug
)
printk
(
"-select fail
\n
"
);
return
(
0
);
}
release_sock
(
sk
);
return
(
0
);
case
SEL_OUT
:
select_wait
(
sk
->
sleep
,
wait
);
if
(
sk
->
shutdown
&
SEND_SHUTDOWN
)
...
...
@@ -1405,28 +1408,20 @@ static void cleanup_rbuf(struct sock *sk)
static
int
tcp_read_urg
(
struct
sock
*
sk
,
int
nonblock
,
unsigned
char
*
to
,
int
len
,
unsigned
flags
)
{
#ifdef NOTDEF
struct
wait_queue
wait
=
{
current
,
NULL
};
#endif
while
(
len
>
0
)
{
if
(
sk
->
urginline
||
!
sk
->
urg_data
||
sk
->
urg_data
==
URG_READ
)
return
-
EINVAL
;
sk
->
inuse
=
1
;
sk
->
inuse
=
1
;
if
(
sk
->
urg_data
&
URG_VALID
)
{
char
c
=
sk
->
urg_data
;
if
(
!
(
flags
&
MSG_PEEK
))
{
/* Skip over urgent data, so tcp_readable() returns
something again. This in turn makes tcp_select()
happy. Mike <pall@rz.uni-karlsruhe.de> */
if
(
sk
->
copied_seq
+
1
==
sk
->
urg_seq
)
{
wake_up_interruptible
(
sk
->
sleep
);
sk
->
copied_seq
++
;
}
sk
->
urg_data
=
URG_READ
;
}
put_fs_byte
(
c
,
to
);
release_sock
(
sk
);
return
1
;
...
...
@@ -1456,6 +1451,16 @@ static int tcp_read_urg(struct sock * sk, int nonblock,
return
0
;
}
/*
* Fixed the recv(..., MSG_OOB) behaviour. BSD docs and
* the available implementations agree in this case:
* this call should never block, independent of the
* blocking state of the socket.
* Mike <pall@rz.uni-karlsruhe.de>
*/
return
-
EAGAIN
;
#ifdef NOTDEF
/* remove the loop, if this dead code gets removed! */
if
(
nonblock
)
return
-
EAGAIN
;
...
...
@@ -1469,6 +1474,7 @@ static int tcp_read_urg(struct sock * sk, int nonblock,
schedule
();
remove_wait_queue
(
sk
->
sleep
,
&
wait
);
current
->
state
=
TASK_RUNNING
;
#endif
}
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