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.
+				  */
 };
 
 /*

Reply via email to