Merge 265bf63e24
("sctp: ensure sk_state is set to CLOSED if hashing fails in sctp_listen_start") into android12-5.10-lts
Steps on the way to 5.10.227 Change-Id: Icd51aea58e6744d6fa9097da88dd177513a532c6 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
commit
ff0e27a0f9
@ -404,6 +404,8 @@ static void __aspeed_gpio_set(struct gpio_chip *gc, unsigned int offset,
|
||||
gpio->dcache[GPIO_BANK(offset)] = reg;
|
||||
|
||||
iowrite32(reg, addr);
|
||||
/* Flush write */
|
||||
ioread32(addr);
|
||||
}
|
||||
|
||||
static void aspeed_gpio_set(struct gpio_chip *gc, unsigned int offset,
|
||||
@ -1157,7 +1159,7 @@ static int __init aspeed_gpio_probe(struct platform_device *pdev)
|
||||
if (!gpio_id)
|
||||
return -EINVAL;
|
||||
|
||||
gpio->clk = of_clk_get(pdev->dev.of_node, 0);
|
||||
gpio->clk = devm_clk_get_enabled(&pdev->dev, NULL);
|
||||
if (IS_ERR(gpio->clk)) {
|
||||
dev_warn(&pdev->dev,
|
||||
"Failed to get clock from devicetree, debouncing disabled\n");
|
||||
|
@ -576,7 +576,7 @@ static int mal_probe(struct platform_device *ofdev)
|
||||
printk(KERN_ERR "%pOF: Support for 405EZ not enabled!\n",
|
||||
ofdev->dev.of_node);
|
||||
err = -ENODEV;
|
||||
goto fail;
|
||||
goto fail_unmap;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -9536,6 +9536,10 @@ static void igb_io_resume(struct pci_dev *pdev)
|
||||
struct igb_adapter *adapter = netdev_priv(netdev);
|
||||
|
||||
if (netif_running(netdev)) {
|
||||
if (!test_bit(__IGB_DOWN, &adapter->state)) {
|
||||
dev_dbg(&pdev->dev, "Resuming from non-fatal error, do nothing.\n");
|
||||
return;
|
||||
}
|
||||
if (igb_up(adapter)) {
|
||||
dev_err(&pdev->dev, "igb_up failed after reset\n");
|
||||
return;
|
||||
|
@ -833,7 +833,6 @@ static inline void qdisc_calculate_pkt_len(struct sk_buff *skb,
|
||||
static inline int qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch,
|
||||
struct sk_buff **to_free)
|
||||
{
|
||||
qdisc_calculate_pkt_len(skb, sch);
|
||||
return sch->enqueue(skb, sch, to_free);
|
||||
}
|
||||
|
||||
|
@ -589,7 +589,6 @@ void __qdisc_calculate_pkt_len(struct sk_buff *skb,
|
||||
pkt_len = 1;
|
||||
qdisc_skb_cb(skb)->pkt_len = pkt_len;
|
||||
}
|
||||
EXPORT_SYMBOL(__qdisc_calculate_pkt_len);
|
||||
|
||||
void qdisc_warn_nonwc(const char *txt, struct Qdisc *qdisc)
|
||||
{
|
||||
@ -1119,6 +1118,12 @@ static int qdisc_graft(struct net_device *dev, struct Qdisc *parent,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (new &&
|
||||
!(parent->flags & TCQ_F_MQROOT) &&
|
||||
rcu_access_pointer(new->stab)) {
|
||||
NL_SET_ERR_MSG(extack, "STAB not supported on a non root");
|
||||
return -EINVAL;
|
||||
}
|
||||
err = cops->graft(parent, cl, new, &old, extack);
|
||||
if (err)
|
||||
return err;
|
||||
|
@ -8262,6 +8262,7 @@ static int sctp_listen_start(struct sock *sk, int backlog)
|
||||
struct sctp_endpoint *ep = sp->ep;
|
||||
struct crypto_shash *tfm = NULL;
|
||||
char alg[32];
|
||||
int err;
|
||||
|
||||
/* Allocate HMAC for generating cookie. */
|
||||
if (!sp->hmac && sp->sctp_hmac_alg) {
|
||||
@ -8289,18 +8290,25 @@ static int sctp_listen_start(struct sock *sk, int backlog)
|
||||
inet_sk_set_state(sk, SCTP_SS_LISTENING);
|
||||
if (!ep->base.bind_addr.port) {
|
||||
if (sctp_autobind(sk)) {
|
||||
inet_sk_set_state(sk, SCTP_SS_CLOSED);
|
||||
return -EAGAIN;
|
||||
err = -EAGAIN;
|
||||
goto err;
|
||||
}
|
||||
} else {
|
||||
if (sctp_get_port(sk, inet_sk(sk)->inet_num)) {
|
||||
inet_sk_set_state(sk, SCTP_SS_CLOSED);
|
||||
return -EADDRINUSE;
|
||||
err = -EADDRINUSE;
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
|
||||
WRITE_ONCE(sk->sk_max_ack_backlog, backlog);
|
||||
return sctp_hash_endpoint(ep);
|
||||
err = sctp_hash_endpoint(ep);
|
||||
if (err)
|
||||
goto err;
|
||||
|
||||
return 0;
|
||||
err:
|
||||
inet_sk_set_state(sk, SCTP_SS_CLOSED);
|
||||
return err;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user