lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20180402015422.GA3795@jagdpanzerIV> Date: Mon, 2 Apr 2018 10:54:22 +0900 From: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com> To: Dmitry Vyukov <dvyukov@...gle.com> Cc: syzbot <syzbot+3f28bd18291266ec826b@...kaller.appspotmail.com>, LKML <linux-kernel@...r.kernel.org>, Petr Mladek <pmladek@...e.com>, Steven Rostedt <rostedt@...dmis.org>, Sergey Senozhatsky <sergey.senozhatsky@...il.com>, syzkaller-bugs@...glegroups.com, Samuel Ortiz <sameo@...ux.intel.com>, David Miller <davem@...emloft.net>, linux-wireless@...r.kernel.org, netdev <netdev@...r.kernel.org> Subject: Re: INFO: rcu detected stall in vprintk_func On (04/01/18 12:51), Dmitry Vyukov wrote: [..] > > IMPORTANT: if you fix the bug, please add the following tag to the commit: > > Reported-by: syzbot+3f28bd18291266ec826b@...kaller.appspotmail.com > > It will help syzbot understand when the bug is fixed. See footer for > > details. > > If you forward the report, please keep this part and the footer. > > > > llcp: nfc_llcp_send_ui_frame: Could not allocate PDU > > llcp: nfc_llcp_send_ui_frame: Could not allocate PDU > > llcp: nfc_llcp_send_ui_frame: Could not allocate PDU > > llcp: nfc_llcp_send_ui_frame: Could not allocate PDU Yes, this thing do { remote_miu = sock->remote_miu > LLCP_MAX_MIU ? local->remote_miu : sock->remote_miu; frag_len = min_t(size_t, remote_miu, remaining_len); pr_debug("Fragment %zd bytes remaining %zd", frag_len, remaining_len); pdu = nfc_alloc_send_skb(sock->dev, &sock->sk, MSG_DONTWAIT, frag_len + LLCP_HEADER_SIZE, &err); if (pdu == NULL) { pr_err("Could not allocate PDU\n"); continue; ^^^^^^^^ } is basically do { pr_err("Could not allocate PDU\n"); } while (1) Can cause problems sometimes. But this loop is a bit worrisome even without the printk() call. >From printk() side, we only can do rate limiting here. Would be great if nfc maintainers could take a look and tweak the loop maybe. --- diff --git a/net/nfc/llcp_core.c b/net/nfc/llcp_core.c index ef4026a23e80..a309a27581da 100644 --- a/net/nfc/llcp_core.c +++ b/net/nfc/llcp_core.c @@ -1386,7 +1386,7 @@ static void nfc_llcp_recv_agf(struct nfc_llcp_local *local, struct sk_buff *skb) new_skb = nfc_alloc_recv_skb(pdu_len, GFP_KERNEL); if (new_skb == NULL) { - pr_err("Could not allocate PDU\n"); + pr_err_ratelimited("Could not allocate PDU\n"); return; }
Powered by blists - more mailing lists