Sun Apr 14 17:37:33 2019 UTC ()
Fix typo in patch, reported by Greg A. Woods in PR pkg/54119.
While ipxe/src/net/fcels.c is build, it part of a library archive and
as none of its functions are used it's not inclued in the final link.
That's why calling the nonexistant suzeif() here doesn't matters.


(bouyer)
diff -r1.4 -r1.5 pkgsrc/sysutils/xentools411/distinfo
diff -r1.1 -r1.2 pkgsrc/sysutils/xentools411/patches/patch-.._ipxe_src_net_fcels.c

cvs diff -r1.4 -r1.5 pkgsrc/sysutils/xentools411/Attic/distinfo (switch to unified diff)

--- pkgsrc/sysutils/xentools411/Attic/distinfo 2019/03/16 16:39:17 1.4
+++ pkgsrc/sysutils/xentools411/Attic/distinfo 2019/04/14 17:37:33 1.5
@@ -1,80 +1,80 @@ @@ -1,80 +1,80 @@
1$NetBSD: distinfo,v 1.4 2019/03/16 16:39:17 bouyer Exp $ 1$NetBSD: distinfo,v 1.5 2019/04/14 17:37:33 bouyer Exp $
2 2
3SHA1 (xen411/ipxe-git-356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d.tar.gz) = 272b8c904dc0127690eca2c5c20c67479e40da34 3SHA1 (xen411/ipxe-git-356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d.tar.gz) = 272b8c904dc0127690eca2c5c20c67479e40da34
4RMD160 (xen411/ipxe-git-356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d.tar.gz) = cfcb4a314c15da19b36132b27126f3bd9699d0e5 4RMD160 (xen411/ipxe-git-356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d.tar.gz) = cfcb4a314c15da19b36132b27126f3bd9699d0e5
5SHA512 (xen411/ipxe-git-356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d.tar.gz) = bbcce5e55040e7e29adebd4a5253a046016a6e2e7ff34cf801a42d147e1ec1af57e0297318249bfa9c5bbeac969fe4b37c18cbf845a80b2136d65387a4fc31da 5SHA512 (xen411/ipxe-git-356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d.tar.gz) = bbcce5e55040e7e29adebd4a5253a046016a6e2e7ff34cf801a42d147e1ec1af57e0297318249bfa9c5bbeac969fe4b37c18cbf845a80b2136d65387a4fc31da
6Size (xen411/ipxe-git-356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d.tar.gz) = 3732065 bytes 6Size (xen411/ipxe-git-356f6c1b64d7a97746d1816cef8ca22bdd8d0b5d.tar.gz) = 3732065 bytes
7SHA1 (xen411/xen-4.11.1.tar.gz) = aeb45f3b05aaa73dd2ef3a0c533a975495b58c17 7SHA1 (xen411/xen-4.11.1.tar.gz) = aeb45f3b05aaa73dd2ef3a0c533a975495b58c17
8RMD160 (xen411/xen-4.11.1.tar.gz) = c0eaf57cfbd4f762e8367bcf88e99912d2089084 8RMD160 (xen411/xen-4.11.1.tar.gz) = c0eaf57cfbd4f762e8367bcf88e99912d2089084
9SHA512 (xen411/xen-4.11.1.tar.gz) = c1655c5decdaed95a2b9a99652318cfc72f6cfdae957cfe60d635f7787e8850f33e8fafc4c4b8d61fb579c9b9d93028a6382903e71808a0418b931e76d72a649 9SHA512 (xen411/xen-4.11.1.tar.gz) = c1655c5decdaed95a2b9a99652318cfc72f6cfdae957cfe60d635f7787e8850f33e8fafc4c4b8d61fb579c9b9d93028a6382903e71808a0418b931e76d72a649
10Size (xen411/xen-4.11.1.tar.gz) = 25152217 bytes 10Size (xen411/xen-4.11.1.tar.gz) = 25152217 bytes
11SHA1 (patch-.._ipxe_src_core_settings.c) = 1eab2fbd8b22dde2b8aa830ae7701603486f74e4 11SHA1 (patch-.._ipxe_src_core_settings.c) = 1eab2fbd8b22dde2b8aa830ae7701603486f74e4
12SHA1 (patch-.._ipxe_src_net_fcels.c) = 3b515307d8203b60815ad76bfd2a82289e05ebc5 12SHA1 (patch-.._ipxe_src_net_fcels.c) = eda41b25c3d5f5bef33caa9a6af28c40cb91e66b
13SHA1 (patch-Config.mk) = c41005a60de2f94a72b0206030eb021c137653d3 13SHA1 (patch-Config.mk) = c41005a60de2f94a72b0206030eb021c137653d3
14SHA1 (patch-Makefile) = 2f3a5eafc5039b149c98dd5e59c39a3197fd9264 14SHA1 (patch-Makefile) = 2f3a5eafc5039b149c98dd5e59c39a3197fd9264
15SHA1 (patch-docs_man_xl-disk-configuration.pod.5) = 03ff4c22dde1e1b60ab8750c8971ea057e479151 15SHA1 (patch-docs_man_xl-disk-configuration.pod.5) = 03ff4c22dde1e1b60ab8750c8971ea057e479151
16SHA1 (patch-docs_man_xl.cfg.pod.5.in) = 951915037a9975b76cc5c41a0e1abe0a202a3696 16SHA1 (patch-docs_man_xl.cfg.pod.5.in) = 951915037a9975b76cc5c41a0e1abe0a202a3696
17SHA1 (patch-docs_man_xl.conf.pod.5) = d77e3313750db315d540d7713c95cd54d6f02938 17SHA1 (patch-docs_man_xl.conf.pod.5) = d77e3313750db315d540d7713c95cd54d6f02938
18SHA1 (patch-docs_man_xl.pod.1.in) = 9b37ef724f2827bc05110e5456a8668257509cab 18SHA1 (patch-docs_man_xl.pod.1.in) = 9b37ef724f2827bc05110e5456a8668257509cab
19SHA1 (patch-docs_man_xlcpupool.cfg.pod.5) = 3f6db65d95b5fc607c2fa7e2fc975e0ddbfdd5e5 19SHA1 (patch-docs_man_xlcpupool.cfg.pod.5) = 3f6db65d95b5fc607c2fa7e2fc975e0ddbfdd5e5
20SHA1 (patch-docs_misc_block-scripts.txt) = 29a49edc4d15c4c8db822fd1d6356d07aeb27b86 20SHA1 (patch-docs_misc_block-scripts.txt) = 29a49edc4d15c4c8db822fd1d6356d07aeb27b86
21SHA1 (patch-extras_mini-os_Config.mk) = cb5cdb32f1b3c55abad702ab6768caf59d886ff2 21SHA1 (patch-extras_mini-os_Config.mk) = cb5cdb32f1b3c55abad702ab6768caf59d886ff2
22SHA1 (patch-extras_mini-os_arch_x86_arch.mk) = 8b4f1fe0e888f5b70408d2cc3a3968ce27eae5dc 22SHA1 (patch-extras_mini-os_arch_x86_arch.mk) = 8b4f1fe0e888f5b70408d2cc3a3968ce27eae5dc
23SHA1 (patch-extras_mini-os_include_fcntl.h) = 4ed18497227c8c327ee3db9d793caa4ac6254822 23SHA1 (patch-extras_mini-os_include_fcntl.h) = 4ed18497227c8c327ee3db9d793caa4ac6254822
24SHA1 (patch-extras_mini-os_include_time.h) = ab3b0794bf892ce6a036aa889c6852d65b508596 24SHA1 (patch-extras_mini-os_include_time.h) = ab3b0794bf892ce6a036aa889c6852d65b508596
25SHA1 (patch-extras_mini-os_lib_sys.c) = f6514ad743a206c0e81dcccd2586e8fe65bfd1b9 25SHA1 (patch-extras_mini-os_lib_sys.c) = f6514ad743a206c0e81dcccd2586e8fe65bfd1b9
26SHA1 (patch-extras_mini-os_lock.c) = e28753793dee483c1ffad8ea8ed2706353046b50 26SHA1 (patch-extras_mini-os_lock.c) = e28753793dee483c1ffad8ea8ed2706353046b50
27SHA1 (patch-m4_paths.m4) = 19250964fd808cad30a2aca3de011650a2788251 27SHA1 (patch-m4_paths.m4) = 19250964fd808cad30a2aca3de011650a2788251
28SHA1 (patch-tools_Makefile) = a4f873797469190d58cc27bbb55d1afb151a2ff8 28SHA1 (patch-tools_Makefile) = a4f873797469190d58cc27bbb55d1afb151a2ff8
29SHA1 (patch-tools_Rules.mk) = c15994d1e0c089674fdea874b56950a07be3deb5 29SHA1 (patch-tools_Rules.mk) = c15994d1e0c089674fdea874b56950a07be3deb5
30SHA1 (patch-tools_configure) = aa0838a1eadf70f5ed99748926234c0376989ff5 30SHA1 (patch-tools_configure) = aa0838a1eadf70f5ed99748926234c0376989ff5
31SHA1 (patch-tools_console_daemon_utils.c) = 1c954e1edadad2607f7b87eaf2d6285be7f968ff 31SHA1 (patch-tools_console_daemon_utils.c) = 1c954e1edadad2607f7b87eaf2d6285be7f968ff
32SHA1 (patch-tools_debugger_gdbsx_Makefile) = 88960adedd258af3278ef105204ab97c662b8e61 32SHA1 (patch-tools_debugger_gdbsx_Makefile) = 88960adedd258af3278ef105204ab97c662b8e61
33SHA1 (patch-tools_examples_Makefile) = fe258fc26e4507ca2fb4363c5e2197ee06e89d64 33SHA1 (patch-tools_examples_Makefile) = fe258fc26e4507ca2fb4363c5e2197ee06e89d64
34SHA1 (patch-tools_firmware_etherboot_Makefile) = cc37708336c0a496511926327cfe807ac9f33ce0 34SHA1 (patch-tools_firmware_etherboot_Makefile) = cc37708336c0a496511926327cfe807ac9f33ce0
35SHA1 (patch-tools_firmware_hvmloader_Makefile) = 02cac5e9314c4c71105f15a3c1c303c573d6583a 35SHA1 (patch-tools_firmware_hvmloader_Makefile) = 02cac5e9314c4c71105f15a3c1c303c573d6583a
36SHA1 (patch-tools_hotplug_NetBSD_Makefile) = a880a38f82e97a5d7846345307d354c8055d23a9 36SHA1 (patch-tools_hotplug_NetBSD_Makefile) = a880a38f82e97a5d7846345307d354c8055d23a9
37SHA1 (patch-tools_hotplug_NetBSD_block) = 535ecef7cc0431a14515387e47aadea5dec79569 37SHA1 (patch-tools_hotplug_NetBSD_block) = 535ecef7cc0431a14515387e47aadea5dec79569
38SHA1 (patch-tools_hotplug_NetBSD_vif-bridge) = 6d5288c9c47fe81b388ea73f9a71ca3975df36c2 38SHA1 (patch-tools_hotplug_NetBSD_vif-bridge) = 6d5288c9c47fe81b388ea73f9a71ca3975df36c2
39SHA1 (patch-tools_hotplug_NetBSD_vif-ip) = cb8fd1150f6ac24fa853444618437f7d984b4282 39SHA1 (patch-tools_hotplug_NetBSD_vif-ip) = cb8fd1150f6ac24fa853444618437f7d984b4282
40SHA1 (patch-tools_hotplug_common_Makefile) = 590186dfb31713e8d9ee675186f826bcbcba3c15 40SHA1 (patch-tools_hotplug_common_Makefile) = 590186dfb31713e8d9ee675186f826bcbcba3c15
41SHA1 (patch-tools_include_xen-sys_NetBSD_gntdev.h) = ce4f7160e92d23afa029c9548cead180fe980ff4 41SHA1 (patch-tools_include_xen-sys_NetBSD_gntdev.h) = ce4f7160e92d23afa029c9548cead180fe980ff4
42SHA1 (patch-tools_libs_call_netbsd.c) = c5e166212b0069220d9155636b41028f0f7f9e9e 42SHA1 (patch-tools_libs_call_netbsd.c) = c5e166212b0069220d9155636b41028f0f7f9e9e
43SHA1 (patch-tools_libs_call_private.h) = caeaf937ae379836c3187bee97ac0b986af53f9f 43SHA1 (patch-tools_libs_call_private.h) = caeaf937ae379836c3187bee97ac0b986af53f9f
44SHA1 (patch-tools_libs_evtchn_netbsd.c) = 1abb0f128ab0702b606e22f199d297d1e9c0aae5 44SHA1 (patch-tools_libs_evtchn_netbsd.c) = 1abb0f128ab0702b606e22f199d297d1e9c0aae5
45SHA1 (patch-tools_libs_foreignmemory_compat.c) = f1404738a9fac23fbde3249f5f4f1d79497aac4d 45SHA1 (patch-tools_libs_foreignmemory_compat.c) = f1404738a9fac23fbde3249f5f4f1d79497aac4d
46SHA1 (patch-tools_libs_foreignmemory_netbsd.c) = dabf9cb5c0623119143abb54c5dd2aecfbd79b2b 46SHA1 (patch-tools_libs_foreignmemory_netbsd.c) = dabf9cb5c0623119143abb54c5dd2aecfbd79b2b
47SHA1 (patch-tools_libs_foreignmemory_private.h) = 146a3d789a8b97b7ece471c392ed998c628e5be8 47SHA1 (patch-tools_libs_foreignmemory_private.h) = 146a3d789a8b97b7ece471c392ed998c628e5be8
48SHA1 (patch-tools_libxl_libxl__create.c) = 09cd562f0839dda6f92d63d8fc8ed6de08dd82a8 48SHA1 (patch-tools_libxl_libxl__create.c) = 09cd562f0839dda6f92d63d8fc8ed6de08dd82a8
49SHA1 (patch-tools_libxl_libxl_dom.c) = 0c4a96523d13de65aaa71ef705c3579ee8d641f3 49SHA1 (patch-tools_libxl_libxl_dom.c) = 0c4a96523d13de65aaa71ef705c3579ee8d641f3
50SHA1 (patch-tools_libxl_libxl_event.c) = 8147122d03102eccc45c48a7d6ca1aa5d6286040 50SHA1 (patch-tools_libxl_libxl_event.c) = 8147122d03102eccc45c48a7d6ca1aa5d6286040
51SHA1 (patch-tools_libxl_libxl_internal.h) = 613edc0fa055b23f5dc2a2448456d3d6005337fe 51SHA1 (patch-tools_libxl_libxl_internal.h) = 613edc0fa055b23f5dc2a2448456d3d6005337fe
52SHA1 (patch-tools_libxl_libxl_uuid.c) = 1eb8c027dbeb7e67df7475ee6e4d87220140c65b 52SHA1 (patch-tools_libxl_libxl_uuid.c) = 1eb8c027dbeb7e67df7475ee6e4d87220140c65b
53SHA1 (patch-tools_ocaml_common.make) = 4b845bdf3a013852109749ee18dfe28e3440d951 53SHA1 (patch-tools_ocaml_common.make) = 4b845bdf3a013852109749ee18dfe28e3440d951
54SHA1 (patch-tools_ocaml_xenstored_Makefile) = b267702cf4090c7b45bba530e60327fced24e3e5 54SHA1 (patch-tools_ocaml_xenstored_Makefile) = b267702cf4090c7b45bba530e60327fced24e3e5
55SHA1 (patch-tools_ocaml_xenstored_utils.ml) = fd951de732d6c31cae89bd4b58c5650108578d79 55SHA1 (patch-tools_ocaml_xenstored_utils.ml) = fd951de732d6c31cae89bd4b58c5650108578d79
56SHA1 (patch-tools_qemu-xen-traditional_Makefile) = 5fbb55bf84f9856043be301d5d06530190fe9a60 56SHA1 (patch-tools_qemu-xen-traditional_Makefile) = 5fbb55bf84f9856043be301d5d06530190fe9a60
57SHA1 (patch-tools_qemu-xen-traditional_block-raw-posix.c) = eb3efea4b0c7fd744f627f1926fca737ba826b99 57SHA1 (patch-tools_qemu-xen-traditional_block-raw-posix.c) = eb3efea4b0c7fd744f627f1926fca737ba826b99
58SHA1 (patch-tools_qemu-xen-traditional_configure) = 6a42dcac010f90439a347c0f6e886b07185cb19a 58SHA1 (patch-tools_qemu-xen-traditional_configure) = 6a42dcac010f90439a347c0f6e886b07185cb19a
59SHA1 (patch-tools_qemu-xen-traditional_hw_e1000.c) = ec86584529cc743ea27768ad1fab523ee9fb6bea 59SHA1 (patch-tools_qemu-xen-traditional_hw_e1000.c) = ec86584529cc743ea27768ad1fab523ee9fb6bea
60SHA1 (patch-tools_qemu-xen-traditional_hw_ide.c) = b541546390c6d142bc6079dbd51cfd65b5223e9e 60SHA1 (patch-tools_qemu-xen-traditional_hw_ide.c) = b541546390c6d142bc6079dbd51cfd65b5223e9e
61SHA1 (patch-tools_qemu-xen-traditional_hw_pass-through.c) = 45848fb5038bdd6def218b35dd0a6496a14102f1 61SHA1 (patch-tools_qemu-xen-traditional_hw_pass-through.c) = 45848fb5038bdd6def218b35dd0a6496a14102f1
62SHA1 (patch-tools_qemu-xen-traditional_hw_pass-through.h) = 6edb7a9a03d99b84801bf595c4d68acbc361bb4b 62SHA1 (patch-tools_qemu-xen-traditional_hw_pass-through.h) = 6edb7a9a03d99b84801bf595c4d68acbc361bb4b
63SHA1 (patch-tools_qemu-xen-traditional_hw_piix4acpi.c) = 280265db035e239b173efd9d63b629201d2c0cfa 63SHA1 (patch-tools_qemu-xen-traditional_hw_piix4acpi.c) = 280265db035e239b173efd9d63b629201d2c0cfa
64SHA1 (patch-tools_qemu-xen-traditional_hw_pt-graphics.c) = b9c18042f40ccacb3f24ab0f1e3c6e1a5bf5521a 64SHA1 (patch-tools_qemu-xen-traditional_hw_pt-graphics.c) = b9c18042f40ccacb3f24ab0f1e3c6e1a5bf5521a
65SHA1 (patch-tools_qemu-xen-traditional_hw_pt-msi.c) = a953380dbc3e64528c39e26d2c45c0cbd3e4d738 65SHA1 (patch-tools_qemu-xen-traditional_hw_pt-msi.c) = a953380dbc3e64528c39e26d2c45c0cbd3e4d738
66SHA1 (patch-tools_qemu-xen-traditional_hw_pt-msi.h) = 787447cc24518fe5ae16942d72d3038db612419d 66SHA1 (patch-tools_qemu-xen-traditional_hw_pt-msi.h) = 787447cc24518fe5ae16942d72d3038db612419d
67SHA1 (patch-tools_qemu-xen-traditional_i386-dm_hookstarget.mak) = 3fdfbb7c9c2243a4cf5dabc5a6dd13c12f9d5850 67SHA1 (patch-tools_qemu-xen-traditional_i386-dm_hookstarget.mak) = 3fdfbb7c9c2243a4cf5dabc5a6dd13c12f9d5850
68SHA1 (patch-tools_qemu-xen-traditional_net.c) = 0999993172070db5dc8d7c7daaa4999a3edaadb8 68SHA1 (patch-tools_qemu-xen-traditional_net.c) = 0999993172070db5dc8d7c7daaa4999a3edaadb8
69SHA1 (patch-tools_qemu-xen-traditional_xen-hooks.mak) = 528878c8465d75b63e044e4f6c89609e4edbc3e0 69SHA1 (patch-tools_qemu-xen-traditional_xen-hooks.mak) = 528878c8465d75b63e044e4f6c89609e4edbc3e0
70SHA1 (patch-tools_qemu-xen_audio_audio.c) = a7f47ff0350900bcb99b5515eeee162144a98cf8 70SHA1 (patch-tools_qemu-xen_audio_audio.c) = a7f47ff0350900bcb99b5515eeee162144a98cf8
71SHA1 (patch-tools_qemu-xen_configure) = a658cb80bad09f61a6b39a65f4a1bde04105e661 71SHA1 (patch-tools_qemu-xen_configure) = a658cb80bad09f61a6b39a65f4a1bde04105e661
72SHA1 (patch-tools_qemu-xen_qemu-doc.texi) = e72d480ec29829055f01226eaf020d4cbd100d5d 72SHA1 (patch-tools_qemu-xen_qemu-doc.texi) = e72d480ec29829055f01226eaf020d4cbd100d5d
73SHA1 (patch-tools_xenpaging_xenpaging.c) = 0a154b97f1f452a5f80f7c9a835a1f216f12f7e1 73SHA1 (patch-tools_xenpaging_xenpaging.c) = 0a154b97f1f452a5f80f7c9a835a1f216f12f7e1
74SHA1 (patch-tools_xenpmd_xenpmd.c) = 851ce7a295e2f41ffcd966850d8003c82670c751 74SHA1 (patch-tools_xenpmd_xenpmd.c) = 851ce7a295e2f41ffcd966850d8003c82670c751
75SHA1 (patch-tools_xenstore_xc.c) = cf49b65cba064667e13bb041d1f0099c76ab6a40 75SHA1 (patch-tools_xenstore_xc.c) = cf49b65cba064667e13bb041d1f0099c76ab6a40
76SHA1 (patch-tools_xenstore_xs_lib.c) = e3a8f6e3b149c3ab0f4ec8dcfa455983f94e6c16 76SHA1 (patch-tools_xenstore_xs_lib.c) = e3a8f6e3b149c3ab0f4ec8dcfa455983f94e6c16
77SHA1 (patch-tools_xentrace_xentrace.c) = f964c7555f454358a39f28a2e75db8ee100a4243 77SHA1 (patch-tools_xentrace_xentrace.c) = f964c7555f454358a39f28a2e75db8ee100a4243
78SHA1 (patch-tools_xl_Makefile) = dd4fa8cc66c74eea8b022cd6129aa2831776f2a8 78SHA1 (patch-tools_xl_Makefile) = dd4fa8cc66c74eea8b022cd6129aa2831776f2a8
79SHA1 (patch-xen_Rules.mk) = c743dc63f51fc280d529a7d9e08650292c171dac 79SHA1 (patch-xen_Rules.mk) = c743dc63f51fc280d529a7d9e08650292c171dac
80SHA1 (patch-xen_tools_symbols.c) = 67b5a38312095029631e00457abc0e4bb633aaf8 80SHA1 (patch-xen_tools_symbols.c) = 67b5a38312095029631e00457abc0e4bb633aaf8

cvs diff -r1.1 -r1.2 pkgsrc/sysutils/xentools411/patches/Attic/patch-.._ipxe_src_net_fcels.c (switch to unified diff)

--- pkgsrc/sysutils/xentools411/patches/Attic/patch-.._ipxe_src_net_fcels.c 2018/07/24 13:40:11 1.1
+++ pkgsrc/sysutils/xentools411/patches/Attic/patch-.._ipxe_src_net_fcels.c 2019/04/14 17:37:33 1.2
@@ -1,124 +1,124 @@ @@ -1,124 +1,124 @@
1$NetBSD: patch-.._ipxe_src_net_fcels.c,v 1.1 2018/07/24 13:40:11 bouyer Exp $ 1$NetBSD: patch-.._ipxe_src_net_fcels.c,v 1.2 2019/04/14 17:37:33 bouyer Exp $
2 2
3--- ../ipxe/src/net/fcels.c.orig 2015-01-25 20:27:57.000000000 +0000 3--- ../ipxe/src/net/fcels.c.orig 2015-01-25 20:27:57.000000000 +0000
4+++ ../ipxe/src/net/fcels.c 4+++ ../ipxe/src/net/fcels.c
5@@ -946,8 +946,11 @@ int fc_els_prli_tx ( struct fc_els *els, 5@@ -946,8 +946,11 @@ int fc_els_prli_tx ( struct fc_els *els,
6 struct fc_els_prli_descriptor *descriptor, void *param ) { 6 struct fc_els_prli_descriptor *descriptor, void *param ) {
7 struct { 7 struct {
8 struct fc_prli_frame frame; 8 struct fc_prli_frame frame;
9- uint8_t param[descriptor->param_len]; 9- uint8_t param[descriptor->param_len];
10- } __attribute__ (( packed )) prli; 10- } __attribute__ (( packed )) prli;
11+ uint8_t param[]; 11+ uint8_t param[];
12+ } __attribute__ (( packed )) *prli; 12+ } __attribute__ (( packed )) *prli;
13+ size_t plen = sizeof(*prli) + descriptor->param_len; 13+ size_t plen = sizeof(*prli) + descriptor->param_len;
14+ uint8_t prli_buf[plen]; 14+ uint8_t prli_buf[plen];
15+ prli = (void *)prli_buf; 15+ prli = (void *)prli_buf;
16 struct fc_ulp *ulp; 16 struct fc_ulp *ulp;
17 int rc; 17 int rc;
18  18
19@@ -960,22 +963,22 @@ int fc_els_prli_tx ( struct fc_els *els, 19@@ -960,22 +963,22 @@ int fc_els_prli_tx ( struct fc_els *els,
20 } 20 }
21  21
22 /* Build frame for transmission */ 22 /* Build frame for transmission */
23- memset ( &prli, 0, sizeof ( prli ) ); 23- memset ( &prli, 0, sizeof ( prli ) );
24- prli.frame.command = fc_els_tx_command ( els, FC_ELS_PRLI ); 24- prli.frame.command = fc_els_tx_command ( els, FC_ELS_PRLI );
25- prli.frame.page_len = 25- prli.frame.page_len =
26- ( sizeof ( prli.frame.page ) + sizeof ( prli.param ) ); 26- ( sizeof ( prli.frame.page ) + sizeof ( prli.param ) );
27- prli.frame.len = htons ( sizeof ( prli ) ); 27- prli.frame.len = htons ( sizeof ( prli ) );
28- prli.frame.page.type = descriptor->type; 28- prli.frame.page.type = descriptor->type;
29+ memset ( prli, 0, plen ); 29+ memset ( prli, 0, plen );
30+ prli->frame.command = fc_els_tx_command ( els, FC_ELS_PRLI ); 30+ prli->frame.command = fc_els_tx_command ( els, FC_ELS_PRLI );
31+ prli->frame.page_len = 31+ prli->frame.page_len =
32+ ( sizeof ( prli->frame.page ) + descriptor->param_len ); 32+ ( sizeof ( prli->frame.page ) + descriptor->param_len );
33+ prli->frame.len = htons ( plen ); 33+ prli->frame.len = htons ( plen );
34+ prli->frame.page.type = descriptor->type; 34+ prli->frame.page.type = descriptor->type;
35 if ( fc_els_is_request ( els ) ) { 35 if ( fc_els_is_request ( els ) ) {
36- prli.frame.page.flags |= htons ( FC_PRLI_ESTABLISH ); 36- prli.frame.page.flags |= htons ( FC_PRLI_ESTABLISH );
37+ prli->frame.page.flags |= htons ( FC_PRLI_ESTABLISH ); 37+ prli->frame.page.flags |= htons ( FC_PRLI_ESTABLISH );
38 } else if ( fc_link_ok ( &ulp->link ) ) { 38 } else if ( fc_link_ok ( &ulp->link ) ) {
39- prli.frame.page.flags |= htons ( FC_PRLI_ESTABLISH | 39- prli.frame.page.flags |= htons ( FC_PRLI_ESTABLISH |
40+ prli->frame.page.flags |= htons ( FC_PRLI_ESTABLISH | 40+ prli->frame.page.flags |= htons ( FC_PRLI_ESTABLISH |
41 FC_PRLI_RESPONSE_SUCCESS ); 41 FC_PRLI_RESPONSE_SUCCESS );
42 } 42 }
43- memcpy ( &prli.param, param, sizeof ( prli.param ) ); 43- memcpy ( &prli.param, param, sizeof ( prli.param ) );
44+ memcpy ( &prli->param, param, descriptor->param_len ); 44+ memcpy ( &prli->param, param, descriptor->param_len );
45  45
46 /* Transmit frame */ 46 /* Transmit frame */
47- if ( ( rc = fc_els_tx ( els, &prli, sizeof ( prli ) ) ) != 0 ) 47- if ( ( rc = fc_els_tx ( els, &prli, sizeof ( prli ) ) ) != 0 )
48+ if ( ( rc = fc_els_tx ( els, prli, plen ) ) != 0 ) 48+ if ( ( rc = fc_els_tx ( els, prli, plen ) ) != 0 )
49 goto err_tx; 49 goto err_tx;
50  50
51 /* Drop temporary reference to ULP */ 51 /* Drop temporary reference to ULP */
52@@ -1003,13 +1006,14 @@ int fc_els_prli_rx ( struct fc_els *els, 52@@ -1003,13 +1006,14 @@ int fc_els_prli_rx ( struct fc_els *els,
53 void *data, size_t len ) { 53 void *data, size_t len ) {
54 struct { 54 struct {
55 struct fc_prli_frame frame; 55 struct fc_prli_frame frame;
56- uint8_t param[descriptor->param_len]; 56- uint8_t param[descriptor->param_len];
57+ uint8_t param[]; 57+ uint8_t param[];
58 } __attribute__ (( packed )) *prli = data; 58 } __attribute__ (( packed )) *prli = data;
59+ size_t plen = sizeof(*prli) + descriptor->param_len; 59+ size_t plen = sizeof(*prli) + descriptor->param_len;
60 struct fc_ulp *ulp; 60 struct fc_ulp *ulp;
61 int rc; 61 int rc;
62  62
63 /* Sanity check */ 63 /* Sanity check */
64- if ( len < sizeof ( *prli ) ) { 64- if ( len < sizeof ( *prli ) ) {
65+ if ( len < plen ) { 65+ if ( len < plen ) {
66 DBGC ( els, FCELS_FMT " received underlength frame:\n", 66 DBGC ( els, FCELS_FMT " received underlength frame:\n",
67 FCELS_ARGS ( els ) ); 67 FCELS_ARGS ( els ) );
68 DBGC_HDA ( els, 0, data, len ); 68 DBGC_HDA ( els, 0, data, len );
69@@ -1018,7 +1022,7 @@ int fc_els_prli_rx ( struct fc_els *els, 69@@ -1018,7 +1022,7 @@ int fc_els_prli_rx ( struct fc_els *els,
70 } 70 }
71  71
72 DBGC ( els, FCELS_FMT " has parameters:\n", FCELS_ARGS ( els ) ); 72 DBGC ( els, FCELS_FMT " has parameters:\n", FCELS_ARGS ( els ) );
73- DBGC_HDA ( els, 0, prli->param, sizeof ( prli->param ) ); 73- DBGC_HDA ( els, 0, prli->param, sizeof ( prli->param ) );
74+ DBGC_HDA ( els, 0, prli->param, descriptor->param_len ); 74+ DBGC_HDA ( els, 0, prli->param, descriptor->param_len );
75  75
76 /* Get ULP */ 76 /* Get ULP */
77 ulp = fc_ulp_get_port_id_type ( els->port, &els->peer_port_id, 77 ulp = fc_ulp_get_port_id_type ( els->port, &els->peer_port_id,
78@@ -1039,7 +1043,7 @@ int fc_els_prli_rx ( struct fc_els *els, 78@@ -1039,7 +1043,7 @@ int fc_els_prli_rx ( struct fc_els *els,
79 /* Log in ULP, if applicable */ 79 /* Log in ULP, if applicable */
80 if ( prli->frame.page.flags & htons ( FC_PRLI_ESTABLISH ) ) { 80 if ( prli->frame.page.flags & htons ( FC_PRLI_ESTABLISH ) ) {
81 if ( ( rc = fc_ulp_login ( ulp, prli->param, 81 if ( ( rc = fc_ulp_login ( ulp, prli->param,
82- sizeof ( prli->param ), 82- sizeof ( prli->param ),
83+ descriptor->param_len, 83+ descriptor->param_len,
84 fc_els_is_request ( els ) ) ) != 0 ){ 84 fc_els_is_request ( els ) ) ) != 0 ){
85 DBGC ( els, FCELS_FMT " could not log in ULP: %s\n", 85 DBGC ( els, FCELS_FMT " could not log in ULP: %s\n",
86 FCELS_ARGS ( els ), strerror ( rc ) ); 86 FCELS_ARGS ( els ), strerror ( rc ) );
87@@ -1089,15 +1093,16 @@ int fc_els_prli_detect ( struct fc_els * 87@@ -1089,15 +1093,16 @@ int fc_els_prli_detect ( struct fc_els *
88 const void *data, size_t len ) { 88 const void *data, size_t len ) {
89 const struct { 89 const struct {
90 struct fc_prli_frame frame; 90 struct fc_prli_frame frame;
91- uint8_t param[descriptor->param_len]; 91- uint8_t param[descriptor->param_len];
92+ uint8_t param[]; 92+ uint8_t param[];
93 } __attribute__ (( packed )) *prli = data; 93 } __attribute__ (( packed )) *prli = data;
94+ size_t plen = sizeof(*prli) + descriptor->param_len; 94+ size_t plen = sizeof(*prli) + descriptor->param_len;
95  95
96 /* Check for PRLI */ 96 /* Check for PRLI */
97 if ( prli->frame.command != FC_ELS_PRLI ) 97 if ( prli->frame.command != FC_ELS_PRLI )
98 return -EINVAL; 98 return -EINVAL;
99  99
100 /* Check for sufficient length to contain service parameter page */ 100 /* Check for sufficient length to contain service parameter page */
101- if ( len < sizeof ( *prli ) ) 101- if ( len < sizeof ( *prli ) )
102+ if ( len < plen ) 102+ if ( len < plen )
103 return -EINVAL; 103 return -EINVAL;
104  104
105 /* Check for upper-layer protocol type */ 105 /* Check for upper-layer protocol type */
106@@ -1252,15 +1257,16 @@ static int fc_els_echo_rx_request ( stru 106@@ -1252,15 +1257,16 @@ static int fc_els_echo_rx_request ( stru
107 size_t len ) { 107 size_t len ) {
108 struct { 108 struct {
109 struct fc_echo_frame_header echo; 109 struct fc_echo_frame_header echo;
110- char payload[ len - sizeof ( struct fc_echo_frame_header ) ]; 110- char payload[ len - sizeof ( struct fc_echo_frame_header ) ];
111+ char payload[]; 111+ char payload[];
112 } *echo = data; 112 } *echo = data;
113+ size_t plen = suzeif(*echo) + len - sizeof ( struct fc_echo_frame_header ); 113+ size_t plen = sizeof(*echo) + len - sizeof ( struct fc_echo_frame_header );
114 int rc; 114 int rc;
115  115
116 DBGC ( els, FCELS_FMT "\n", FCELS_ARGS ( els ) ); 116 DBGC ( els, FCELS_FMT "\n", FCELS_ARGS ( els ) );
117  117
118 /* Transmit response */ 118 /* Transmit response */
119 echo->echo.command = FC_ELS_LS_ACC; 119 echo->echo.command = FC_ELS_LS_ACC;
120- if ( ( rc = fc_els_tx ( els, echo, sizeof ( *echo ) ) ) != 0 ) 120- if ( ( rc = fc_els_tx ( els, echo, sizeof ( *echo ) ) ) != 0 )
121+ if ( ( rc = fc_els_tx ( els, echo, plen ) ) != 0 ) 121+ if ( ( rc = fc_els_tx ( els, echo, plen ) ) != 0 )
122 return rc; 122 return rc;
123  123
124 /* Nothing to do */ 124 /* Nothing to do */