mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
net/af_iucv: don't lookup the socket on TX notification
Whoever called iucv_sk(sk)->sk_txnotify() must already know that they're dealing with an af_iucv socket. Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com> Acked-by: Willem de Bruijn <willemb@google.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
27e9c1de52
commit
c464444fa2
@ -2134,23 +2134,14 @@ static int afiucv_hs_rcv(struct sk_buff *skb, struct net_device *dev,
|
||||
static void afiucv_hs_callback_txnotify(struct sk_buff *skb,
|
||||
enum iucv_tx_notify n)
|
||||
{
|
||||
struct sock *isk = skb->sk;
|
||||
struct sock *sk = NULL;
|
||||
struct iucv_sock *iucv = NULL;
|
||||
struct iucv_sock *iucv = iucv_sk(skb->sk);
|
||||
struct sock *sk = skb->sk;
|
||||
struct sk_buff_head *list;
|
||||
struct sk_buff *list_skb;
|
||||
struct sk_buff *nskb;
|
||||
unsigned long flags;
|
||||
|
||||
read_lock_irqsave(&iucv_sk_list.lock, flags);
|
||||
sk_for_each(sk, &iucv_sk_list.head)
|
||||
if (sk == isk) {
|
||||
iucv = iucv_sk(sk);
|
||||
break;
|
||||
}
|
||||
read_unlock_irqrestore(&iucv_sk_list.lock, flags);
|
||||
|
||||
if (!iucv || sock_flag(sk, SOCK_ZAPPED))
|
||||
if (sock_flag(sk, SOCK_ZAPPED))
|
||||
return;
|
||||
|
||||
list = &iucv->send_skb_q;
|
||||
|
Loading…
Reference in New Issue
Block a user