From: Bart Van Assche <bvanassche-HInyCGIudOg@public.gmane.org>
To: sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Subject: Re: [PATCH 11/16] ibacm: Add thread to monitor IP address changes
Date: Fri, 28 Mar 2014 07:43:25 +0100 [thread overview]
Message-ID: <53351A0D.1010007@acm.org> (raw)
In-Reply-To: <1395985810-23822-12-git-send-email-sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
On 03/28/14 06:50, sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org wrote:
> + while ((len = recv(sock, buffer, NL_MSG_BUF_SIZE, 0)) > 0) {
> + nlh = (struct nlmsghdr *)buffer;
> + while ((NLMSG_OK(nlh, len)) && (nlh->nlmsg_type != NLMSG_DONE)) {
> + struct ifaddrmsg *ifa = (struct ifaddrmsg *) NLMSG_DATA(nlh);
> + struct ifinfomsg *ifi = (struct ifinfomsg *) NLMSG_DATA(nlh);
> + struct rtattr *rth = IFA_RTA(ifa);
> + int rtl = IFA_PAYLOAD(nlh);
> +
> + switch (nlh->nlmsg_type) {
> + [ ... ]
> + nlh = NLMSG_NEXT(nlh, len);
> + }
> + }
Is there any reason why this code doesn't handle netlink buffer
overflows (ENOBUFS) ? From the netlink(7) man page:
Netlink is not a reliable protocol. [ ... ] The kernel can't send a
netlink message if the socket buffer is full: the message will be
dropped and the kernel and the user-space process will no longer have
the same view of kernel state. It is up to the application to detect
when this happens (via the ENOBUFS error returned by recvmsg(2)) and
resynchronize.
Bart.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-03-28 6:43 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-28 5:49 [PATCH 00/16] ibacm: Implement dynamic IP support sean.hefty-ral2JQCrhuEAvxtiuMwx3w
[not found] ` <1395985810-23822-1-git-send-email-sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-03-28 5:49 ` [PATCH 01/16] ibacm: get_devaddr remove unused variable from signature sean.hefty-ral2JQCrhuEAvxtiuMwx3w
2014-03-28 5:49 ` [PATCH 02/16] ibacm: pass interface name rather than 'struct ifreq' to get_devaddr, get_sgid, and get_pkey sean.hefty-ral2JQCrhuEAvxtiuMwx3w
2014-03-28 5:49 ` [PATCH 03/16] ibacm: use sysfs (in acm_if_is_ib) rather than ioctl(... SIOCGIFHWADDR ...) to read interface type sean.hefty-ral2JQCrhuEAvxtiuMwx3w
2014-03-28 5:49 ` [PATCH 04/16] ibacm: move sysfs helper functions to acm_util 'module' sean.hefty-ral2JQCrhuEAvxtiuMwx3w
2014-03-28 5:49 ` [PATCH 05/16] ibacm: Move calling of helper functions out of get_devaddr sean.hefty-ral2JQCrhuEAvxtiuMwx3w
2014-03-28 5:50 ` [PATCH 06/16] ibacm: move acm_if_iter_sys to acm_util.c sean.hefty-ral2JQCrhuEAvxtiuMwx3w
2014-03-28 5:50 ` [PATCH 07/16] ibacm: convert logging in acm_util.c to acm_log sean.hefty-ral2JQCrhuEAvxtiuMwx3w
2014-03-28 5:50 ` [PATCH 08/16] ibacm: add separate acm_ep_insert_addr function sean.hefty-ral2JQCrhuEAvxtiuMwx3w
2014-03-28 5:50 ` [PATCH 09/16] ibacm: read system IP's into endpoints at startup sean.hefty-ral2JQCrhuEAvxtiuMwx3w
2014-03-28 5:50 ` [PATCH 10/16] ibacm: add locking around end point address arrays sean.hefty-ral2JQCrhuEAvxtiuMwx3w
2014-03-28 5:50 ` [PATCH 11/16] ibacm: Add thread to monitor IP address changes sean.hefty-ral2JQCrhuEAvxtiuMwx3w
[not found] ` <1395985810-23822-12-git-send-email-sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-03-28 6:43 ` Bart Van Assche [this message]
[not found] ` <53351A0D.1010007-HInyCGIudOg@public.gmane.org>
2014-03-28 15:51 ` Weiny, Ira
[not found] ` <2807E5FD2F6FDA4886F6618EAC48510E04B34C7A-8k97q/ur5Z2krb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-03-28 16:23 ` Bart Van Assche
2014-03-28 5:50 ` [PATCH 12/16] ibacm: add/remove addr's in EP's when added/removed from the system sean.hefty-ral2JQCrhuEAvxtiuMwx3w
2014-03-28 5:50 ` [PATCH 13/16] ibacm: fix handling of aliased IPoIB devices sean.hefty-ral2JQCrhuEAvxtiuMwx3w
2014-03-28 5:50 ` [PATCH 14/16] ibacm: ib_acme remove IP addresses from ibacm_addr.cfg file generation sean.hefty-ral2JQCrhuEAvxtiuMwx3w
2014-03-28 5:50 ` [PATCH 15/16] ibacm: remove acm_if_iter_sys function sean.hefty-ral2JQCrhuEAvxtiuMwx3w
2014-03-28 5:50 ` [PATCH 16/16] ibacm: remove processing of IP's from ibacm_addr.cfg sean.hefty-ral2JQCrhuEAvxtiuMwx3w
[not found] ` <1395985810-23822-17-git-send-email-sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-03-28 16:37 ` Hefty, Sean
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53351A0D.1010007@acm.org \
--to=bvanassche-hinycgiudog@public.gmane.org \
--cc=ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox