kernel: update 3.18 to 3.18.16
Changelogs: * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.15 * https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.16 Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 46011
This commit is contained in:
@@ -45,53 +45,53 @@ Miklos
|
||||
--- a/fs/overlayfs/copy_up.c
|
||||
+++ b/fs/overlayfs/copy_up.c
|
||||
@@ -300,6 +300,9 @@ int ovl_copy_up_one(struct dentry *paren
|
||||
struct cred *override_cred;
|
||||
char *link = NULL;
|
||||
|
||||
struct cred *override_cred;
|
||||
char *link = NULL;
|
||||
|
||||
+ if (WARN_ON(!workdir))
|
||||
+ return -EROFS;
|
||||
+
|
||||
ovl_path_upper(parent, &parentpath);
|
||||
upperdir = parentpath.dentry;
|
||||
|
||||
ovl_path_upper(parent, &parentpath);
|
||||
upperdir = parentpath.dentry;
|
||||
|
||||
--- a/fs/overlayfs/dir.c
|
||||
+++ b/fs/overlayfs/dir.c
|
||||
@@ -222,6 +222,9 @@ static struct dentry *ovl_clear_empty(st
|
||||
struct kstat stat;
|
||||
int err;
|
||||
|
||||
struct kstat stat;
|
||||
int err;
|
||||
|
||||
+ if (WARN_ON(!workdir))
|
||||
+ return ERR_PTR(-EROFS);
|
||||
+
|
||||
err = ovl_lock_rename_workdir(workdir, upperdir);
|
||||
if (err)
|
||||
goto out;
|
||||
err = ovl_lock_rename_workdir(workdir, upperdir);
|
||||
if (err)
|
||||
goto out;
|
||||
@@ -322,6 +325,9 @@ static int ovl_create_over_whiteout(stru
|
||||
struct dentry *newdentry;
|
||||
int err;
|
||||
|
||||
struct dentry *newdentry;
|
||||
int err;
|
||||
|
||||
+ if (WARN_ON(!workdir))
|
||||
+ return -EROFS;
|
||||
+
|
||||
err = ovl_lock_rename_workdir(workdir, upperdir);
|
||||
if (err)
|
||||
goto out;
|
||||
err = ovl_lock_rename_workdir(workdir, upperdir);
|
||||
if (err)
|
||||
goto out;
|
||||
@@ -506,6 +512,9 @@ static int ovl_remove_and_whiteout(struc
|
||||
struct dentry *opaquedir = NULL;
|
||||
int err;
|
||||
|
||||
struct dentry *opaquedir = NULL;
|
||||
int err;
|
||||
|
||||
+ if (WARN_ON(!workdir))
|
||||
+ return -EROFS;
|
||||
+
|
||||
if (is_dir) {
|
||||
opaquedir = ovl_check_empty_and_clear(dentry);
|
||||
err = PTR_ERR(opaquedir);
|
||||
if (is_dir) {
|
||||
opaquedir = ovl_check_empty_and_clear(dentry);
|
||||
err = PTR_ERR(opaquedir);
|
||||
--- a/fs/overlayfs/super.c
|
||||
+++ b/fs/overlayfs/super.c
|
||||
@@ -740,9 +740,15 @@ static int ovl_fill_super(struct super_b
|
||||
ufs->workdir = ovl_workdir_create(ufs->upper_mnt, workpath.dentry);
|
||||
err = PTR_ERR(ufs->workdir);
|
||||
if (IS_ERR(ufs->workdir)) {
|
||||
ufs->workdir = ovl_workdir_create(ufs->upper_mnt, workpath.dentry);
|
||||
err = PTR_ERR(ufs->workdir);
|
||||
if (IS_ERR(ufs->workdir)) {
|
||||
- pr_err("overlayfs: failed to create directory %s/%s\n",
|
||||
- ufs->config.workdir, OVL_WORKDIR_NAME);
|
||||
- goto out_put_lower_mnt;
|
||||
@@ -104,6 +104,6 @@ Miklos
|
||||
+ ufs->config.workdir, OVL_WORKDIR_NAME);
|
||||
+ goto out_put_lower_mnt;
|
||||
+ }
|
||||
}
|
||||
|
||||
/*
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
{USB_DEVICE(0x0af0, 0xd155)},
|
||||
--- a/drivers/usb/storage/unusual_devs.h
|
||||
+++ b/drivers/usb/storage/unusual_devs.h
|
||||
@@ -1323,6 +1323,12 @@ UNUSUAL_DEV( 0x0af0, 0x8304, 0x0000, 0x0
|
||||
@@ -1330,6 +1330,12 @@ UNUSUAL_DEV( 0x0af0, 0x8304, 0x0000, 0x0
|
||||
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
||||
0 ),
|
||||
|
||||
|
||||
@@ -138,7 +138,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
/*
|
||||
* Define if arch has non-standard setup. This is a _PCI_ standard
|
||||
@@ -862,6 +865,12 @@ struct ata_port {
|
||||
@@ -871,6 +874,12 @@ struct ata_port {
|
||||
#ifdef CONFIG_ATA_ACPI
|
||||
struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user