Re: getifaddrs() and CONFIG_PAGE_SIZE_16KB=y

nenhard <[email protected]>
Newsgroups gmane.comp.lib.uclibc.general
Message-ID <CAHjYbdFghCRPB3we_+_wwXcSa+WbhwGEcP=LLJgHZ480VO+hzQ@mail.gmail.com>
Thanks, here is a workaround.
Can someone do a proper patch?

diff -rup a/libc/inet/ifaddrs.c b/libc/inet/ifaddrs.c
--- a/libc/inet/ifaddrs.c 2012-05-15 09:20:09.000000000 +0200
+++ b/libc/inet/ifaddrs.c 2015-03-29 15:07:11.528316570 +0200
@@ -119,7 +119,7 @@ __netlink_request (struct netlink_handle
 {
   struct netlink_res *nlm_next;
   struct netlink_res **new_nlm_list;
-  static volatile size_t buf_size = 4096;
+  static volatile size_t buf_size = 16384;
   char *buf;
   struct sockaddr_nl nladdr;
   struct nlmsghdr *nlmh;

2015-03-29 19:40 GMT+02:00 Rich Felker <[email protected]>:

> On Sun, Mar 29, 2015 at 02:03:47PM +0200, Nenad Kljajić wrote:
> > When I compiled MIPS32 kernel with option CONFIG_PAGE_SIZE_16KB=y
> >  getifaddrs() fails with 'Device or resource busy'.
>
> Netlink sockets require a page-sized buffer for the response. uClibc
> probably has a hard-coded 4k or 8k result buffer rather than using the
> current page size...
>
> Rich
>
_______________________________________________
uClibc mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/uclibc
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.