perf: Do the comm inheritance per thread in event__process_task
[safe/jmp/linux-2.6] / net / llc / llc_c_ac.c
index 860140c..ea225bd 100644 (file)
@@ -18,6 +18,7 @@
  * See the GNU General Public License for more details.
  */
 #include <linux/netdevice.h>
+#include <linux/slab.h>
 #include <net/llc_conn.h>
 #include <net/llc_sap.h>
 #include <net/sock.h>
@@ -198,7 +199,7 @@ int llc_conn_ac_send_disc_cmd_p_set_x(struct sock *sk, struct sk_buff *skb)
 {
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U, 0);
 
        if (nskb) {
                struct llc_sap *sap = llc->sap;
@@ -223,7 +224,7 @@ int llc_conn_ac_send_dm_rsp_f_set_p(struct sock *sk, struct sk_buff *skb)
 {
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U, 0);
 
        if (nskb) {
                struct llc_sap *sap = llc->sap;
@@ -249,7 +250,7 @@ int llc_conn_ac_send_dm_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
 {
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U, 0);
 
        if (nskb) {
                struct llc_sap *sap = llc->sap;
@@ -282,7 +283,8 @@ int llc_conn_ac_send_frmr_rsp_f_set_x(struct sock *sk, struct sk_buff *skb)
                llc_pdu_decode_pf_bit(skb, &f_bit);
        else
                f_bit = 0;
-       nskb = llc_alloc_frame(sk, llc->dev);
+       nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U,
+                              sizeof(struct llc_frmr_info));
        if (nskb) {
                struct llc_sap *sap = llc->sap;
 
@@ -306,7 +308,8 @@ int llc_conn_ac_resend_frmr_rsp_f_set_0(struct sock *sk, struct sk_buff *skb)
 {
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U,
+                                              sizeof(struct llc_frmr_info));
 
        if (nskb) {
                struct llc_sap *sap = llc->sap;
@@ -336,7 +339,8 @@ int llc_conn_ac_resend_frmr_rsp_f_set_p(struct sock *sk, struct sk_buff *skb)
        struct llc_sock *llc = llc_sk(sk);
 
        llc_pdu_decode_pf_bit(skb, &f_bit);
-       nskb = llc_alloc_frame(sk, llc->dev);
+       nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U,
+                              sizeof(struct llc_frmr_info));
        if (nskb) {
                struct llc_sap *sap = llc->sap;
                struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb);
@@ -424,7 +428,7 @@ int llc_conn_ac_resend_i_xxx_x_set_0_or_send_rr(struct sock *sk,
        struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb);
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U, 0);
 
        if (nskb) {
                struct llc_sap *sap = llc->sap;
@@ -459,7 +463,7 @@ int llc_conn_ac_send_rej_cmd_p_set_1(struct sock *sk, struct sk_buff *skb)
 {
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
 
        if (nskb) {
                struct llc_sap *sap = llc->sap;
@@ -483,7 +487,7 @@ int llc_conn_ac_send_rej_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
 {
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
 
        if (nskb) {
                struct llc_sap *sap = llc->sap;
@@ -507,7 +511,7 @@ int llc_conn_ac_send_rej_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
 {
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
 
        if (nskb) {
                struct llc_sap *sap = llc->sap;
@@ -531,7 +535,7 @@ int llc_conn_ac_send_rnr_cmd_p_set_1(struct sock *sk, struct sk_buff *skb)
 {
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
 
        if (nskb) {
                struct llc_sap *sap = llc->sap;
@@ -555,7 +559,7 @@ int llc_conn_ac_send_rnr_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
 {
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
 
        if (nskb) {
                struct llc_sap *sap = llc->sap;
@@ -579,7 +583,7 @@ int llc_conn_ac_send_rnr_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
 {
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
 
        if (nskb) {
                struct llc_sap *sap = llc->sap;
@@ -615,7 +619,7 @@ int llc_conn_ac_opt_send_rnr_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
 {
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
 
        if (nskb) {
                struct llc_sap *sap = llc->sap;
@@ -639,7 +643,7 @@ int llc_conn_ac_send_rr_cmd_p_set_1(struct sock *sk, struct sk_buff *skb)
 {
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
 
        if (nskb) {
                struct llc_sap *sap = llc->sap;
@@ -663,7 +667,7 @@ int llc_conn_ac_send_rr_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
 {
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
 
        if (nskb) {
                struct llc_sap *sap = llc->sap;
@@ -688,7 +692,7 @@ int llc_conn_ac_send_ack_rsp_f_set_1(struct sock *sk, struct sk_buff *skb)
 {
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
 
        if (nskb) {
                struct llc_sap *sap = llc->sap;
@@ -712,7 +716,7 @@ int llc_conn_ac_send_rr_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
 {
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
 
        if (nskb) {
                struct llc_sap *sap = llc->sap;
@@ -736,7 +740,7 @@ int llc_conn_ac_send_ack_xxx_x_set_0(struct sock *sk, struct sk_buff *skb)
 {
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
 
        if (nskb) {
                struct llc_sap *sap = llc->sap;
@@ -770,7 +774,7 @@ int llc_conn_ac_send_sabme_cmd_p_set_x(struct sock *sk, struct sk_buff *skb)
 {
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U, 0);
 
        if (nskb) {
                struct llc_sap *sap = llc->sap;
@@ -799,7 +803,7 @@ int llc_conn_ac_send_ua_rsp_f_set_p(struct sock *sk, struct sk_buff *skb)
        u8 f_bit;
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_U, 0);
 
        llc_pdu_decode_pf_bit(skb, &f_bit);
        if (nskb) {
@@ -956,7 +960,7 @@ static int llc_conn_ac_send_rr_rsp_f_set_ackpf(struct sock *sk,
 {
        int rc = -ENOBUFS;
        struct llc_sock *llc = llc_sk(sk);
-       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev);
+       struct sk_buff *nskb = llc_alloc_frame(sk, llc->dev, LLC_PDU_TYPE_S, 0);
 
        if (nskb) {
                struct llc_sap *sap = llc->sap;
@@ -1427,14 +1431,14 @@ static void llc_process_tmr_ev(struct sock *sk, struct sk_buff *skb)
 {
        if (llc_sk(sk)->state == LLC_CONN_OUT_OF_SVC) {
                printk(KERN_WARNING "%s: timer called on closed connection\n",
-                      __FUNCTION__);
+                      __func__);
                kfree_skb(skb);
        } else {
                if (!sock_owned_by_user(sk))
                        llc_conn_state_process(sk, skb);
                else {
                        llc_set_backlog_type(skb, LLC_EVENT);
-                       sk_add_backlog(sk, skb);
+                       __sk_add_backlog(sk, skb);
                }
        }
 }