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
f3b6be8b
Commit
f3b6be8b
authored
Jun 07, 2004
by
Vojtech Pavlik
Browse files
Options
Browse Files
Download
Plain Diff
Merge bkbits:input into suse.cz:/home/vojtech/bk/input
parents
8f10a98a
7b0f9236
Changes
23
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
117 additions
and
51 deletions
+117
-51
arch/arm/mm/fault-armv.c
arch/arm/mm/fault-armv.c
+13
-1
arch/arm/mm/proc-syms.c
arch/arm/mm/proc-syms.c
+0
-3
arch/arm/tools/mach-types
arch/arm/tools/mach-types
+15
-2
arch/i386/kernel/dmi_scan.c
arch/i386/kernel/dmi_scan.c
+1
-0
arch/ppc/mm/tlb.c
arch/ppc/mm/tlb.c
+11
-0
drivers/char/synclink.c
drivers/char/synclink.c
+1
-1
drivers/video/sbuslib.c
drivers/video/sbuslib.c
+1
-0
include/asm-arm/cacheflush.h
include/asm-arm/cacheflush.h
+1
-11
include/asm-ppc/pgtable.h
include/asm-ppc/pgtable.h
+5
-1
include/asm-ppc/tlbflush.h
include/asm-ppc/tlbflush.h
+7
-0
include/asm-ppc64/pgtable.h
include/asm-ppc64/pgtable.h
+4
-1
include/asm-ppc64/tlbflush.h
include/asm-ppc64/tlbflush.h
+2
-0
include/linux/netfilter.h
include/linux/netfilter.h
+6
-0
include/linux/netfilter_arp.h
include/linux/netfilter_arp.h
+1
-0
include/linux/netfilter_ipv4/ip_tables.h
include/linux/netfilter_ipv4/ip_tables.h
+8
-0
include/linux/netfilter_ipv6/ip6_tables.h
include/linux/netfilter_ipv6/ip6_tables.h
+2
-0
include/linux/watchdog.h
include/linux/watchdog.h
+1
-0
include/net/tcp.h
include/net/tcp.h
+3
-0
kernel/sched.c
kernel/sched.c
+7
-0
net/ipv4/netfilter/arp_tables.c
net/ipv4/netfilter/arp_tables.c
+8
-8
net/ipv4/netfilter/ip_tables.c
net/ipv4/netfilter/ip_tables.c
+10
-12
net/ipv6/netfilter/ip6_tables.c
net/ipv6/netfilter/ip6_tables.c
+9
-10
net/sunrpc/auth_gss/auth_gss.c
net/sunrpc/auth_gss/auth_gss.c
+1
-1
No files found.
arch/arm/mm/fault-armv.c
View file @
f3b6be8b
...
...
@@ -8,6 +8,7 @@
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/kernel.h>
#include <linux/mm.h>
...
...
@@ -75,7 +76,7 @@ static int adjust_pte(struct vm_area_struct *vma, unsigned long address)
return
0
;
}
void
__flush_dcache_page
(
struct
page
*
page
)
static
void
__flush_dcache_page
(
struct
page
*
page
)
{
struct
address_space
*
mapping
=
page_mapping
(
page
);
struct
mm_struct
*
mm
=
current
->
active_mm
;
...
...
@@ -111,6 +112,17 @@ void __flush_dcache_page(struct page *page)
flush_dcache_mmap_unlock
(
mapping
);
}
void
flush_dcache_page
(
struct
page
*
page
)
{
struct
address_space
*
mapping
=
page_mapping
(
page
);
if
(
mapping
&&
!
mapping_mapped
(
mapping
))
set_bit
(
PG_dcache_dirty
,
&
page
->
flags
);
else
__flush_dcache_page
(
page
);
}
EXPORT_SYMBOL
(
flush_dcache_page
);
static
void
make_coherent
(
struct
vm_area_struct
*
vma
,
unsigned
long
addr
,
struct
page
*
page
,
int
dirty
)
{
...
...
arch/arm/mm/proc-syms.c
View file @
f3b6be8b
...
...
@@ -14,8 +14,6 @@
#include <asm/proc-fns.h>
#include <asm/tlbflush.h>
EXPORT_SYMBOL
(
__flush_dcache_page
);
#ifndef MULTI_CPU
EXPORT_SYMBOL
(
cpu_dcache_clean_area
);
EXPORT_SYMBOL
(
cpu_set_pte
);
...
...
@@ -28,7 +26,6 @@ EXPORT_SYMBOL_NOVERS(__cpuc_flush_kern_all);
EXPORT_SYMBOL_NOVERS
(
__cpuc_flush_user_all
);
EXPORT_SYMBOL_NOVERS
(
__cpuc_flush_user_range
);
EXPORT_SYMBOL_NOVERS
(
__cpuc_coherent_kern_range
);
EXPORT_SYMBOL_NOVERS
(
__cpuc_flush_dcache_page
);
#else
EXPORT_SYMBOL
(
cpu_cache
);
#endif
...
...
arch/arm/tools/mach-types
View file @
f3b6be8b
...
...
@@ -6,7 +6,7 @@
# To add an entry into this database, please see Documentation/arm/README,
# or contact rmk@arm.linux.org.uk
#
# Last update:
Thu Apr 29 19:06:33
2004
# Last update:
Fri May 28 13:17:46
2004
#
# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number
#
...
...
@@ -509,7 +509,7 @@ s3c5500 MACH_S3C5500 S3C5500 498
smdk5500 MACH_SMDK5500 SMDK5500 499
signalsync MACH_SIGNALSYNC SIGNALSYNC 500
nbc MACH_NBC NBC 501
er4525 MACH_ER4525 ER4525
502
kodiak MACH_KODIAK KODIAK
502
netbookpro MACH_NETBOOKPRO NETBOOKPRO 503
hw90200 MACH_HW90200 HW90200 504
condor MACH_CONDOR CONDOR 505
...
...
@@ -533,3 +533,16 @@ emc1000 MACH_EMC1000 EMC1000 522
tidsc25 MACH_TIDSC25 TIDSC25 523
akcpmxl MACH_AKCPMXL AKCPMXL 524
av3xx MACH_AV3XX AV3XX 525
avila MACH_AVILA AVILA 526
pxa_mpm10 MACH_PXA_MPM10 PXA_MPM10 527
pxa_kyanite MACH_PXA_KYANITE PXA_KYANITE 528
sgold MACH_SGOLD SGOLD 529
oscar MACH_OSCAR OSCAR 530
epxa4usb2 MACH_EPXA4USB2 EPXA4USB2 531
xsengine MACH_XSENGINE XSENGINE 532
ip600 MACH_IP600 IP600 533
mcan2 MACH_MCAN2 MCAN2 534
ddi_blueridge MACH_DDI_BLUERIDGE DDI_BLUERIDGE 535
skyminder MACH_SKYMINDER SKYMINDER 536
lpd79520 MACH_LPD79520 LPD79520 537
edb9302 MACH_EDB9302 EDB9302 538
arch/i386/kernel/dmi_scan.c
View file @
f3b6be8b
...
...
@@ -797,6 +797,7 @@ static __initdata struct dmi_blacklist dmi_blacklist[]={
{
exploding_pnp_bios
,
"ASUS P4P800"
,
{
/* PnPBIOS GPF on boot */
MATCH
(
DMI_BOARD_VENDOR
,
"ASUSTeK Computer Inc."
),
MATCH
(
DMI_BOARD_NAME
,
"P4P800"
),
NO_MATCH
,
NO_MATCH
}
},
/* Machines which have problems handling enabled local APICs */
...
...
arch/ppc/mm/tlb.c
View file @
f3b6be8b
...
...
@@ -66,6 +66,17 @@ void flush_hash_one_pte(pte_t *ptep)
flush_hash_pages
(
mm
->
context
,
addr
,
ptephys
,
1
);
}
/*
* Called by ptep_set_access_flags, must flush on CPUs for which the
* DSI handler can't just "fixup" the TLB on a write fault
*/
void
flush_tlb_page_nohash
(
struct
vm_area_struct
*
vma
,
unsigned
long
addr
)
{
if
(
Hash
!=
0
)
return
;
_tlbie
(
addr
);
}
/*
* Called at the end of a mmu_gather operation to make sure the
* TLB flush is completely done.
...
...
drivers/char/synclink.c
View file @
f3b6be8b
...
...
@@ -4525,7 +4525,7 @@ static int mgsl_init_tty(void)
/* enumerate user specified ISA adapters
*/
static
int
mgsl_enum_isa_devices
(
void
)
static
void
mgsl_enum_isa_devices
(
void
)
{
struct
mgsl_struct
*
info
;
int
i
;
...
...
drivers/video/sbuslib.c
View file @
f3b6be8b
...
...
@@ -122,6 +122,7 @@ int sbusfb_ioctl_helper(unsigned long cmd, unsigned long arg,
cmap
.
red
=
&
red
;
cmap
.
green
=
&
green
;
cmap
.
blue
=
&
blue
;
cmap
.
transp
=
NULL
;
for
(
i
=
0
;
i
<
count
;
i
++
)
{
int
err
;
...
...
include/asm-arm/cacheflush.h
View file @
f3b6be8b
...
...
@@ -291,17 +291,7 @@ flush_cache_page(struct vm_area_struct *vma, unsigned long user_addr)
* about to change to user space. This is the same method as used on SPARC64.
* See update_mmu_cache for the user space part.
*/
extern
void
__flush_dcache_page
(
struct
page
*
);
static
inline
void
flush_dcache_page
(
struct
page
*
page
)
{
struct
address_space
*
mapping
=
page_mapping
(
page
);
if
(
mapping
&&
!
mapping_mapped
(
mapping
))
set_bit
(
PG_dcache_dirty
,
&
page
->
flags
);
else
__flush_dcache_page
(
page
);
}
extern
void
flush_dcache_page
(
struct
page
*
);
#define flush_dcache_mmap_lock(mapping) \
spin_lock_irq(&(mapping)->tree_lock)
...
...
include/asm-ppc/pgtable.h
View file @
f3b6be8b
...
...
@@ -555,8 +555,12 @@ static inline void __ptep_set_access_flags(pte_t *ptep, pte_t entry, int dirty)
(
_PAGE_DIRTY
|
_PAGE_ACCESSED
|
_PAGE_RW
);
pte_update
(
ptep
,
0
,
bits
);
}
#define ptep_set_access_flags(__vma, __address, __ptep, __entry, __dirty) \
__ptep_set_access_flags(__ptep, __entry, __dirty)
do { \
__ptep_set_access_flags(__ptep, __entry, __dirty); \
flush_tlb_page_nohash(__vma, __address); \
} while(0)
/*
* Macro to mark a page protection value as "uncacheable".
...
...
include/asm-ppc/tlbflush.h
View file @
f3b6be8b
...
...
@@ -29,6 +29,9 @@ static inline void flush_tlb_mm(struct mm_struct *mm)
static
inline
void
flush_tlb_page
(
struct
vm_area_struct
*
vma
,
unsigned
long
vmaddr
)
{
_tlbie
(
vmaddr
);
}
static
inline
void
flush_tlb_page_nohash
(
struct
vm_area_struct
*
vma
,
unsigned
long
vmaddr
)
{
_tlbie
(
vmaddr
);
}
static
inline
void
flush_tlb_range
(
struct
vm_area_struct
*
vma
,
unsigned
long
start
,
unsigned
long
end
)
{
__tlbia
();
}
...
...
@@ -44,6 +47,9 @@ static inline void flush_tlb_mm(struct mm_struct *mm)
static
inline
void
flush_tlb_page
(
struct
vm_area_struct
*
vma
,
unsigned
long
vmaddr
)
{
_tlbie
(
vmaddr
);
}
static
inline
void
flush_tlb_page_nohash
(
struct
vm_area_struct
*
vma
,
unsigned
long
vmaddr
)
{
_tlbie
(
vmaddr
);
}
static
inline
void
flush_tlb_range
(
struct
mm_struct
*
mm
,
unsigned
long
start
,
unsigned
long
end
)
{
__tlbia
();
}
...
...
@@ -56,6 +62,7 @@ struct mm_struct;
struct
vm_area_struct
;
extern
void
flush_tlb_mm
(
struct
mm_struct
*
mm
);
extern
void
flush_tlb_page
(
struct
vm_area_struct
*
vma
,
unsigned
long
vmaddr
);
extern
void
flush_tlb_page_nohash
(
struct
vm_area_struct
*
vma
,
unsigned
long
addr
);
extern
void
flush_tlb_range
(
struct
vm_area_struct
*
vma
,
unsigned
long
start
,
unsigned
long
end
);
extern
void
flush_tlb_kernel_range
(
unsigned
long
start
,
unsigned
long
end
);
...
...
include/asm-ppc64/pgtable.h
View file @
f3b6be8b
...
...
@@ -428,7 +428,10 @@ static inline void __ptep_set_access_flags(pte_t *ptep, pte_t entry, int dirty)
:
"cc"
);
}
#define ptep_set_access_flags(__vma, __address, __ptep, __entry, __dirty) \
__ptep_set_access_flags(__ptep, __entry, __dirty)
do { \
__ptep_set_access_flags(__ptep, __entry, __dirty); \
flush_tlb_page_nohash(__vma, __address); \
} while(0)
/*
* Macro to mark a page protection value as "uncacheable".
...
...
include/asm-ppc64/tlbflush.h
View file @
f3b6be8b
...
...
@@ -6,6 +6,7 @@
*
* - flush_tlb_mm(mm) flushes the specified mm context TLB's
* - flush_tlb_page(vma, vmaddr) flushes one page
* - flush_tlb_page_nohash(vma, vmaddr) flushes one page if SW loaded TLB
* - flush_tlb_range(vma, start, end) flushes a range of pages
* - flush_tlb_kernel_range(start, end) flushes a range of kernel pages
* - flush_tlb_pgtables(mm, start, end) flushes a range of page tables
...
...
@@ -39,6 +40,7 @@ static inline void flush_tlb_pending(void)
#define flush_tlb_mm(mm) flush_tlb_pending()
#define flush_tlb_page(vma, addr) flush_tlb_pending()
#define flush_tlb_page_nohash(vma, addr) do { } while (0)
#define flush_tlb_range(vma, start, end) \
do { (void)(start); flush_tlb_pending(); } while (0)
#define flush_tlb_kernel_range(start, end) flush_tlb_pending()
...
...
include/linux/netfilter.h
View file @
f3b6be8b
...
...
@@ -171,6 +171,12 @@ extern void nf_reinject(struct sk_buff *skb,
struct
nf_info
*
info
,
unsigned
int
verdict
);
extern
inline
struct
ipt_target
*
ipt_find_target_lock
(
const
char
*
name
,
int
*
error
,
struct
semaphore
*
mutex
);
extern
inline
struct
ip6t_target
*
ip6t_find_target_lock
(
const
char
*
name
,
int
*
error
,
struct
semaphore
*
mutex
);
extern
inline
struct
arpt_target
*
arpt_find_target_lock
(
const
char
*
name
,
int
*
error
,
struct
semaphore
*
mutex
);
extern
void
(
*
ip_ct_attach
)(
struct
sk_buff
*
,
struct
nf_ct_info
*
);
#ifdef CONFIG_NETFILTER_DEBUG
...
...
include/linux/netfilter_arp.h
View file @
f3b6be8b
...
...
@@ -17,4 +17,5 @@
#define NF_ARP_FORWARD 2
#define NF_ARP_NUMHOOKS 3
static
DECLARE_MUTEX
(
arpt_mutex
);
#endif
/* __LINUX_ARP_NETFILTER_H */
include/linux/netfilter_ipv4/ip_tables.h
View file @
f3b6be8b
...
...
@@ -283,6 +283,8 @@ struct ipt_get_entries
struct
ipt_entry
entrytable
[
0
];
};
extern
struct
semaphore
ipt_mutex
;
/* Standard return verdict, or do jump. */
#define IPT_STANDARD_TARGET ""
/* Error verdict. */
...
...
@@ -334,6 +336,7 @@ ipt_get_target(struct ipt_entry *e)
/*
* Main firewall chains definitions and global var's definitions.
*/
static
DECLARE_MUTEX
(
ipt_mutex
);
#ifdef __KERNEL__
#include <linux/init.h>
...
...
@@ -406,6 +409,11 @@ struct ipt_target
struct
module
*
me
;
};
extern
struct
ipt_target
*
ipt_find_target_lock
(
const
char
*
name
,
int
*
error
,
struct
semaphore
*
mutex
);
extern
struct
arpt_target
*
arpt_find_target_lock
(
const
char
*
name
,
int
*
error
,
struct
semaphore
*
mutex
);
extern
int
ipt_register_target
(
struct
ipt_target
*
target
);
extern
void
ipt_unregister_target
(
struct
ipt_target
*
target
);
...
...
include/linux/netfilter_ipv6/ip6_tables.h
View file @
f3b6be8b
...
...
@@ -106,6 +106,8 @@ struct ip6t_counters
u_int64_t
pcnt
,
bcnt
;
/* Packet and byte counters */
};
static
DECLARE_MUTEX
(
ip6t_mutex
);
/* Values for "flag" field in struct ip6t_ip6 (general ip6 structure). */
#define IP6T_F_PROTO 0x01
/* Set if rule cares about upper
protocols */
...
...
include/linux/watchdog.h
View file @
f3b6be8b
...
...
@@ -10,6 +10,7 @@
#define _LINUX_WATCHDOG_H
#include <linux/ioctl.h>
#include <linux/types.h>
#define WATCHDOG_IOCTL_BASE 'W'
...
...
include/net/tcp.h
View file @
f3b6be8b
...
...
@@ -970,6 +970,9 @@ extern int tcp_sync_mss(struct sock *sk, u32 pmtu);
extern
const
char
timer_bug_msg
[];
/* tcp_diag.c */
extern
void
tcp_get_info
(
struct
sock
*
,
struct
tcp_info
*
);
/* Read 'sendfile()'-style from a TCP socket */
typedef
int
(
*
sk_read_actor_t
)(
read_descriptor_t
*
,
struct
sk_buff
*
,
unsigned
int
,
size_t
);
...
...
kernel/sched.c
View file @
f3b6be8b
...
...
@@ -762,6 +762,13 @@ static int try_to_wake_up(task_t * p, unsigned int state, int sync)
load
=
source_load
(
cpu
);
this_load
=
target_load
(
this_cpu
);
/*
* If sync wakeup then subtract the (maximum possible) effect of
* the currently running task from the load of the current CPU:
*/
if
(
sync
)
this_load
-=
SCHED_LOAD_SCALE
;
/* Don't pull the task off an idle CPU to a busy one */
if
(
load
<
SCHED_LOAD_SCALE
&&
load
+
this_load
>
SCHED_LOAD_SCALE
&&
this_load
>
load
)
...
...
net/ipv4/netfilter/arp_tables.c
View file @
f3b6be8b
...
...
@@ -56,7 +56,6 @@ do { \
#endif
#define SMP_ALIGN(x) (((x) + SMP_CACHE_BYTES-1) & ~(SMP_CACHE_BYTES-1))
static
DECLARE_MUTEX
(
arpt_mutex
);
#define ASSERT_READ_LOCK(x) ARP_NF_ASSERT(down_trylock(&arpt_mutex) != 0)
#define ASSERT_WRITE_LOCK(x) ARP_NF_ASSERT(down_trylock(&arpt_mutex) != 0)
...
...
@@ -388,12 +387,12 @@ find_inlist_lock(struct list_head *head,
}
#endif
static
inline
struct
arpt_table
*
find_table_lock
(
const
char
*
name
,
int
*
error
,
struct
semaphore
*
mutex
)
static
inline
struct
arpt_table
*
arpt_
find_table_lock
(
const
char
*
name
,
int
*
error
,
struct
semaphore
*
mutex
)
{
return
find_inlist_lock
(
&
arpt_tables
,
name
,
"arptable_"
,
error
,
mutex
);
}
st
atic
inline
struct
arpt_target
*
find_target_lock
(
const
char
*
name
,
int
*
error
,
struct
semaphore
*
mutex
)
st
ruct
arpt_target
*
arpt_
find_target_lock
(
const
char
*
name
,
int
*
error
,
struct
semaphore
*
mutex
)
{
return
find_inlist_lock
(
&
arpt_target
,
name
,
"arpt_"
,
error
,
mutex
);
}
...
...
@@ -543,7 +542,7 @@ static inline int check_entry(struct arpt_entry *e, const char *name, unsigned i
}
t
=
arpt_get_target
(
e
);
target
=
find_target_lock
(
t
->
u
.
user
.
name
,
&
ret
,
&
arpt_mutex
);
target
=
arpt_
find_target_lock
(
t
->
u
.
user
.
name
,
&
ret
,
&
arpt_mutex
);
if
(
!
target
)
{
duprintf
(
"check_entry: `%s' not found
\n
"
,
t
->
u
.
user
.
name
);
goto
out
;
...
...
@@ -843,7 +842,7 @@ static int get_entries(const struct arpt_get_entries *entries,
int
ret
;
struct
arpt_table
*
t
;
t
=
find_table_lock
(
entries
->
name
,
&
ret
,
&
arpt_mutex
);
t
=
arpt_
find_table_lock
(
entries
->
name
,
&
ret
,
&
arpt_mutex
);
if
(
t
)
{
duprintf
(
"t->private->number = %u
\n
"
,
t
->
private
->
number
);
...
...
@@ -909,7 +908,7 @@ static int do_replace(void __user *user, unsigned int len)
duprintf
(
"arp_tables: Translated table
\n
"
);
t
=
find_table_lock
(
tmp
.
name
,
&
ret
,
&
arpt_mutex
);
t
=
arpt_
find_table_lock
(
tmp
.
name
,
&
ret
,
&
arpt_mutex
);
if
(
!
t
)
goto
free_newinfo_counters_untrans
;
...
...
@@ -1002,7 +1001,7 @@ static int do_add_counters(void __user *user, unsigned int len)
goto
free
;
}
t
=
find_table_lock
(
tmp
.
name
,
&
ret
,
&
arpt_mutex
);
t
=
arpt_
find_table_lock
(
tmp
.
name
,
&
ret
,
&
arpt_mutex
);
if
(
!
t
)
goto
free
;
...
...
@@ -1075,7 +1074,7 @@ static int do_arpt_get_ctl(struct sock *sk, int cmd, void __user *user, int *len
break
;
}
name
[
ARPT_TABLE_MAXNAMELEN
-
1
]
=
'\0'
;
t
=
find_table_lock
(
name
,
&
ret
,
&
arpt_mutex
);
t
=
arpt_
find_table_lock
(
name
,
&
ret
,
&
arpt_mutex
);
if
(
t
)
{
struct
arpt_getinfo
info
;
...
...
@@ -1323,6 +1322,7 @@ static void __exit fini(void)
EXPORT_SYMBOL
(
arpt_register_table
);
EXPORT_SYMBOL
(
arpt_unregister_table
);
EXPORT_SYMBOL
(
arpt_do_table
);
EXPORT_SYMBOL
(
arpt_find_target_lock
);
EXPORT_SYMBOL
(
arpt_register_target
);
EXPORT_SYMBOL
(
arpt_unregister_target
);
...
...
net/ipv4/netfilter/ip_tables.c
View file @
f3b6be8b
...
...
@@ -61,9 +61,6 @@ do { \
#endif
#define SMP_ALIGN(x) (((x) + SMP_CACHE_BYTES-1) & ~(SMP_CACHE_BYTES-1))
/* Mutex protects lists (only traversed in user context). */
static
DECLARE_MUTEX
(
ipt_mutex
);
/* Must have mutex */
#define ASSERT_READ_LOCK(x) IP_NF_ASSERT(down_trylock(&ipt_mutex) != 0)
#define ASSERT_WRITE_LOCK(x) IP_NF_ASSERT(down_trylock(&ipt_mutex) != 0)
...
...
@@ -418,7 +415,7 @@ find_inlist_lock_noload(struct list_head *head,
{
void
*
ret
;
#if 0
#if 0
duprintf("find_inlist: searching for `%s' in %s.\n",
name, head == &ipt_target ? "ipt_target"
: head == &ipt_match ? "ipt_match"
...
...
@@ -461,7 +458,7 @@ find_inlist_lock(struct list_head *head,
#endif
static
inline
struct
ipt_table
*
find_table_lock
(
const
char
*
name
,
int
*
error
,
struct
semaphore
*
mutex
)
ipt_
find_table_lock
(
const
char
*
name
,
int
*
error
,
struct
semaphore
*
mutex
)
{
return
find_inlist_lock
(
&
ipt_tables
,
name
,
"iptable_"
,
error
,
mutex
);
}
...
...
@@ -472,8 +469,8 @@ find_match_lock(const char *name, int *error, struct semaphore *mutex)
return
find_inlist_lock
(
&
ipt_match
,
name
,
"ipt_"
,
error
,
mutex
);
}
st
atic
inline
st
ruct
ipt_target
*
find_target_lock
(
const
char
*
name
,
int
*
error
,
struct
semaphore
*
mutex
)
struct
ipt_target
*
ipt_
find_target_lock
(
const
char
*
name
,
int
*
error
,
struct
semaphore
*
mutex
)
{
return
find_inlist_lock
(
&
ipt_target
,
name
,
"ipt_"
,
error
,
mutex
);
}
...
...
@@ -688,7 +685,7 @@ check_entry(struct ipt_entry *e, const char *name, unsigned int size,
goto
cleanup_matches
;
t
=
ipt_get_target
(
e
);
target
=
find_target_lock
(
t
->
u
.
user
.
name
,
&
ret
,
&
ipt_mutex
);
target
=
ipt_
find_target_lock
(
t
->
u
.
user
.
name
,
&
ret
,
&
ipt_mutex
);
if
(
!
target
)
{
duprintf
(
"check_entry: `%s' not found
\n
"
,
t
->
u
.
user
.
name
);
goto
cleanup_matches
;
...
...
@@ -1025,7 +1022,7 @@ get_entries(const struct ipt_get_entries *entries,
int
ret
;
struct
ipt_table
*
t
;
t
=
find_table_lock
(
entries
->
name
,
&
ret
,
&
ipt_mutex
);
t
=
ipt_
find_table_lock
(
entries
->
name
,
&
ret
,
&
ipt_mutex
);
if
(
t
)
{
duprintf
(
"t->private->number = %u
\n
"
,
t
->
private
->
number
);
...
...
@@ -1092,7 +1089,7 @@ do_replace(void __user *user, unsigned int len)
duprintf
(
"ip_tables: Translated table
\n
"
);
t
=
find_table_lock
(
tmp
.
name
,
&
ret
,
&
ipt_mutex
);
t
=
ipt_
find_table_lock
(
tmp
.
name
,
&
ret
,
&
ipt_mutex
);
if
(
!
t
)
goto
free_newinfo_counters_untrans
;
...
...
@@ -1195,7 +1192,7 @@ do_add_counters(void __user *user, unsigned int len)
goto
free
;
}
t
=
find_table_lock
(
tmp
.
name
,
&
ret
,
&
ipt_mutex
);
t
=
ipt_
find_table_lock
(
tmp
.
name
,
&
ret
,
&
ipt_mutex
);
if
(
!
t
)
goto
free
;
...
...
@@ -1270,7 +1267,7 @@ do_ipt_get_ctl(struct sock *sk, int cmd, void __user *user, int *len)
break
;
}
name
[
IPT_TABLE_MAXNAMELEN
-
1
]
=
'\0'
;
t
=
find_table_lock
(
name
,
&
ret
,
&
ipt_mutex
);
t
=
ipt_
find_table_lock
(
name
,
&
ret
,
&
ipt_mutex
);
if
(
t
)
{
struct
ipt_getinfo
info
;
...
...
@@ -1855,6 +1852,7 @@ EXPORT_SYMBOL(ipt_unregister_match);
EXPORT_SYMBOL
(
ipt_do_table
);
EXPORT_SYMBOL
(
ipt_register_target
);
EXPORT_SYMBOL
(
ipt_unregister_target
);
EXPORT_SYMBOL
(
ipt_find_target_lock
);
module_init
(
init
);
module_exit
(
fini
);
net/ipv6/netfilter/ip6_tables.c
View file @
f3b6be8b
...
...
@@ -66,8 +66,6 @@ do { \
#endif
#define SMP_ALIGN(x) (((x) + SMP_CACHE_BYTES-1) & ~(SMP_CACHE_BYTES-1))
/* Mutex protects lists (only traversed in user context). */
static
DECLARE_MUTEX
(
ip6t_mutex
);
/* Must have mutex */
#define ASSERT_READ_LOCK(x) IP_NF_ASSERT(down_trylock(&ip6t_mutex) != 0)
...
...
@@ -544,7 +542,7 @@ find_inlist_lock(struct list_head *head,
#endif
static
inline
struct
ip6t_table
*
find_table_lock
(
const
char
*
name
,
int
*
error
,
struct
semaphore
*
mutex
)
ip6t_
find_table_lock
(
const
char
*
name
,
int
*
error
,
struct
semaphore
*
mutex
)
{
return
find_inlist_lock
(
&
ip6t_tables
,
name
,
"ip6table_"
,
error
,
mutex
);
}
...
...
@@ -555,8 +553,8 @@ find_match_lock(const char *name, int *error, struct semaphore *mutex)
return
find_inlist_lock
(
&
ip6t_match
,
name
,
"ip6t_"
,
error
,
mutex
);
}
st
atic
inline
st
ruct
ip6t_target
*
find_target_lock
(
const
char
*
name
,
int
*
error
,
struct
semaphore
*
mutex
)
struct
ip6t_target
*
ip6t_
find_target_lock
(
const
char
*
name
,
int
*
error
,
struct
semaphore
*
mutex
)
{
return
find_inlist_lock
(
&
ip6t_target
,
name
,
"ip6t_"
,
error
,
mutex
);
}
...
...
@@ -771,7 +769,7 @@ check_entry(struct ip6t_entry *e, const char *name, unsigned int size,
goto
cleanup_matches
;
t
=
ip6t_get_target
(
e
);
target
=
find_target_lock
(
t
->
u
.
user
.
name
,
&
ret
,
&
ip6t_mutex
);
target
=
ip6t_
find_target_lock
(
t
->
u
.
user
.
name
,
&
ret
,
&
ip6t_mutex
);
if
(
!
target
)
{
duprintf
(
"check_entry: `%s' not found
\n
"
,
t
->
u
.
user
.
name
);
goto
cleanup_matches
;
...
...
@@ -1111,7 +1109,7 @@ get_entries(const struct ip6t_get_entries *entries,
int
ret
;
struct
ip6t_table
*
t
;
t
=
find_table_lock
(
entries
->
name
,
&
ret
,
&
ip6t_mutex
);
t
=
ip6t_
find_table_lock
(
entries
->
name
,
&
ret
,
&
ip6t_mutex
);
if
(
t
)
{
duprintf
(
"t->private->number = %u
\n
"
,
t
->
private
->
number
);
...
...
@@ -1174,7 +1172,7 @@ do_replace(void __user *user, unsigned int len)
duprintf
(
"ip_tables: Translated table
\n
"
);
t
=
find_table_lock
(
tmp
.
name
,
&
ret
,
&
ip6t_mutex
);
t
=
ip6t_
find_table_lock
(
tmp
.
name
,
&
ret
,
&
ip6t_mutex
);
if
(
!
t
)
goto
free_newinfo_counters_untrans
;
...
...
@@ -1276,7 +1274,7 @@ do_add_counters(void __user *user, unsigned int len)
goto
free
;
}
t
=
find_table_lock
(
tmp
.
name
,
&
ret
,
&
ip6t_mutex
);
t
=
ip6t_
find_table_lock
(
tmp
.
name
,
&
ret
,
&
ip6t_mutex
);
if
(
!
t
)
goto
free
;
...
...
@@ -1351,7 +1349,7 @@ do_ip6t_get_ctl(struct sock *sk, int cmd, void __user *user, int *len)
break
;
}
name
[
IP6T_TABLE_MAXNAMELEN
-
1
]
=
'\0'
;
t
=
find_table_lock
(
name
,
&
ret
,
&
ip6t_mutex
);
t
=
ip6t_
find_table_lock
(
name
,
&
ret
,
&
ip6t_mutex
);
if
(
t
)
{
struct
ip6t_getinfo
info
;
...
...
@@ -1964,6 +1962,7 @@ static void __exit fini(void)
EXPORT_SYMBOL
(
ip6t_register_table
);
EXPORT_SYMBOL
(
ip6t_unregister_table
);
EXPORT_SYMBOL
(
ip6t_do_table
);
EXPORT_SYMBOL
(
ip6t_find_target_lock
);
EXPORT_SYMBOL
(
ip6t_register_match
);
EXPORT_SYMBOL
(
ip6t_unregister_match
);
EXPORT_SYMBOL
(
ip6t_register_target
);
...
...
net/sunrpc/auth_gss/auth_gss.c
View file @
f3b6be8b
...
...
@@ -493,7 +493,7 @@ gss_pipe_downcall(struct file *filp, const char *src, size_t mlen)
spin_unlock
(
&
gss_auth
->
lock
);
rpc_release_client
(
clnt
);
kfree
(
obj
.
data
);
dprintk
(
"RPC: gss_pipe_downcall returning length %u
\n
"
,
mlen
);
dprintk
(
"RPC: gss_pipe_downcall returning length %
Z
u
\n
"
,
mlen
);
return
mlen
;
err:
if
(
ctx
)
...
...
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