]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
vol: check for bad partition names
authorMichael Meffie <mmeffie@sinenomine.net>
Sat, 28 Apr 2018 02:59:57 +0000 (22:59 -0400)
committerBenjamin Kaduk <kaduk@mit.edu>
Fri, 8 Jun 2018 11:56:07 +0000 (07:56 -0400)
Currently, servers attempt to attach any partition name starting with
"/vicep", even partition names which map to out of range partition ids.
Examples of such misnamed partitions are "/vicepzz", "/vicep0", and
others.

The presence of these misnamed partitions cause the server processes to
crash on startup, since the out of range partition ids are used as an
index.

Add a check for the bad partition names in VCheckPartitions to avoid
attaching them. Log a warning for such partitions to let the admins know
why the partitions are not attached.

Reviewed-on: https://gerrit.openafs.org/13038
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit c0f2c26e9298d12209fbb5e523ea3173202316e5)

Change-Id: Id7dcbd80402b7c8ec1f0e2e5fa2ea0123a2da898
Reviewed-on: https://gerrit.openafs.org/13120
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
src/vol/partition.c

index 272ada35d8d5b1ed76d0d3148d73753c623926d8..4bd034468b42e955622973149a1a8f92bfe58b30 100644 (file)
@@ -289,6 +289,10 @@ VCheckPartition(char *part, char *devname, int logging)
     if (strncmp(part, VICE_PARTITION_PREFIX, VICE_PREFIX_SIZE)) {
        return 0;
     }
+    if (volutil_GetPartitionID(part) == -1) {
+       Log("Warning: %s is a bad partition name; ignored.\n", part);
+       return 0;
+    }
     if (afs_stat(part, &status) < 0) {
        Log("VInitVnodes: Couldn't find file system %s; ignored\n", part);
        return 0;