*/
/* List of all packet sockets. */
-HLIST_HEAD(packet_sklist);
-static rwlock_t packet_sklist_lock = RW_LOCK_UNLOCKED;
+static HLIST_HEAD(packet_sklist);
+static DEFINE_RWLOCK(packet_sklist_lock);
-atomic_t packet_socks_nr;
+static atomic_t packet_socks_nr;
/* Private packet socket structures. */
#define pkt_sk(__sk) ((struct packet_opt *)(__sk)->sk_protinfo)
-void packet_sock_destruct(struct sock *sk)
+static void packet_sock_destruct(struct sock *sk)
{
BUG_TRAP(!atomic_read(&sk->sk_rmem_alloc));
BUG_TRAP(!atomic_read(&sk->sk_wmem_alloc));
}
-extern struct proto_ops packet_ops;
+static struct proto_ops packet_ops;
#ifdef CONFIG_SOCK_PACKET
-extern struct proto_ops packet_ops_spkt;
+static struct proto_ops packet_ops_spkt;
static int packet_rcv_spkt(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt)
{
}
}
-int packet_getsockopt(struct socket *sock, int level, int optname,
- char __user *optval, int __user *optlen)
+static int packet_getsockopt(struct socket *sock, int level, int optname,
+ char __user *optval, int __user *optlen)
{
int len;
struct sock *sk = sock->sk;
#define packet_poll datagram_poll
#else
-unsigned int packet_poll(struct file * file, struct socket *sock, poll_table *wait)
+static unsigned int packet_poll(struct file * file, struct socket *sock,
+ poll_table *wait)
{
struct sock *sk = sock->sk;
struct packet_opt *po = pkt_sk(sk);
start = vma->vm_start;
err = -EAGAIN;
for (i=0; i<po->pg_vec_len; i++) {
- if (remap_page_range(vma, start, __pa(po->pg_vec[i]),
+ if (remap_pfn_range(vma, start,
+ __pa(po->pg_vec[i]) >> PAGE_SHIFT,
po->pg_vec_pages*PAGE_SIZE,
vma->vm_page_prot))
goto out;
#ifdef CONFIG_SOCK_PACKET
-struct proto_ops packet_ops_spkt = {
+static struct proto_ops packet_ops_spkt = {
.family = PF_PACKET,
.owner = THIS_MODULE,
.release = packet_release,
};
#endif
-struct proto_ops packet_ops = {
+static struct proto_ops packet_ops = {
.family = PF_PACKET,
.owner = THIS_MODULE,
.release = packet_release,