Module Name: src Committed By: msaitoh Date: Mon Nov 7 08:32:35 UTC 2022
Modified Files: src/sys/net: if_dl.h Log Message: Increase sdl_data so that more then IFNAMSIZ bytes are available (again). COMPAT_9 is not required. - The getifaddrs(3) function has no problem. The routing message has no problem because struct rtm_msglen has rtm_msglen and we can get the next message using with it. There is no any kernel data structure which has struct sockaddr_dl foobadr[xxx] array. - A data passed from userland and a kernel data are compared with sockaddr_cmp(). The return value is used to check if the size is inadequate or not. - In the kernel, sdl_len is not directly used for the length of memcpy() but the sockaddr_dl_measure() is used for it. To generate a diff of this commit: cvs rdiff -u -r1.30 -r1.31 src/sys/net/if_dl.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/net/if_dl.h diff -u src/sys/net/if_dl.h:1.30 src/sys/net/if_dl.h:1.31 --- src/sys/net/if_dl.h:1.30 Thu Oct 27 00:25:11 2022 +++ src/sys/net/if_dl.h Mon Nov 7 08:32:35 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: if_dl.h,v 1.30 2022/10/27 00:25:11 msaitoh Exp $ */ +/* $NetBSD: if_dl.h,v 1.31 2022/11/07 08:32:35 msaitoh Exp $ */ /* * Copyright (c) 1990, 1993 @@ -68,11 +68,11 @@ struct dl_addr { uint8_t dl_nlen; /* interface name length, no trailing 0 reqd. */ uint8_t dl_alen; /* link level address length */ uint8_t dl_slen; /* link layer selector length */ - /* - * minimum work area, can be larger; contains both if name - * and ll address - */ - char dl_data[12]; + char dl_data[24]; /* + * minimum work area, can be larger; contains + * both if name and ll address; big enough for + * IFNAMSIZ plus 8byte ll addr. + */ }; /*