summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Plattner <aplattner@nvidia.com>2015-06-15 08:38:16 -0700
committerAaron Plattner <aplattner@nvidia.com>2015-06-15 08:38:16 -0700
commitebca41114dfedff834628fa1e66bc2facbf57628 (patch)
tree9d1b25699f2b2997eb0a243dc5eb04b2d7cb6c52
parent9e622842e497d4891d74444e134cb4391cf787fb (diff)
352.21352.21
-rw-r--r--command-list.c8
-rw-r--r--precompiled.c17
-rw-r--r--version.mk2
3 files changed, 19 insertions, 8 deletions
diff --git a/command-list.c b/command-list.c
index a35c7a6..d65440c 100644
--- a/command-list.c
+++ b/command-list.c
@@ -248,8 +248,16 @@ CommandList *build_command_list(Options *op, Package *p)
* stop recursing into any "nvidia-cg-toolkit"
* directory to prevent libGL.so.1 from being deleted
* (see bug 843595).
+ *
+ * Also, do not recurse into "source" or "build" directories, pretty
+ * much ever. This is because distros (for example, Fedora Core 21)
+ * have started putting links to kernel source and build trees in
+ * other locations, including /usr/lib/modules/`uname -r`/kernel.
+ * (See bug 1646361).
*/
static const NoRecursionDirectory skipdirs[] = {
+ { -1, "source" },
+ { -1, "build" },
{ -1, "nvidia-cg-toolkit" },
{ 0, NULL }
};
diff --git a/precompiled.c b/precompiled.c
index 50d6183..08ba107 100644
--- a/precompiled.c
+++ b/precompiled.c
@@ -234,10 +234,11 @@ PrecompiledInfo *get_precompiled_info(Options *op,
}
offset += val;
- /* check if this precompiled kernel interface is the right driver
- version */
+ /* fail if the version could not be read, or if a package version was
+ specified and the read version does not match it */
- if (!version || !package_version || strcmp(version, package_version) != 0) {
+ if (!version ||
+ (package_version && strcmp(version, package_version) != 0)) {
goto done;
}
@@ -955,10 +956,12 @@ const char **precompiled_file_attribute_names(uint32 attribute_mask)
ret = nvalloc((max_file_attribute_names + 1) * sizeof(char *));
for (i = 0; i < max_file_attribute_names; i++) {
- if (i >= ARRAY_LEN(file_attribute_names)) {
- ret[attr++] = unknown_attribute;
- } else if (attribute_mask & (1 << i)) {
- ret[attr++] = file_attribute_names[i];
+ if (attribute_mask & (1 << i)) {
+ if (i >= ARRAY_LEN(file_attribute_names)) {
+ ret[attr++] = unknown_attribute;
+ } else {
+ ret[attr++] = file_attribute_names[i];
+ }
}
}
ret[attr] = NULL;
diff --git a/version.mk b/version.mk
index 61aeb50..01fed6d 100644
--- a/version.mk
+++ b/version.mk
@@ -1 +1 @@
-NVIDIA_VERSION = 352.09
+NVIDIA_VERSION = 352.21