The branch main has been updated by brd:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=964ad27f1e48ec28247142cfe6afdfa1f8bd3182

commit 964ad27f1e48ec28247142cfe6afdfa1f8bd3182
Author:     Brad Davis <[email protected]>
AuthorDate: 2022-05-13 14:33:21 +0000
Commit:     Brad Davis <[email protected]>
CommitDate: 2022-05-13 14:33:21 +0000

    bsdinstall: Filter out devices that cannot be opened
    
    Devices that cannot be opened are most likely the install media and
    should not be listed as destinations.
    
    Reviewed by:            allanjude
    Approved by:            allanjude
    Differential Revision:  https://reviews.freebsd.org/D34879
    Sponsored by:           Rubicon Communications, LLC ("Netgate")
---
 usr.sbin/bsdinstall/partedit/part_wizard.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/usr.sbin/bsdinstall/partedit/part_wizard.c 
b/usr.sbin/bsdinstall/partedit/part_wizard.c
index 2ffae7b16829..bc6427f859da 100644
--- a/usr.sbin/bsdinstall/partedit/part_wizard.c
+++ b/usr.sbin/bsdinstall/partedit/part_wizard.c
@@ -135,6 +135,16 @@ boot_disk_select(struct gmesh *mesh)
                                        continue;
                                if (strncmp(pp->lg_name, "cd", 2) == 0)
                                        continue;
+                               /*
+                                * Check if the disk is available to be opened 
for
+                                * write operations, it helps prevent the USB
+                                * stick used to boot from being listed as an 
option
+                                */
+                               fd = g_open(pp->lg_name, 1);
+                               if (fd == -1) {
+                                       continue;
+                               }
+                               g_close(fd);
 
                                disks = realloc(disks, (++n)*sizeof(disks[0]));
                                disks[n-1].name = pp->lg_name;

Reply via email to