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
nexedi
linux
Commits
1c267864
Commit
1c267864
authored
21 years ago
by
Len Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge intel.com:/home/lenb/bk/linux-2.6.0
into intel.com:/home/lenb/bk/linux-acpi-test-2.6.0
parents
fa934cc9
8cc86c08
Changes
23
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
55 additions
and
46 deletions
+55
-46
arch/i386/mm/fault.c
arch/i386/mm/fault.c
+2
-1
drivers/block/scsi_ioctl.c
drivers/block/scsi_ioctl.c
+6
-1
drivers/i2c/busses/i2c-nforce2.c
drivers/i2c/busses/i2c-nforce2.c
+1
-1
drivers/net/pci-skeleton.c
drivers/net/pci-skeleton.c
+0
-7
drivers/net/pcnet32.c
drivers/net/pcnet32.c
+0
-2
drivers/net/r8169.c
drivers/net/r8169.c
+0
-4
drivers/net/sis190.c
drivers/net/sis190.c
+0
-4
drivers/net/wireless/airo.c
drivers/net/wireless/airo.c
+2
-5
drivers/scsi/ide-scsi.c
drivers/scsi/ide-scsi.c
+1
-0
drivers/scsi/libata-core.c
drivers/scsi/libata-core.c
+1
-2
fs/libfs.c
fs/libfs.c
+1
-1
fs/proc/base.c
fs/proc/base.c
+7
-3
include/asm-x86_64/msr.h
include/asm-x86_64/msr.h
+3
-3
include/linux/rtnetlink.h
include/linux/rtnetlink.h
+1
-0
kernel/sched.c
kernel/sched.c
+1
-1
mm/mmap.c
mm/mmap.c
+8
-2
net/bridge/br_netfilter.c
net/bridge/br_netfilter.c
+1
-1
net/ipv4/netfilter/ip_conntrack_proto_tcp.c
net/ipv4/netfilter/ip_conntrack_proto_tcp.c
+1
-1
net/ipv4/netfilter/ip_conntrack_standalone.c
net/ipv4/netfilter/ip_conntrack_standalone.c
+2
-1
net/ipv4/tcp_ipv4.c
net/ipv4/tcp_ipv4.c
+1
-0
net/ipv6/tcp_ipv6.c
net/ipv6/tcp_ipv6.c
+1
-1
net/ipv6/udp.c
net/ipv6/udp.c
+1
-1
net/sched/sch_htb.c
net/sched/sch_htb.c
+14
-4
No files found.
arch/i386/mm/fault.c
View file @
1c267864
...
@@ -359,7 +359,8 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long error_code)
...
@@ -359,7 +359,8 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long error_code)
return
;
return
;
tsk
->
thread
.
cr2
=
address
;
tsk
->
thread
.
cr2
=
address
;
tsk
->
thread
.
error_code
=
error_code
;
/* Kernel addresses are always protection faults */
tsk
->
thread
.
error_code
=
error_code
|
(
address
>=
TASK_SIZE
);
tsk
->
thread
.
trap_no
=
14
;
tsk
->
thread
.
trap_no
=
14
;
info
.
si_signo
=
SIGSEGV
;
info
.
si_signo
=
SIGSEGV
;
info
.
si_errno
=
0
;
info
.
si_errno
=
0
;
...
...
This diff is collapsed.
Click to expand it.
drivers/block/scsi_ioctl.c
View file @
1c267864
...
@@ -216,7 +216,12 @@ static int sg_io(request_queue_t *q, struct block_device *bdev,
...
@@ -216,7 +216,12 @@ static int sg_io(request_queue_t *q, struct block_device *bdev,
* fill in request structure
* fill in request structure
*/
*/
rq
->
cmd_len
=
hdr
->
cmd_len
;
rq
->
cmd_len
=
hdr
->
cmd_len
;
memcpy
(
rq
->
cmd
,
hdr
->
cmdp
,
hdr
->
cmd_len
);
if
(
copy_from_user
(
rq
->
cmd
,
hdr
->
cmdp
,
hdr
->
cmd_len
))
{
blk_put_request
(
rq
);
return
-
EFAULT
;
}
if
(
sizeof
(
rq
->
cmd
)
!=
hdr
->
cmd_len
)
if
(
sizeof
(
rq
->
cmd
)
!=
hdr
->
cmd_len
)
memset
(
rq
->
cmd
+
hdr
->
cmd_len
,
0
,
sizeof
(
rq
->
cmd
)
-
hdr
->
cmd_len
);
memset
(
rq
->
cmd
+
hdr
->
cmd_len
,
0
,
sizeof
(
rq
->
cmd
)
-
hdr
->
cmd_len
);
...
...
This diff is collapsed.
Click to expand it.
drivers/i2c/busses/i2c-nforce2.c
View file @
1c267864
...
@@ -147,7 +147,7 @@ static s32 nforce2_access(struct i2c_adapter * adap, u16 addr,
...
@@ -147,7 +147,7 @@ static s32 nforce2_access(struct i2c_adapter * adap, u16 addr,
case
I2C_SMBUS_BYTE
:
case
I2C_SMBUS_BYTE
:
if
(
read_write
==
I2C_SMBUS_WRITE
)
if
(
read_write
==
I2C_SMBUS_WRITE
)
outb_p
(
data
->
byte
,
NVIDIA_SMB_DATA
);
outb_p
(
command
,
NVIDIA_SMB_CMD
);
protocol
|=
NVIDIA_SMB_PRTCL_BYTE
;
protocol
|=
NVIDIA_SMB_PRTCL_BYTE
;
break
;
break
;
...
...
This diff is collapsed.
Click to expand it.
drivers/net/pci-skeleton.c
View file @
1c267864
...
@@ -864,13 +864,6 @@ static void __devexit netdrv_remove_one (struct pci_dev *pdev)
...
@@ -864,13 +864,6 @@ static void __devexit netdrv_remove_one (struct pci_dev *pdev)
pci_release_regions
(
pdev
);
pci_release_regions
(
pdev
);
#ifndef NETDRV_NDEBUG
/* poison memory before freeing */
memset
(
dev
,
0xBC
,
sizeof
(
struct
net_device
)
+
sizeof
(
struct
netdrv_private
));
#endif
/* NETDRV_NDEBUG */
free_netdev
(
dev
);
free_netdev
(
dev
);
pci_set_drvdata
(
pdev
,
NULL
);
pci_set_drvdata
(
pdev
,
NULL
);
...
...
This diff is collapsed.
Click to expand it.
drivers/net/pcnet32.c
View file @
1c267864
...
@@ -1766,8 +1766,6 @@ static void __exit pcnet32_cleanup_module(void)
...
@@ -1766,8 +1766,6 @@ static void __exit pcnet32_cleanup_module(void)
next_dev
=
lp
->
next
;
next_dev
=
lp
->
next
;
unregister_netdev
(
pcnet32_dev
);
unregister_netdev
(
pcnet32_dev
);
release_region
(
pcnet32_dev
->
base_addr
,
PCNET32_TOTAL_SIZE
);
release_region
(
pcnet32_dev
->
base_addr
,
PCNET32_TOTAL_SIZE
);
if
(
lp
->
pci_dev
)
pci_unregister_driver
(
&
pcnet32_driver
);
pci_free_consistent
(
lp
->
pci_dev
,
sizeof
(
*
lp
),
lp
,
lp
->
dma_addr
);
pci_free_consistent
(
lp
->
pci_dev
,
sizeof
(
*
lp
),
lp
,
lp
->
dma_addr
);
free_netdev
(
pcnet32_dev
);
free_netdev
(
pcnet32_dev
);
pcnet32_dev
=
next_dev
;
pcnet32_dev
=
next_dev
;
...
...
This diff is collapsed.
Click to expand it.
drivers/net/r8169.c
View file @
1c267864
...
@@ -642,10 +642,6 @@ rtl8169_remove_one(struct pci_dev *pdev)
...
@@ -642,10 +642,6 @@ rtl8169_remove_one(struct pci_dev *pdev)
iounmap
(
tp
->
mmio_addr
);
iounmap
(
tp
->
mmio_addr
);
pci_release_regions
(
pdev
);
pci_release_regions
(
pdev
);
// poison memory before freeing
memset
(
dev
,
0xBC
,
sizeof
(
struct
net_device
)
+
sizeof
(
struct
rtl8169_private
));
pci_disable_device
(
pdev
);
pci_disable_device
(
pdev
);
free_netdev
(
dev
);
free_netdev
(
dev
);
pci_set_drvdata
(
pdev
,
NULL
);
pci_set_drvdata
(
pdev
,
NULL
);
...
...
This diff is collapsed.
Click to expand it.
drivers/net/sis190.c
View file @
1c267864
...
@@ -703,10 +703,6 @@ SiS190_remove_one(struct pci_dev *pdev)
...
@@ -703,10 +703,6 @@ SiS190_remove_one(struct pci_dev *pdev)
iounmap
(
tp
->
mmio_addr
);
iounmap
(
tp
->
mmio_addr
);
pci_release_regions
(
pdev
);
pci_release_regions
(
pdev
);
// poison memory before freeing
memset
(
dev
,
0xBC
,
sizeof
(
struct
net_device
)
+
sizeof
(
struct
sis190_private
));
free_netdev
(
dev
);
free_netdev
(
dev
);
pci_set_drvdata
(
pdev
,
NULL
);
pci_set_drvdata
(
pdev
,
NULL
);
}
}
...
...
This diff is collapsed.
Click to expand it.
drivers/net/wireless/airo.c
View file @
1c267864
...
@@ -2466,11 +2466,8 @@ static irqreturn_t airo_interrupt ( int irq, void* dev_id, struct pt_regs *regs)
...
@@ -2466,11 +2466,8 @@ static irqreturn_t airo_interrupt ( int irq, void* dev_id, struct pt_regs *regs)
OUT4500
(
apriv
,
EVACK
,
EV_MIC
);
OUT4500
(
apriv
,
EVACK
,
EV_MIC
);
#ifdef MICSUPPORT
#ifdef MICSUPPORT
if
(
test_bit
(
FLAG_MIC_CAPABLE
,
&
apriv
->
flags
))
{
if
(
test_bit
(
FLAG_MIC_CAPABLE
,
&
apriv
->
flags
))
{
if
(
down_trylock
(
&
apriv
->
sem
)
!=
0
)
{
set_bit
(
JOB_MIC
,
&
apriv
->
flags
);
set_bit
(
JOB_MIC
,
&
apriv
->
flags
);
wake_up_interruptible
(
&
apriv
->
thr_wait
);
wake_up_interruptible
(
&
apriv
->
thr_wait
);
}
else
micinit
(
apriv
);
}
}
#endif
#endif
}
}
...
...
This diff is collapsed.
Click to expand it.
drivers/scsi/ide-scsi.c
View file @
1c267864
...
@@ -517,6 +517,7 @@ static ide_startstop_t idescsi_issue_pc (ide_drive_t *drive, idescsi_pc_t *pc)
...
@@ -517,6 +517,7 @@ static ide_startstop_t idescsi_issue_pc (ide_drive_t *drive, idescsi_pc_t *pc)
pc
->
current_position
=
pc
->
buffer
;
pc
->
current_position
=
pc
->
buffer
;
bcount
.
all
=
IDE_MIN
(
pc
->
request_transfer
,
63
*
1024
);
/* Request to transfer the entire buffer at once */
bcount
.
all
=
IDE_MIN
(
pc
->
request_transfer
,
63
*
1024
);
/* Request to transfer the entire buffer at once */
feature
.
all
=
0
;
if
(
drive
->
using_dma
&&
rq
->
bio
)
{
if
(
drive
->
using_dma
&&
rq
->
bio
)
{
if
(
test_bit
(
PC_WRITING
,
&
pc
->
flags
))
if
(
test_bit
(
PC_WRITING
,
&
pc
->
flags
))
feature
.
b
.
dma
=
!
HWIF
(
drive
)
->
ide_dma_write
(
drive
);
feature
.
b
.
dma
=
!
HWIF
(
drive
)
->
ide_dma_write
(
drive
);
...
...
This diff is collapsed.
Click to expand it.
drivers/scsi/libata-core.c
View file @
1c267864
...
@@ -3224,8 +3224,6 @@ void ata_pci_remove_one (struct pci_dev *pdev)
...
@@ -3224,8 +3224,6 @@ void ata_pci_remove_one (struct pci_dev *pdev)
scsi_host_put
(
ap
->
host
);
/* FIXME: check return val */
scsi_host_put
(
ap
->
host
);
/* FIXME: check return val */
}
}
kfree
(
host_set
);
pci_release_regions
(
pdev
);
pci_release_regions
(
pdev
);
for
(
i
=
0
;
i
<
host_set
->
n_ports
;
i
++
)
{
for
(
i
=
0
;
i
<
host_set
->
n_ports
;
i
++
)
{
...
@@ -3242,6 +3240,7 @@ void ata_pci_remove_one (struct pci_dev *pdev)
...
@@ -3242,6 +3240,7 @@ void ata_pci_remove_one (struct pci_dev *pdev)
}
}
}
}
kfree
(
host_set
);
pci_disable_device
(
pdev
);
pci_disable_device
(
pdev
);
pci_set_drvdata
(
pdev
,
NULL
);
pci_set_drvdata
(
pdev
,
NULL
);
}
}
...
...
This diff is collapsed.
Click to expand it.
fs/libfs.c
View file @
1c267864
...
@@ -79,6 +79,7 @@ loff_t dcache_dir_lseek(struct file *file, loff_t offset, int origin)
...
@@ -79,6 +79,7 @@ loff_t dcache_dir_lseek(struct file *file, loff_t offset, int origin)
loff_t
n
=
file
->
f_pos
-
2
;
loff_t
n
=
file
->
f_pos
-
2
;
spin_lock
(
&
dcache_lock
);
spin_lock
(
&
dcache_lock
);
list_del
(
&
cursor
->
d_child
);
p
=
file
->
f_dentry
->
d_subdirs
.
next
;
p
=
file
->
f_dentry
->
d_subdirs
.
next
;
while
(
n
&&
p
!=
&
file
->
f_dentry
->
d_subdirs
)
{
while
(
n
&&
p
!=
&
file
->
f_dentry
->
d_subdirs
)
{
struct
dentry
*
next
;
struct
dentry
*
next
;
...
@@ -87,7 +88,6 @@ loff_t dcache_dir_lseek(struct file *file, loff_t offset, int origin)
...
@@ -87,7 +88,6 @@ loff_t dcache_dir_lseek(struct file *file, loff_t offset, int origin)
n
--
;
n
--
;
p
=
p
->
next
;
p
=
p
->
next
;
}
}
list_del
(
&
cursor
->
d_child
);
list_add_tail
(
&
cursor
->
d_child
,
p
);
list_add_tail
(
&
cursor
->
d_child
,
p
);
spin_unlock
(
&
dcache_lock
);
spin_unlock
(
&
dcache_lock
);
}
}
...
...
This diff is collapsed.
Click to expand it.
fs/proc/base.c
View file @
1c267864
...
@@ -1666,10 +1666,14 @@ static int get_tid_list(int index, unsigned int *tids, struct inode *dir)
...
@@ -1666,10 +1666,14 @@ static int get_tid_list(int index, unsigned int *tids, struct inode *dir)
index
-=
2
;
index
-=
2
;
read_lock
(
&
tasklist_lock
);
read_lock
(
&
tasklist_lock
);
do
{
/*
* The starting point task (leader_task) might be an already
* unlinked task, which cannot be used to access the task-list
* via next_thread().
*/
if
(
pid_alive
(
task
))
do
{
int
tid
=
task
->
pid
;
int
tid
=
task
->
pid
;
if
(
!
pid_alive
(
task
))
continue
;
if
(
--
index
>=
0
)
if
(
--
index
>=
0
)
continue
;
continue
;
tids
[
nr_tids
]
=
tid
;
tids
[
nr_tids
]
=
tid
;
...
...
This diff is collapsed.
Click to expand it.
include/asm-x86_64/msr.h
View file @
1c267864
...
@@ -50,9 +50,9 @@
...
@@ -50,9 +50,9 @@
__asm__ __volatile__ ("rdtsc" : "=a" (low) : : "edx")
__asm__ __volatile__ ("rdtsc" : "=a" (low) : : "edx")
#define rdtscll(val) do { \
#define rdtscll(val) do { \
unsigned int
a,
d; \
unsigned int
__a,__
d; \
asm volatile("rdtsc" : "=a" (
a), "=d" (
d)); \
asm volatile("rdtsc" : "=a" (
__a), "=d" (__
d)); \
(val) = ((unsigned long)
a) | (((unsigned long)
d)<<32); \
(val) = ((unsigned long)
__a) | (((unsigned long)__
d)<<32); \
} while(0)
} while(0)
#define rdpmc(counter,low,high) \
#define rdpmc(counter,low,high) \
...
...
This diff is collapsed.
Click to expand it.
include/linux/rtnetlink.h
View file @
1c267864
...
@@ -138,6 +138,7 @@ enum
...
@@ -138,6 +138,7 @@ enum
#define RTPROT_ZEBRA 11
/* Zebra */
#define RTPROT_ZEBRA 11
/* Zebra */
#define RTPROT_BIRD 12
/* BIRD */
#define RTPROT_BIRD 12
/* BIRD */
#define RTPROT_DNROUTED 13
/* DECnet routing daemon */
#define RTPROT_DNROUTED 13
/* DECnet routing daemon */
#define RTPROT_XORP 14
/* XORP */
/* rtm_scope
/* rtm_scope
...
...
This diff is collapsed.
Click to expand it.
kernel/sched.c
View file @
1c267864
...
@@ -646,7 +646,7 @@ static int try_to_wake_up(task_t * p, unsigned int state, int sync)
...
@@ -646,7 +646,7 @@ static int try_to_wake_up(task_t * p, unsigned int state, int sync)
*/
*/
p
->
activated
=
-
1
;
p
->
activated
=
-
1
;
}
}
if
(
sync
)
if
(
sync
&&
(
task_cpu
(
p
)
==
smp_processor_id
())
)
__activate_task
(
p
,
rq
);
__activate_task
(
p
,
rq
);
else
{
else
{
activate_task
(
p
,
rq
);
activate_task
(
p
,
rq
);
...
...
This diff is collapsed.
Click to expand it.
mm/mmap.c
View file @
1c267864
...
@@ -19,6 +19,7 @@
...
@@ -19,6 +19,7 @@
#include <linux/hugetlb.h>
#include <linux/hugetlb.h>
#include <linux/profile.h>
#include <linux/profile.h>
#include <linux/module.h>
#include <linux/module.h>
#include <linux/mount.h>
#include <asm/uaccess.h>
#include <asm/uaccess.h>
#include <asm/pgalloc.h>
#include <asm/pgalloc.h>
...
@@ -474,8 +475,13 @@ unsigned long do_mmap_pgoff(struct file * file, unsigned long addr,
...
@@ -474,8 +475,13 @@ unsigned long do_mmap_pgoff(struct file * file, unsigned long addr,
struct
rb_node
**
rb_link
,
*
rb_parent
;
struct
rb_node
**
rb_link
,
*
rb_parent
;
unsigned
long
charged
=
0
;
unsigned
long
charged
=
0
;
if
(
file
&&
(
!
file
->
f_op
||
!
file
->
f_op
->
mmap
))
if
(
file
)
{
return
-
ENODEV
;
if
(
!
file
->
f_op
||
!
file
->
f_op
->
mmap
)
return
-
ENODEV
;
if
((
prot
&
PROT_EXEC
)
&&
(
file
->
f_vfsmnt
->
mnt_flags
&
MNT_NOEXEC
))
return
-
EPERM
;
}
if
(
!
len
)
if
(
!
len
)
return
addr
;
return
addr
;
...
...
This diff is collapsed.
Click to expand it.
net/bridge/br_netfilter.c
View file @
1c267864
...
@@ -180,7 +180,7 @@ static int br_nf_pre_routing_finish(struct sk_buff *skb)
...
@@ -180,7 +180,7 @@ static int br_nf_pre_routing_finish(struct sk_buff *skb)
struct
rtable
*
rt
;
struct
rtable
*
rt
;
struct
flowi
fl
=
{
.
nl_u
=
struct
flowi
fl
=
{
.
nl_u
=
{
.
ip4_u
=
{
.
daddr
=
iph
->
daddr
,
.
saddr
=
0
,
{
.
ip4_u
=
{
.
daddr
=
iph
->
daddr
,
.
saddr
=
0
,
.
tos
=
iph
->
tos
}
},
.
proto
=
0
};
.
tos
=
RT_TOS
(
iph
->
tos
)
}
},
.
proto
=
0
};
if
(
!
ip_route_output_key
(
&
rt
,
&
fl
))
{
if
(
!
ip_route_output_key
(
&
rt
,
&
fl
))
{
/* Bridged-and-DNAT'ed traffic doesn't
/* Bridged-and-DNAT'ed traffic doesn't
...
...
This diff is collapsed.
Click to expand it.
net/ipv4/netfilter/ip_conntrack_proto_tcp.c
View file @
1c267864
...
@@ -53,7 +53,7 @@ unsigned long ip_ct_tcp_timeout_syn_sent = 2 MINS;
...
@@ -53,7 +53,7 @@ unsigned long ip_ct_tcp_timeout_syn_sent = 2 MINS;
unsigned
long
ip_ct_tcp_timeout_syn_recv
=
60
SECS
;
unsigned
long
ip_ct_tcp_timeout_syn_recv
=
60
SECS
;
unsigned
long
ip_ct_tcp_timeout_established
=
5
DAYS
;
unsigned
long
ip_ct_tcp_timeout_established
=
5
DAYS
;
unsigned
long
ip_ct_tcp_timeout_fin_wait
=
2
MINS
;
unsigned
long
ip_ct_tcp_timeout_fin_wait
=
2
MINS
;
unsigned
long
ip_ct_tcp_timeout_close_wait
=
3
DAY
S
;
unsigned
long
ip_ct_tcp_timeout_close_wait
=
60
SEC
S
;
unsigned
long
ip_ct_tcp_timeout_last_ack
=
30
SECS
;
unsigned
long
ip_ct_tcp_timeout_last_ack
=
30
SECS
;
unsigned
long
ip_ct_tcp_timeout_time_wait
=
2
MINS
;
unsigned
long
ip_ct_tcp_timeout_time_wait
=
2
MINS
;
unsigned
long
ip_ct_tcp_timeout_close
=
10
SECS
;
unsigned
long
ip_ct_tcp_timeout_close
=
10
SECS
;
...
...
This diff is collapsed.
Click to expand it.
net/ipv4/netfilter/ip_conntrack_standalone.c
View file @
1c267864
...
@@ -201,7 +201,8 @@ static unsigned int ip_refrag(unsigned int hooknum,
...
@@ -201,7 +201,8 @@ static unsigned int ip_refrag(unsigned int hooknum,
/* Local packets are never produced too large for their
/* Local packets are never produced too large for their
interface. We degfragment them at LOCAL_OUT, however,
interface. We degfragment them at LOCAL_OUT, however,
so we have to refragment them here. */
so we have to refragment them here. */
if
((
*
pskb
)
->
len
>
dst_pmtu
(
&
rt
->
u
.
dst
))
{
if
((
*
pskb
)
->
len
>
dst_pmtu
(
&
rt
->
u
.
dst
)
&&
!
skb_shinfo
(
*
pskb
)
->
tso_size
)
{
/* No hook can be after us, so this should be OK. */
/* No hook can be after us, so this should be OK. */
ip_fragment
(
*
pskb
,
okfn
);
ip_fragment
(
*
pskb
,
okfn
);
return
NF_STOLEN
;
return
NF_STOLEN
;
...
...
This diff is collapsed.
Click to expand it.
net/ipv4/tcp_ipv4.c
View file @
1c267864
...
@@ -2356,6 +2356,7 @@ static void *tcp_get_idx(struct seq_file *seq, loff_t pos)
...
@@ -2356,6 +2356,7 @@ static void *tcp_get_idx(struct seq_file *seq, loff_t pos)
static
void
*
tcp_seq_start
(
struct
seq_file
*
seq
,
loff_t
*
pos
)
static
void
*
tcp_seq_start
(
struct
seq_file
*
seq
,
loff_t
*
pos
)
{
{
struct
tcp_iter_state
*
st
=
seq
->
private
;
struct
tcp_iter_state
*
st
=
seq
->
private
;
st
->
state
=
TCP_SEQ_STATE_LISTENING
;
st
->
num
=
0
;
st
->
num
=
0
;
return
*
pos
?
tcp_get_idx
(
seq
,
*
pos
-
1
)
:
SEQ_START_TOKEN
;
return
*
pos
?
tcp_get_idx
(
seq
,
*
pos
-
1
)
:
SEQ_START_TOKEN
;
}
}
...
...
This diff is collapsed.
Click to expand it.
net/ipv6/tcp_ipv6.c
View file @
1c267864
...
@@ -222,7 +222,7 @@ static __inline__ void __tcp_v6_hash(struct sock *sk)
...
@@ -222,7 +222,7 @@ static __inline__ void __tcp_v6_hash(struct sock *sk)
write_lock
(
lock
);
write_lock
(
lock
);
}
}
sk_add_node
(
sk
,
list
);
__
sk_add_node
(
sk
,
list
);
sock_prot_inc_use
(
sk
->
sk_prot
);
sock_prot_inc_use
(
sk
->
sk_prot
);
write_unlock
(
lock
);
write_unlock
(
lock
);
}
}
...
...
This diff is collapsed.
Click to expand it.
net/ipv6/udp.c
View file @
1c267864
...
@@ -825,7 +825,7 @@ static int udpv6_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg
...
@@ -825,7 +825,7 @@ static int udpv6_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg
struct
sockaddr_in
sin
;
struct
sockaddr_in
sin
;
sin
.
sin_family
=
AF_INET
;
sin
.
sin_family
=
AF_INET
;
sin
.
sin_port
=
sin6
?
sin6
->
sin6_port
:
inet
->
dport
;
sin
.
sin_port
=
sin6
?
sin6
->
sin6_port
:
inet
->
dport
;
sin
.
sin_addr
.
s_addr
=
daddr
->
s6_addr
[
3
];
sin
.
sin_addr
.
s_addr
=
daddr
->
s6_addr
32
[
3
];
msg
->
msg_name
=
&
sin
;
msg
->
msg_name
=
&
sin
;
msg
->
msg_namelen
=
sizeof
(
sin
);
msg
->
msg_namelen
=
sizeof
(
sin
);
do_udp_sendmsg:
do_udp_sendmsg:
...
...
This diff is collapsed.
Click to expand it.
net/sched/sch_htb.c
View file @
1c267864
...
@@ -74,7 +74,7 @@
...
@@ -74,7 +74,7 @@
#define HTB_HYSTERESIS 1
/* whether to use mode hysteresis for speedup */
#define HTB_HYSTERESIS 1
/* whether to use mode hysteresis for speedup */
#define HTB_QLOCK(S) spin_lock_bh(&(S)->dev->queue_lock)
#define HTB_QLOCK(S) spin_lock_bh(&(S)->dev->queue_lock)
#define HTB_QUNLOCK(S) spin_unlock_bh(&(S)->dev->queue_lock)
#define HTB_QUNLOCK(S) spin_unlock_bh(&(S)->dev->queue_lock)
#define HTB_VER 0x3000
d
/* major must be matched with number suplied by TC as version */
#define HTB_VER 0x3000
e
/* major must be matched with number suplied by TC as version */
#if HTB_VER >> 16 != TC_HTB_PROTOVER
#if HTB_VER >> 16 != TC_HTB_PROTOVER
#error "Mismatched sch_htb.c and pkt_sch.h"
#error "Mismatched sch_htb.c and pkt_sch.h"
...
@@ -290,6 +290,11 @@ static __inline__ struct htb_class *htb_find(u32 handle, struct Qdisc *sch)
...
@@ -290,6 +290,11 @@ static __inline__ struct htb_class *htb_find(u32 handle, struct Qdisc *sch)
* then finish and return direct queue.
* then finish and return direct queue.
*/
*/
#define HTB_DIRECT (struct htb_class*)-1
#define HTB_DIRECT (struct htb_class*)-1
static
inline
u32
htb_classid
(
struct
htb_class
*
cl
)
{
return
(
cl
&&
cl
!=
HTB_DIRECT
)
?
cl
->
classid
:
TC_H_UNSPEC
;
}
static
struct
htb_class
*
htb_classify
(
struct
sk_buff
*
skb
,
struct
Qdisc
*
sch
)
static
struct
htb_class
*
htb_classify
(
struct
sk_buff
*
skb
,
struct
Qdisc
*
sch
)
{
{
struct
htb_sched
*
q
=
(
struct
htb_sched
*
)
sch
->
data
;
struct
htb_sched
*
q
=
(
struct
htb_sched
*
)
sch
->
data
;
...
@@ -703,7 +708,7 @@ static int htb_enqueue(struct sk_buff *skb, struct Qdisc *sch)
...
@@ -703,7 +708,7 @@ static int htb_enqueue(struct sk_buff *skb, struct Qdisc *sch)
sch
->
q
.
qlen
++
;
sch
->
q
.
qlen
++
;
sch
->
stats
.
packets
++
;
sch
->
stats
.
bytes
+=
skb
->
len
;
sch
->
stats
.
packets
++
;
sch
->
stats
.
bytes
+=
skb
->
len
;
HTB_DBG
(
1
,
1
,
"htb_enq_ok cl=%X skb=%p
\n
"
,
cl
?
cl
->
classid
:
0
,
skb
);
HTB_DBG
(
1
,
1
,
"htb_enq_ok cl=%X skb=%p
\n
"
,
htb_classid
(
cl
)
,
skb
);
return
NET_XMIT_SUCCESS
;
return
NET_XMIT_SUCCESS
;
}
}
...
@@ -731,7 +736,7 @@ static int htb_requeue(struct sk_buff *skb, struct Qdisc *sch)
...
@@ -731,7 +736,7 @@ static int htb_requeue(struct sk_buff *skb, struct Qdisc *sch)
htb_activate
(
q
,
cl
);
htb_activate
(
q
,
cl
);
sch
->
q
.
qlen
++
;
sch
->
q
.
qlen
++
;
HTB_DBG
(
1
,
1
,
"htb_req_ok cl=%X skb=%p
\n
"
,
cl
?
cl
->
classid
:
0
,
skb
);
HTB_DBG
(
1
,
1
,
"htb_req_ok cl=%X skb=%p
\n
"
,
htb_classid
(
cl
)
,
skb
);
return
NET_XMIT_SUCCESS
;
return
NET_XMIT_SUCCESS
;
}
}
...
@@ -1381,11 +1386,16 @@ static void htb_destroy(struct Qdisc* sch)
...
@@ -1381,11 +1386,16 @@ static void htb_destroy(struct Qdisc* sch)
#ifdef HTB_RATECM
#ifdef HTB_RATECM
del_timer_sync
(
&
q
->
rttim
);
del_timer_sync
(
&
q
->
rttim
);
#endif
#endif
/* This line used to be after htb_destroy_class call below
and surprisingly it worked in 2.4. But it must precede it
because filter need its target class alive to be able to call
unbind_filter on it (without Oops). */
htb_destroy_filters
(
&
q
->
filter_list
);
while
(
!
list_empty
(
&
q
->
root
))
while
(
!
list_empty
(
&
q
->
root
))
htb_destroy_class
(
sch
,
list_entry
(
q
->
root
.
next
,
htb_destroy_class
(
sch
,
list_entry
(
q
->
root
.
next
,
struct
htb_class
,
sibling
));
struct
htb_class
,
sibling
));
htb_destroy_filters
(
&
q
->
filter_list
);
__skb_queue_purge
(
&
q
->
direct_queue
);
__skb_queue_purge
(
&
q
->
direct_queue
);
}
}
...
...
This diff is collapsed.
Click to expand it.
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