port patch set to 4.19.195
This commit is contained in:
parent
f0282b430b
commit
8e6b8d7a69
|
@ -33,10 +33,10 @@ Signed-off-by: Lili Li <lili.li@intel.com>
|
|||
2 files changed, 105 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
|
||||
index af35f5caadbe..f9139407fdb5 100644
|
||||
index d994501d9179..58e65440a9fd 100644
|
||||
--- a/arch/x86/Kconfig
|
||||
+++ b/arch/x86/Kconfig
|
||||
@@ -1481,6 +1481,14 @@ config X86_DIRECT_GBPAGES
|
||||
@@ -1482,6 +1482,14 @@ config X86_DIRECT_GBPAGES
|
||||
supports them), so don't confuse the user by printing
|
||||
that we have them enabled.
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ index 42e89060cd41..96c7ff63178c 100644
|
|||
help
|
||||
Say Y here to enable the MMC block device driver support.
|
||||
diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c
|
||||
index c723a1e54b18..c3f38b652f53 100644
|
||||
index c2c45c148ae7..9696ecb97927 100644
|
||||
--- a/drivers/mmc/core/block.c
|
||||
+++ b/drivers/mmc/core/block.c
|
||||
@@ -44,6 +44,7 @@
|
||||
|
@ -54,7 +54,7 @@ index c723a1e54b18..c3f38b652f53 100644
|
|||
|
||||
#include <linux/uaccess.h>
|
||||
|
||||
@@ -1084,6 +1085,217 @@ static void mmc_blk_issue_drv_op(struct mmc_queue *mq, struct request *req)
|
||||
@@ -1096,6 +1097,217 @@ static void mmc_blk_issue_drv_op(struct mmc_queue *mq, struct request *req)
|
||||
blk_mq_end_request(req, ret ? BLK_STS_IOERR : BLK_STS_OK);
|
||||
}
|
||||
|
||||
|
@ -272,7 +272,7 @@ index c723a1e54b18..c3f38b652f53 100644
|
|||
static void mmc_blk_issue_discard_rq(struct mmc_queue *mq, struct request *req)
|
||||
{
|
||||
struct mmc_blk_data *md = mq->blkdata;
|
||||
@@ -2916,6 +3128,9 @@ static int mmc_blk_probe(struct mmc_card *card)
|
||||
@@ -2932,6 +3144,9 @@ static int mmc_blk_probe(struct mmc_card *card)
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
@ -282,7 +282,7 @@ index c723a1e54b18..c3f38b652f53 100644
|
|||
/* Add two debugfs entries */
|
||||
mmc_blk_add_debugfs(card, md);
|
||||
|
||||
@@ -2944,6 +3159,7 @@ static void mmc_blk_remove(struct mmc_card *card)
|
||||
@@ -2960,6 +3175,7 @@ static void mmc_blk_remove(struct mmc_card *card)
|
||||
struct mmc_blk_data *md = dev_get_drvdata(&card->dev);
|
||||
|
||||
mmc_blk_remove_debugfs(card, md);
|
||||
|
|
|
@ -74,7 +74,7 @@ index c3bcaaec0fc5..348471f55bf9 100644
|
|||
|
||||
/**
|
||||
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
|
||||
index b2cbdd01ab10..77fa110d5f74 100644
|
||||
index b18430efb00f..626f4c3d3c46 100644
|
||||
--- a/drivers/scsi/ufs/ufshcd.c
|
||||
+++ b/drivers/scsi/ufs/ufshcd.c
|
||||
@@ -307,16 +307,6 @@ static void ufshcd_scsi_block_requests(struct ufs_hba *hba)
|
||||
|
@ -94,7 +94,7 @@ index b2cbdd01ab10..77fa110d5f74 100644
|
|||
static void ufshcd_add_cmd_upiu_trace(struct ufs_hba *hba, unsigned int tag,
|
||||
const char *str)
|
||||
{
|
||||
@@ -3169,7 +3159,7 @@ int ufshcd_read_desc_param(struct ufs_hba *hba,
|
||||
@@ -3176,7 +3166,7 @@ int ufshcd_read_desc_param(struct ufs_hba *hba,
|
||||
enum desc_idn desc_id,
|
||||
int desc_index,
|
||||
u8 param_offset,
|
||||
|
@ -103,7 +103,7 @@ index b2cbdd01ab10..77fa110d5f74 100644
|
|||
u8 param_size)
|
||||
{
|
||||
int ret;
|
||||
@@ -3237,7 +3227,7 @@ int ufshcd_read_desc_param(struct ufs_hba *hba,
|
||||
@@ -3244,7 +3234,7 @@ int ufshcd_read_desc_param(struct ufs_hba *hba,
|
||||
static inline int ufshcd_read_desc(struct ufs_hba *hba,
|
||||
enum desc_idn desc_id,
|
||||
int desc_index,
|
||||
|
@ -112,7 +112,7 @@ index b2cbdd01ab10..77fa110d5f74 100644
|
|||
u32 size)
|
||||
{
|
||||
return ufshcd_read_desc_param(hba, desc_id, desc_index, 0, buf, size);
|
||||
@@ -3255,49 +3245,77 @@ static int ufshcd_read_device_desc(struct ufs_hba *hba, u8 *buf, u32 size)
|
||||
@@ -3262,49 +3252,77 @@ static int ufshcd_read_device_desc(struct ufs_hba *hba, u8 *buf, u32 size)
|
||||
return ufshcd_read_desc(hba, QUERY_DESC_IDN_DEVICE, 0, buf, size);
|
||||
}
|
||||
|
||||
|
@ -217,7 +217,7 @@ index b2cbdd01ab10..77fa110d5f74 100644
|
|||
goto out;
|
||||
}
|
||||
|
||||
@@ -3305,22 +3323,29 @@ int ufshcd_read_string_desc(struct ufs_hba *hba, int desc_index,
|
||||
@@ -3312,22 +3330,29 @@ int ufshcd_read_string_desc(struct ufs_hba *hba, int desc_index,
|
||||
* the descriptor contains string in UTF16 format
|
||||
* we need to convert to utf-8 so it can be displayed
|
||||
*/
|
||||
|
@ -258,7 +258,7 @@ index b2cbdd01ab10..77fa110d5f74 100644
|
|||
}
|
||||
|
||||
/**
|
||||
@@ -6307,6 +6332,9 @@ static int ufs_get_device_desc(struct ufs_hba *hba,
|
||||
@@ -6311,6 +6336,9 @@ static int ufs_get_device_desc(struct ufs_hba *hba,
|
||||
u8 model_index;
|
||||
u8 *desc_buf;
|
||||
|
||||
|
@ -268,7 +268,7 @@ index b2cbdd01ab10..77fa110d5f74 100644
|
|||
buff_len = max_t(size_t, hba->desc_size.dev_desc,
|
||||
QUERY_DESC_MAX_SIZE + 1);
|
||||
desc_buf = kmalloc(buff_len, GFP_KERNEL);
|
||||
@@ -6330,31 +6358,31 @@ static int ufs_get_device_desc(struct ufs_hba *hba,
|
||||
@@ -6334,31 +6362,31 @@ static int ufs_get_device_desc(struct ufs_hba *hba,
|
||||
desc_buf[DEVICE_DESC_PARAM_MANF_ID + 1];
|
||||
|
||||
model_index = desc_buf[DEVICE_DESC_PARAM_PRDCT_NAME];
|
||||
|
@ -314,7 +314,7 @@ index b2cbdd01ab10..77fa110d5f74 100644
|
|||
static void ufs_fixup_device_setup(struct ufs_hba *hba,
|
||||
struct ufs_dev_desc *dev_desc)
|
||||
{
|
||||
@@ -6363,8 +6391,9 @@ static void ufs_fixup_device_setup(struct ufs_hba *hba,
|
||||
@@ -6367,8 +6395,9 @@ static void ufs_fixup_device_setup(struct ufs_hba *hba,
|
||||
for (f = ufs_fixups; f->quirk; f++) {
|
||||
if ((f->card.wmanufacturerid == dev_desc->wmanufacturerid ||
|
||||
f->card.wmanufacturerid == UFS_ANY_VENDOR) &&
|
||||
|
@ -326,7 +326,7 @@ index b2cbdd01ab10..77fa110d5f74 100644
|
|||
hba->dev_quirks |= f->quirk;
|
||||
}
|
||||
}
|
||||
@@ -6647,6 +6676,8 @@ static int ufshcd_probe_hba(struct ufs_hba *hba)
|
||||
@@ -6651,6 +6680,8 @@ static int ufshcd_probe_hba(struct ufs_hba *hba)
|
||||
}
|
||||
|
||||
ufs_fixup_device_setup(hba, &card);
|
||||
|
|
|
@ -44,7 +44,7 @@ index e09fe6ab3572..a3c1982b213a 100644
|
|||
This selects the support for UFS devices in Linux, say Y and make
|
||||
sure that you know the name of your UFS host adapter (the card
|
||||
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
|
||||
index 77fa110d5f74..75c5014699b3 100644
|
||||
index 626f4c3d3c46..b1c7dd8afccf 100644
|
||||
--- a/drivers/scsi/ufs/ufshcd.c
|
||||
+++ b/drivers/scsi/ufs/ufshcd.c
|
||||
@@ -37,11 +37,14 @@
|
||||
|
@ -62,7 +62,7 @@ index 77fa110d5f74..75c5014699b3 100644
|
|||
#include "ufshcd.h"
|
||||
#include "ufs_quirks.h"
|
||||
#include "unipro.h"
|
||||
@@ -6261,6 +6264,217 @@ static void ufshcd_init_icc_levels(struct ufs_hba *hba)
|
||||
@@ -6265,6 +6268,217 @@ static void ufshcd_init_icc_levels(struct ufs_hba *hba)
|
||||
kfree(desc_buf);
|
||||
}
|
||||
|
||||
|
@ -280,7 +280,7 @@ index 77fa110d5f74..75c5014699b3 100644
|
|||
/**
|
||||
* ufshcd_scsi_add_wlus - Adds required W-LUs
|
||||
* @hba: per-adapter instance
|
||||
@@ -6308,6 +6522,8 @@ static int ufshcd_scsi_add_wlus(struct ufs_hba *hba)
|
||||
@@ -6312,6 +6526,8 @@ static int ufshcd_scsi_add_wlus(struct ufs_hba *hba)
|
||||
ret = PTR_ERR(sdev_rpmb);
|
||||
goto remove_sdev_ufs_device;
|
||||
}
|
||||
|
@ -289,7 +289,7 @@ index 77fa110d5f74..75c5014699b3 100644
|
|||
scsi_device_put(sdev_rpmb);
|
||||
|
||||
sdev_boot = __scsi_add_device(hba->host, 0, 0,
|
||||
@@ -6727,6 +6943,8 @@ static int ufshcd_probe_hba(struct ufs_hba *hba)
|
||||
@@ -6731,6 +6947,8 @@ static int ufshcd_probe_hba(struct ufs_hba *hba)
|
||||
if (ret)
|
||||
goto out;
|
||||
|
||||
|
@ -299,8 +299,8 @@ index 77fa110d5f74..75c5014699b3 100644
|
|||
if (ufshcd_is_clkscaling_supported(hba)) {
|
||||
memcpy(&hba->clk_scaling.saved_pwr_info.info,
|
||||
@@ -7963,6 +8181,8 @@ int ufshcd_shutdown(struct ufs_hba *hba)
|
||||
goto out;
|
||||
}
|
||||
|
||||
pm_runtime_get_sync(hba->dev);
|
||||
|
||||
+ ufshcd_rpmb_remove(hba);
|
||||
+
|
||||
|
|
|
@ -36,7 +36,7 @@ index 348471f55bf9..febed206a1a7 100644
|
|||
|
||||
/**
|
||||
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
|
||||
index 75c5014699b3..6708079c04c7 100644
|
||||
index b1c7dd8afccf..79d21a653f25 100644
|
||||
--- a/drivers/scsi/ufs/ufshcd.c
|
||||
+++ b/drivers/scsi/ufs/ufshcd.c
|
||||
@@ -43,6 +43,7 @@
|
||||
|
@ -47,7 +47,7 @@ index 75c5014699b3..6708079c04c7 100644
|
|||
#include <linux/rpmb.h>
|
||||
|
||||
#include "ufshcd.h"
|
||||
@@ -6423,12 +6424,19 @@ static struct rpmb_ops ufshcd_rpmb_dev_ops = {
|
||||
@@ -6427,12 +6428,19 @@ static struct rpmb_ops ufshcd_rpmb_dev_ops = {
|
||||
|
||||
};
|
||||
|
||||
|
@ -68,7 +68,7 @@ index 75c5014699b3..6708079c04c7 100644
|
|||
ret = scsi_device_get(hba->sdev_ufs_rpmb);
|
||||
if (ret)
|
||||
goto out_put_dev;
|
||||
@@ -6472,6 +6480,9 @@ static inline void ufshcd_rpmb_remove(struct ufs_hba *hba)
|
||||
@@ -6476,6 +6484,9 @@ static inline void ufshcd_rpmb_remove(struct ufs_hba *hba)
|
||||
scsi_device_put(hba->sdev_ufs_rpmb);
|
||||
hba->sdev_ufs_rpmb = NULL;
|
||||
|
||||
|
@ -78,7 +78,7 @@ index 75c5014699b3..6708079c04c7 100644
|
|||
spin_unlock_irqrestore(hba->host->host_lock, flags);
|
||||
}
|
||||
|
||||
@@ -6545,7 +6556,7 @@ static int ufs_get_device_desc(struct ufs_hba *hba,
|
||||
@@ -6549,7 +6560,7 @@ static int ufs_get_device_desc(struct ufs_hba *hba,
|
||||
{
|
||||
int err;
|
||||
size_t buff_len;
|
||||
|
@ -87,7 +87,7 @@ index 75c5014699b3..6708079c04c7 100644
|
|||
u8 *desc_buf;
|
||||
|
||||
if (!dev_desc)
|
||||
@@ -6573,8 +6584,8 @@ static int ufs_get_device_desc(struct ufs_hba *hba,
|
||||
@@ -6577,8 +6588,8 @@ static int ufs_get_device_desc(struct ufs_hba *hba,
|
||||
dev_desc->wmanufacturerid = desc_buf[DEVICE_DESC_PARAM_MANF_ID] << 8 |
|
||||
desc_buf[DEVICE_DESC_PARAM_MANF_ID + 1];
|
||||
|
||||
|
@ -98,7 +98,7 @@ index 75c5014699b3..6708079c04c7 100644
|
|||
&dev_desc->model, SD_ASCII_STD);
|
||||
if (err < 0) {
|
||||
dev_err(hba->dev, "%s: Failed reading Product Name. err = %d\n",
|
||||
@@ -6582,6 +6593,14 @@ static int ufs_get_device_desc(struct ufs_hba *hba,
|
||||
@@ -6586,6 +6597,14 @@ static int ufs_get_device_desc(struct ufs_hba *hba,
|
||||
goto out;
|
||||
}
|
||||
|
||||
|
@ -113,7 +113,7 @@ index 75c5014699b3..6708079c04c7 100644
|
|||
/*
|
||||
* ufshcd_read_string_desc returns size of the string
|
||||
* reset the error value
|
||||
@@ -6597,6 +6616,9 @@ static void ufs_put_device_desc(struct ufs_dev_desc *dev_desc)
|
||||
@@ -6601,6 +6620,9 @@ static void ufs_put_device_desc(struct ufs_dev_desc *dev_desc)
|
||||
{
|
||||
kfree(dev_desc->model);
|
||||
dev_desc->model = NULL;
|
||||
|
@ -123,7 +123,7 @@ index 75c5014699b3..6708079c04c7 100644
|
|||
}
|
||||
|
||||
static void ufs_fixup_device_setup(struct ufs_hba *hba,
|
||||
@@ -6892,7 +6914,6 @@ static int ufshcd_probe_hba(struct ufs_hba *hba)
|
||||
@@ -6896,7 +6918,6 @@ static int ufshcd_probe_hba(struct ufs_hba *hba)
|
||||
}
|
||||
|
||||
ufs_fixup_device_setup(hba, &card);
|
||||
|
@ -131,7 +131,7 @@ index 75c5014699b3..6708079c04c7 100644
|
|||
|
||||
ufshcd_tune_unipro_params(hba);
|
||||
|
||||
@@ -6943,7 +6964,7 @@ static int ufshcd_probe_hba(struct ufs_hba *hba)
|
||||
@@ -6947,7 +6968,7 @@ static int ufshcd_probe_hba(struct ufs_hba *hba)
|
||||
if (ret)
|
||||
goto out;
|
||||
|
||||
|
@ -140,7 +140,7 @@ index 75c5014699b3..6708079c04c7 100644
|
|||
|
||||
/* Initialize devfreq after UFS device is detected */
|
||||
if (ufshcd_is_clkscaling_supported(hba)) {
|
||||
@@ -6967,6 +6988,8 @@ static int ufshcd_probe_hba(struct ufs_hba *hba)
|
||||
@@ -6971,6 +6992,8 @@ static int ufshcd_probe_hba(struct ufs_hba *hba)
|
||||
hba->is_init_prefetch = true;
|
||||
|
||||
out:
|
||||
|
|
|
@ -45,7 +45,7 @@ index aea459c65ae1..99f99e87b82b 100644
|
|||
nvme-fabrics-y += fabrics.o
|
||||
|
||||
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
|
||||
index b633ea40430e..1c10782a2cc2 100644
|
||||
index e64310f2296f..ebdaad47aed0 100644
|
||||
--- a/drivers/nvme/host/core.c
|
||||
+++ b/drivers/nvme/host/core.c
|
||||
@@ -11,7 +11,6 @@
|
||||
|
@ -123,7 +123,7 @@ index b633ea40430e..1c10782a2cc2 100644
|
|||
EXPORT_SYMBOL_GPL(nvme_sec_submit);
|
||||
#endif /* CONFIG_BLK_SED_OPAL */
|
||||
|
||||
@@ -2559,7 +2590,10 @@ int nvme_init_identify(struct nvme_ctrl *ctrl)
|
||||
@@ -2560,7 +2591,10 @@ int nvme_init_identify(struct nvme_ctrl *ctrl)
|
||||
ctrl->hmmaxd = le16_to_cpu(id->hmmaxd);
|
||||
}
|
||||
|
||||
|
@ -135,7 +135,7 @@ index b633ea40430e..1c10782a2cc2 100644
|
|||
|
||||
if (ret < 0)
|
||||
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
|
||||
index 9c2e7a151e40..151a267df871 100644
|
||||
index 276975506709..d66fd0818417 100644
|
||||
--- a/drivers/nvme/host/nvme.h
|
||||
+++ b/drivers/nvme/host/nvme.h
|
||||
@@ -21,6 +21,7 @@
|
||||
|
@ -176,10 +176,10 @@ index 9c2e7a151e40..151a267df871 100644
|
|||
void nvme_remove_namespaces(struct nvme_ctrl *ctrl);
|
||||
|
||||
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
|
||||
index 3c68a5b35ec1..66fcf86a7e34 100644
|
||||
index 82d87d2e280c..79a7c215d7c9 100644
|
||||
--- a/drivers/nvme/host/pci.c
|
||||
+++ b/drivers/nvme/host/pci.c
|
||||
@@ -2306,6 +2306,10 @@ static void nvme_reset_work(struct work_struct *work)
|
||||
@@ -2321,6 +2321,10 @@ static void nvme_reset_work(struct work_struct *work)
|
||||
if (result)
|
||||
goto out;
|
||||
|
||||
|
|
|
@ -13,10 +13,10 @@ Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
|
|||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/block/genhd.c b/block/genhd.c
|
||||
index 2b2a936cf848..19acb969f408 100644
|
||||
index 27a410d31087..7f10bf9c2aad 100644
|
||||
--- a/block/genhd.c
|
||||
+++ b/block/genhd.c
|
||||
@@ -1303,6 +1303,7 @@ static void disk_release(struct device *dev)
|
||||
@@ -1315,6 +1315,7 @@ static void disk_release(struct device *dev)
|
||||
struct class block_class = {
|
||||
.name = "block",
|
||||
};
|
||||
|
|
|
@ -30,7 +30,7 @@ Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
|
|||
create mode 100644 drivers/char/rpmb/mux/key_sbl.h
|
||||
|
||||
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
|
||||
index 8dbc8d4ec8f0..1c6ca4d46d08 100644
|
||||
index 558332df02a8..fcc756a8c19a 100644
|
||||
--- a/Documentation/admin-guide/kernel-parameters.txt
|
||||
+++ b/Documentation/admin-guide/kernel-parameters.txt
|
||||
@@ -745,6 +745,10 @@
|
||||
|
|
|
@ -105,10 +105,10 @@ Signed-off-by: Tarun Vyas <tarun.vyas@intel.com>
|
|||
create mode 100755 drivers/staging/igb_avb/startup.sh
|
||||
|
||||
diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig
|
||||
index 1abf76be2aa8..89735a5fd9e1 100644
|
||||
index 58e8140c1f57..c1d6d7740117 100644
|
||||
--- a/drivers/staging/Kconfig
|
||||
+++ b/drivers/staging/Kconfig
|
||||
@@ -126,4 +126,6 @@ source "drivers/staging/axis-fifo/Kconfig"
|
||||
@@ -124,4 +124,6 @@ source "drivers/staging/axis-fifo/Kconfig"
|
||||
|
||||
source "drivers/staging/erofs/Kconfig"
|
||||
|
||||
|
@ -116,10 +116,10 @@ index 1abf76be2aa8..89735a5fd9e1 100644
|
|||
+
|
||||
endif # STAGING
|
||||
diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
|
||||
index ab0cbe8815b1..f7d9b0acf361 100644
|
||||
index 6f3065569fa0..82743da3327f 100644
|
||||
--- a/drivers/staging/Makefile
|
||||
+++ b/drivers/staging/Makefile
|
||||
@@ -53,3 +53,4 @@ obj-$(CONFIG_SOC_MT7621) += mt7621-dts/
|
||||
@@ -52,3 +52,4 @@ obj-$(CONFIG_SOC_MT7621) += mt7621-dts/
|
||||
obj-$(CONFIG_STAGING_GASKET_FRAMEWORK) += gasket/
|
||||
obj-$(CONFIG_XIL_AXIS_FIFO) += axis-fifo/
|
||||
obj-$(CONFIG_EROFS_FS) += erofs/
|
||||
|
|
|
@ -125,7 +125,7 @@ index 5261bad11953..e29d03f42c3e 100644
|
|||
if (err)
|
||||
return err;
|
||||
diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
|
||||
index f75d892b6f03..adbd5729639d 100644
|
||||
index 76ef79733a4e..487781d045ee 100644
|
||||
--- a/drivers/media/v4l2-core/v4l2-ioctl.c
|
||||
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c
|
||||
@@ -2929,6 +2929,22 @@ static int check_array_args(unsigned int cmd, void *parg, size_t *array_size,
|
||||
|
|
|
@ -17,7 +17,7 @@ Signed-off-by: Greniger, Jacek <jacekx.greniger@intel.com>
|
|||
1 file changed, 27 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
|
||||
index f0d2f0a4e990..44e4dea865c1 100644
|
||||
index 1396ee529792..de91a92aa569 100644
|
||||
--- a/drivers/usb/dwc3/gadget.c
|
||||
+++ b/drivers/usb/dwc3/gadget.c
|
||||
@@ -18,6 +18,7 @@
|
||||
|
@ -28,7 +28,7 @@ index f0d2f0a4e990..44e4dea865c1 100644
|
|||
|
||||
#include <linux/usb/ch9.h>
|
||||
#include <linux/usb/gadget.h>
|
||||
@@ -1869,6 +1870,17 @@ static void dwc3_gadget_setup_nump(struct dwc3 *dwc)
|
||||
@@ -1892,6 +1893,17 @@ static void dwc3_gadget_setup_nump(struct dwc3 *dwc)
|
||||
dwc3_writel(dwc->regs, DWC3_DCFG, reg);
|
||||
}
|
||||
|
||||
|
@ -46,7 +46,7 @@ index f0d2f0a4e990..44e4dea865c1 100644
|
|||
static int __dwc3_gadget_start(struct dwc3 *dwc)
|
||||
{
|
||||
struct dwc3_ep *dep;
|
||||
@@ -2046,10 +2058,23 @@ static void dwc3_gadget_set_speed(struct usb_gadget *g,
|
||||
@@ -2069,10 +2081,23 @@ static void dwc3_gadget_set_speed(struct usb_gadget *g,
|
||||
reg |= DWC3_DCFG_HIGHSPEED;
|
||||
break;
|
||||
case USB_SPEED_SUPER:
|
||||
|
|
|
@ -14,10 +14,10 @@ Signed-off-by: James Morris <james.morris@microsoft.com>
|
|||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/security/commoncap.c b/security/commoncap.c
|
||||
index f86557a8e43f..6768077da511 100644
|
||||
index 876cfe01d939..a48a7777aa4c 100644
|
||||
--- a/security/commoncap.c
|
||||
+++ b/security/commoncap.c
|
||||
@@ -683,9 +683,6 @@ static int get_file_caps(struct linux_binprm *bprm, bool *effective, bool *has_f
|
||||
@@ -702,9 +702,6 @@ static int get_file_caps(struct linux_binprm *bprm, bool *effective, bool *has_f
|
||||
}
|
||||
|
||||
rc = bprm_caps_from_vfs_caps(&vcaps, bprm, effective, has_fcap);
|
||||
|
|
|
@ -62,7 +62,7 @@ index c980dfe9abf1..9842e21afd4a 100644
|
|||
:maxdepth: 1
|
||||
|
||||
diff --git a/fs/proc/base.c b/fs/proc/base.c
|
||||
index 5e705fa9a913..e919aee77d40 100644
|
||||
index 317a0762fc5f..1d3ec810afc1 100644
|
||||
--- a/fs/proc/base.c
|
||||
+++ b/fs/proc/base.c
|
||||
@@ -140,9 +140,13 @@ struct pid_entry {
|
||||
|
@ -80,7 +80,7 @@ index 5e705fa9a913..e919aee77d40 100644
|
|||
|
||||
/*
|
||||
* Count the number of hardlinks for the pid_entry table, excluding the .
|
||||
@@ -2546,7 +2550,7 @@ static ssize_t proc_pid_attr_read(struct file * file, char __user * buf,
|
||||
@@ -2553,7 +2557,7 @@ static ssize_t proc_pid_attr_read(struct file * file, char __user * buf,
|
||||
if (!task)
|
||||
return -ESRCH;
|
||||
|
||||
|
@ -89,7 +89,7 @@ index 5e705fa9a913..e919aee77d40 100644
|
|||
(char*)file->f_path.dentry->d_name.name,
|
||||
&p);
|
||||
put_task_struct(task);
|
||||
@@ -2600,7 +2604,9 @@ static ssize_t proc_pid_attr_write(struct file * file, const char __user * buf,
|
||||
@@ -2611,7 +2615,9 @@ static ssize_t proc_pid_attr_write(struct file * file, const char __user * buf,
|
||||
if (rv < 0)
|
||||
goto out_free;
|
||||
|
||||
|
@ -100,8 +100,8 @@ index 5e705fa9a913..e919aee77d40 100644
|
|||
mutex_unlock(¤t->signal->cred_guard_mutex);
|
||||
out_free:
|
||||
kfree(page);
|
||||
@@ -2614,13 +2620,53 @@ static const struct file_operations proc_pid_attr_operations = {
|
||||
.llseek = generic_file_llseek,
|
||||
@@ -2627,13 +2633,53 @@ static const struct file_operations proc_pid_attr_operations = {
|
||||
.release = mem_release,
|
||||
};
|
||||
|
||||
+#define LSM_DIR_OPS(LSM) \
|
||||
|
@ -161,7 +161,7 @@ index 5e705fa9a913..e919aee77d40 100644
|
|||
|
||||
static int proc_attr_dir_readdir(struct file *file, struct dir_context *ctx)
|
||||
diff --git a/fs/proc/internal.h b/fs/proc/internal.h
|
||||
index 95b14196f284..f8579787852e 100644
|
||||
index 4f14906ef16b..07835bd93562 100644
|
||||
--- a/fs/proc/internal.h
|
||||
+++ b/fs/proc/internal.h
|
||||
@@ -82,6 +82,7 @@ union proc_op {
|
||||
|
@ -173,7 +173,7 @@ index 95b14196f284..f8579787852e 100644
|
|||
|
||||
struct proc_inode {
|
||||
diff --git a/include/linux/security.h b/include/linux/security.h
|
||||
index d2240605edc4..96eb8d4cf764 100644
|
||||
index 454cc963d145..3c854e63d41d 100644
|
||||
--- a/include/linux/security.h
|
||||
+++ b/include/linux/security.h
|
||||
@@ -393,8 +393,10 @@ int security_sem_semctl(struct kern_ipc_perm *sma, int cmd);
|
||||
|
|
|
@ -318,10 +318,10 @@ index 221de4c755c3..9d5d5584d2fa 100644
|
|||
int may;
|
||||
|
||||
diff --git a/security/smack/smackfs.c b/security/smack/smackfs.c
|
||||
index accd3846f1e3..09fee3e8df9c 100644
|
||||
index 4f8c1a272df0..5f415224a6b3 100644
|
||||
--- a/security/smack/smackfs.c
|
||||
+++ b/security/smack/smackfs.c
|
||||
@@ -2222,14 +2222,14 @@ static const struct file_operations smk_logging_ops = {
|
||||
@@ -2232,14 +2232,14 @@ static const struct file_operations smk_logging_ops = {
|
||||
|
||||
static void *load_self_seq_start(struct seq_file *s, loff_t *pos)
|
||||
{
|
||||
|
@ -338,7 +338,7 @@ index accd3846f1e3..09fee3e8df9c 100644
|
|||
|
||||
return smk_seq_next(s, v, pos, &tsp->smk_rules);
|
||||
}
|
||||
@@ -2276,7 +2276,7 @@ static int smk_open_load_self(struct inode *inode, struct file *file)
|
||||
@@ -2286,7 +2286,7 @@ static int smk_open_load_self(struct inode *inode, struct file *file)
|
||||
static ssize_t smk_write_load_self(struct file *file, const char __user *buf,
|
||||
size_t count, loff_t *ppos)
|
||||
{
|
||||
|
@ -347,7 +347,7 @@ index accd3846f1e3..09fee3e8df9c 100644
|
|||
|
||||
return smk_write_rules_list(file, buf, count, ppos, &tsp->smk_rules,
|
||||
&tsp->smk_rules_lock, SMK_FIXED24_FMT);
|
||||
@@ -2428,14 +2428,14 @@ static const struct file_operations smk_load2_ops = {
|
||||
@@ -2438,14 +2438,14 @@ static const struct file_operations smk_load2_ops = {
|
||||
|
||||
static void *load_self2_seq_start(struct seq_file *s, loff_t *pos)
|
||||
{
|
||||
|
@ -364,7 +364,7 @@ index accd3846f1e3..09fee3e8df9c 100644
|
|||
|
||||
return smk_seq_next(s, v, pos, &tsp->smk_rules);
|
||||
}
|
||||
@@ -2481,7 +2481,7 @@ static int smk_open_load_self2(struct inode *inode, struct file *file)
|
||||
@@ -2491,7 +2491,7 @@ static int smk_open_load_self2(struct inode *inode, struct file *file)
|
||||
static ssize_t smk_write_load_self2(struct file *file, const char __user *buf,
|
||||
size_t count, loff_t *ppos)
|
||||
{
|
||||
|
@ -373,7 +373,7 @@ index accd3846f1e3..09fee3e8df9c 100644
|
|||
|
||||
return smk_write_rules_list(file, buf, count, ppos, &tsp->smk_rules,
|
||||
&tsp->smk_rules_lock, SMK_LONG_FMT);
|
||||
@@ -2695,14 +2695,14 @@ static const struct file_operations smk_syslog_ops = {
|
||||
@@ -2709,14 +2709,14 @@ static const struct file_operations smk_syslog_ops = {
|
||||
|
||||
static void *relabel_self_seq_start(struct seq_file *s, loff_t *pos)
|
||||
{
|
||||
|
|
|
@ -14,7 +14,7 @@ Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
|
|||
3 files changed, 34 insertions(+), 29 deletions(-)
|
||||
|
||||
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
|
||||
index 250b725f5754..44e4d2015b0a 100644
|
||||
index 08833bbb97aa..58a33e6bc37d 100644
|
||||
--- a/security/selinux/hooks.c
|
||||
+++ b/security/selinux/hooks.c
|
||||
@@ -228,7 +228,7 @@ static inline u32 cred_sid(const struct cred *cred)
|
||||
|
@ -44,7 +44,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
int rc;
|
||||
rc = avc_has_perm(&selinux_state,
|
||||
tsec->sid, sbsec->sid, SECCLASS_FILESYSTEM,
|
||||
@@ -1979,7 +1979,7 @@ static int may_create(struct inode *dir,
|
||||
@@ -1987,7 +1987,7 @@ static int may_create(struct inode *dir,
|
||||
struct dentry *dentry,
|
||||
u16 tclass)
|
||||
{
|
||||
|
@ -53,7 +53,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
struct inode_security_struct *dsec;
|
||||
struct superblock_security_struct *sbsec;
|
||||
u32 sid, newsid;
|
||||
@@ -2001,7 +2001,7 @@ static int may_create(struct inode *dir,
|
||||
@@ -2009,7 +2009,7 @@ static int may_create(struct inode *dir,
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
|
@ -62,7 +62,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
&dentry->d_name, tclass, &newsid);
|
||||
if (rc)
|
||||
return rc;
|
||||
@@ -2508,8 +2508,8 @@ static int selinux_bprm_set_creds(struct linux_binprm *bprm)
|
||||
@@ -2516,8 +2516,8 @@ static int selinux_bprm_set_creds(struct linux_binprm *bprm)
|
||||
if (bprm->called_set_creds)
|
||||
return 0;
|
||||
|
||||
|
@ -73,7 +73,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
isec = inode_security(inode);
|
||||
|
||||
/* Default to the current task SID. */
|
||||
@@ -2673,7 +2673,7 @@ static void selinux_bprm_committing_creds(struct linux_binprm *bprm)
|
||||
@@ -2681,7 +2681,7 @@ static void selinux_bprm_committing_creds(struct linux_binprm *bprm)
|
||||
struct rlimit *rlim, *initrlim;
|
||||
int rc, i;
|
||||
|
||||
|
@ -82,7 +82,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
if (new_tsec->sid == new_tsec->osid)
|
||||
return;
|
||||
|
||||
@@ -2716,7 +2716,7 @@ static void selinux_bprm_committing_creds(struct linux_binprm *bprm)
|
||||
@@ -2724,7 +2724,7 @@ static void selinux_bprm_committing_creds(struct linux_binprm *bprm)
|
||||
*/
|
||||
static void selinux_bprm_committed_creds(struct linux_binprm *bprm)
|
||||
{
|
||||
|
@ -91,7 +91,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
struct itimerval itimer;
|
||||
u32 osid, sid;
|
||||
int rc, i;
|
||||
@@ -3019,7 +3019,7 @@ static int selinux_dentry_init_security(struct dentry *dentry, int mode,
|
||||
@@ -3027,7 +3027,7 @@ static int selinux_dentry_init_security(struct dentry *dentry, int mode,
|
||||
u32 newsid;
|
||||
int rc;
|
||||
|
||||
|
@ -100,7 +100,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
d_inode(dentry->d_parent), name,
|
||||
inode_mode_to_security_class(mode),
|
||||
&newsid);
|
||||
@@ -3039,14 +3039,14 @@ static int selinux_dentry_create_files_as(struct dentry *dentry, int mode,
|
||||
@@ -3047,14 +3047,14 @@ static int selinux_dentry_create_files_as(struct dentry *dentry, int mode,
|
||||
int rc;
|
||||
struct task_security_struct *tsec;
|
||||
|
||||
|
@ -117,7 +117,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
tsec->create_sid = newsid;
|
||||
return 0;
|
||||
}
|
||||
@@ -3056,7 +3056,7 @@ static int selinux_inode_init_security(struct inode *inode, struct inode *dir,
|
||||
@@ -3064,7 +3064,7 @@ static int selinux_inode_init_security(struct inode *inode, struct inode *dir,
|
||||
const char **name,
|
||||
void **value, size_t *len)
|
||||
{
|
||||
|
@ -126,7 +126,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
struct superblock_security_struct *sbsec;
|
||||
u32 newsid, clen;
|
||||
int rc;
|
||||
@@ -3066,7 +3066,7 @@ static int selinux_inode_init_security(struct inode *inode, struct inode *dir,
|
||||
@@ -3074,7 +3074,7 @@ static int selinux_inode_init_security(struct inode *inode, struct inode *dir,
|
||||
|
||||
newsid = tsec->create_sid;
|
||||
|
||||
|
@ -135,7 +135,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
dir, qstr,
|
||||
inode_mode_to_security_class(inode->i_mode),
|
||||
&newsid);
|
||||
@@ -3549,7 +3549,7 @@ static int selinux_inode_copy_up(struct dentry *src, struct cred **new)
|
||||
@@ -3557,7 +3557,7 @@ static int selinux_inode_copy_up(struct dentry *src, struct cred **new)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
|
@ -144,7 +144,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
/* Get label from overlay inode and set it in create_sid */
|
||||
selinux_inode_getsecid(d_inode(src), &sid);
|
||||
tsec->create_sid = sid;
|
||||
@@ -3969,7 +3969,7 @@ static int selinux_cred_alloc_blank(struct cred *cred, gfp_t gfp)
|
||||
@@ -3977,7 +3977,7 @@ static int selinux_cred_alloc_blank(struct cred *cred, gfp_t gfp)
|
||||
*/
|
||||
static void selinux_cred_free(struct cred *cred)
|
||||
{
|
||||
|
@ -153,7 +153,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
|
||||
/*
|
||||
* cred->security == NULL if security_cred_alloc_blank() or
|
||||
@@ -3989,7 +3989,7 @@ static int selinux_cred_prepare(struct cred *new, const struct cred *old,
|
||||
@@ -3997,7 +3997,7 @@ static int selinux_cred_prepare(struct cred *new, const struct cred *old,
|
||||
const struct task_security_struct *old_tsec;
|
||||
struct task_security_struct *tsec;
|
||||
|
||||
|
@ -162,7 +162,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
|
||||
tsec = kmemdup(old_tsec, sizeof(struct task_security_struct), gfp);
|
||||
if (!tsec)
|
||||
@@ -4004,8 +4004,8 @@ static int selinux_cred_prepare(struct cred *new, const struct cred *old,
|
||||
@@ -4012,8 +4012,8 @@ static int selinux_cred_prepare(struct cred *new, const struct cred *old,
|
||||
*/
|
||||
static void selinux_cred_transfer(struct cred *new, const struct cred *old)
|
||||
{
|
||||
|
@ -173,7 +173,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
|
||||
*tsec = *old_tsec;
|
||||
}
|
||||
@@ -4021,7 +4021,7 @@ static void selinux_cred_getsecid(const struct cred *c, u32 *secid)
|
||||
@@ -4029,7 +4029,7 @@ static void selinux_cred_getsecid(const struct cred *c, u32 *secid)
|
||||
*/
|
||||
static int selinux_kernel_act_as(struct cred *new, u32 secid)
|
||||
{
|
||||
|
@ -182,7 +182,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
u32 sid = current_sid();
|
||||
int ret;
|
||||
|
||||
@@ -4046,7 +4046,7 @@ static int selinux_kernel_act_as(struct cred *new, u32 secid)
|
||||
@@ -4054,7 +4054,7 @@ static int selinux_kernel_act_as(struct cred *new, u32 secid)
|
||||
static int selinux_kernel_create_files_as(struct cred *new, struct inode *inode)
|
||||
{
|
||||
struct inode_security_struct *isec = inode_security(inode);
|
||||
|
@ -191,7 +191,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
u32 sid = current_sid();
|
||||
int ret;
|
||||
|
||||
@@ -4595,7 +4595,7 @@ static int sock_has_perm(struct sock *sk, u32 perms)
|
||||
@@ -4603,7 +4603,7 @@ static int sock_has_perm(struct sock *sk, u32 perms)
|
||||
static int selinux_socket_create(int family, int type,
|
||||
int protocol, int kern)
|
||||
{
|
||||
|
@ -200,7 +200,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
u32 newsid;
|
||||
u16 secclass;
|
||||
int rc;
|
||||
@@ -4615,7 +4615,7 @@ static int selinux_socket_create(int family, int type,
|
||||
@@ -4623,7 +4623,7 @@ static int selinux_socket_create(int family, int type,
|
||||
static int selinux_socket_post_create(struct socket *sock, int family,
|
||||
int type, int protocol, int kern)
|
||||
{
|
||||
|
@ -209,7 +209,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
struct inode_security_struct *isec = inode_security_novalidate(SOCK_INODE(sock));
|
||||
struct sk_security_struct *sksec;
|
||||
u16 sclass = socket_type_to_security_class(family, type, protocol);
|
||||
@@ -5499,7 +5499,7 @@ static int selinux_secmark_relabel_packet(u32 sid)
|
||||
@@ -5507,7 +5507,7 @@ static int selinux_secmark_relabel_packet(u32 sid)
|
||||
const struct task_security_struct *__tsec;
|
||||
u32 tsid;
|
||||
|
||||
|
@ -218,7 +218,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
tsid = __tsec->sid;
|
||||
|
||||
return avc_has_perm(&selinux_state,
|
||||
@@ -6456,7 +6456,7 @@ static int selinux_getprocattr(struct task_struct *p,
|
||||
@@ -6464,7 +6464,7 @@ static int selinux_getprocattr(struct task_struct *p,
|
||||
unsigned len;
|
||||
|
||||
rcu_read_lock();
|
||||
|
@ -227,7 +227,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
|
||||
if (current != p) {
|
||||
error = avc_has_perm(&selinux_state,
|
||||
@@ -6579,7 +6579,7 @@ static int selinux_setprocattr(const char *name, void *value, size_t size)
|
||||
@@ -6587,7 +6587,7 @@ static int selinux_setprocattr(const char *name, void *value, size_t size)
|
||||
operation. See selinux_bprm_set_creds for the execve
|
||||
checks and may_create for the file creation checks. The
|
||||
operation will then fail if the context is not permitted. */
|
||||
|
@ -236,7 +236,7 @@ index 250b725f5754..44e4d2015b0a 100644
|
|||
if (!strcmp(name, "exec")) {
|
||||
tsec->exec_sid = sid;
|
||||
} else if (!strcmp(name, "fscreate")) {
|
||||
@@ -6712,7 +6712,7 @@ static int selinux_key_alloc(struct key *k, const struct cred *cred,
|
||||
@@ -6720,7 +6720,7 @@ static int selinux_key_alloc(struct key *k, const struct cred *cred,
|
||||
if (!ksec)
|
||||
return -ENOMEM;
|
||||
|
||||
|
|
|
@ -423,7 +423,7 @@ index 44416ebec44f..eee803e1a250 100644
|
|||
|
||||
void security_transfer_creds(struct cred *new, const struct cred *old)
|
||||
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
|
||||
index 44e4d2015b0a..37cb7743e265 100644
|
||||
index 58a33e6bc37d..3d278734f2bc 100644
|
||||
--- a/security/selinux/hooks.c
|
||||
+++ b/security/selinux/hooks.c
|
||||
@@ -213,12 +213,9 @@ static void cred_init_security(void)
|
||||
|
@ -441,7 +441,7 @@ index 44e4d2015b0a..37cb7743e265 100644
|
|||
}
|
||||
|
||||
/*
|
||||
@@ -3949,53 +3946,17 @@ static int selinux_task_alloc(struct task_struct *task,
|
||||
@@ -3957,53 +3954,17 @@ static int selinux_task_alloc(struct task_struct *task,
|
||||
sid, sid, SECCLASS_PROCESS, PROCESS__FORK, NULL);
|
||||
}
|
||||
|
||||
|
@ -498,7 +498,7 @@ index 44e4d2015b0a..37cb7743e265 100644
|
|||
return 0;
|
||||
}
|
||||
|
||||
@@ -6975,6 +6936,10 @@ static void selinux_bpf_prog_free(struct bpf_prog_aux *aux)
|
||||
@@ -6983,6 +6944,10 @@ static void selinux_bpf_prog_free(struct bpf_prog_aux *aux)
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -509,7 +509,7 @@ index 44e4d2015b0a..37cb7743e265 100644
|
|||
static struct security_hook_list selinux_hooks[] __lsm_ro_after_init = {
|
||||
LSM_HOOK_INIT(binder_set_context_mgr, selinux_binder_set_context_mgr),
|
||||
LSM_HOOK_INIT(binder_transaction, selinux_binder_transaction),
|
||||
@@ -7057,8 +7022,6 @@ static struct security_hook_list selinux_hooks[] __lsm_ro_after_init = {
|
||||
@@ -7065,8 +7030,6 @@ static struct security_hook_list selinux_hooks[] __lsm_ro_after_init = {
|
||||
LSM_HOOK_INIT(file_open, selinux_file_open),
|
||||
|
||||
LSM_HOOK_INIT(task_alloc, selinux_task_alloc),
|
||||
|
@ -518,7 +518,7 @@ index 44e4d2015b0a..37cb7743e265 100644
|
|||
LSM_HOOK_INIT(cred_prepare, selinux_cred_prepare),
|
||||
LSM_HOOK_INIT(cred_transfer, selinux_cred_transfer),
|
||||
LSM_HOOK_INIT(cred_getsecid, selinux_cred_getsecid),
|
||||
@@ -7214,11 +7177,19 @@ static struct security_hook_list selinux_hooks[] __lsm_ro_after_init = {
|
||||
@@ -7222,11 +7185,19 @@ static struct security_hook_list selinux_hooks[] __lsm_ro_after_init = {
|
||||
|
||||
static __init int selinux_init(void)
|
||||
{
|
||||
|
|
|
@ -13,7 +13,7 @@ Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
|
|||
2 files changed, 14 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
|
||||
index 37cb7743e265..0a28281c7c4b 100644
|
||||
index 3d278734f2bc..55c32ac3760a 100644
|
||||
--- a/security/selinux/hooks.c
|
||||
+++ b/security/selinux/hooks.c
|
||||
@@ -397,7 +397,7 @@ static int file_alloc_security(struct file *file)
|
||||
|
@ -25,7 +25,7 @@ index 37cb7743e265..0a28281c7c4b 100644
|
|||
file->f_security = NULL;
|
||||
kmem_cache_free(file_security_cache, fsec);
|
||||
}
|
||||
@@ -1910,7 +1910,7 @@ static int file_has_perm(const struct cred *cred,
|
||||
@@ -1918,7 +1918,7 @@ static int file_has_perm(const struct cred *cred,
|
||||
struct file *file,
|
||||
u32 av)
|
||||
{
|
||||
|
@ -34,7 +34,7 @@ index 37cb7743e265..0a28281c7c4b 100644
|
|||
struct inode *inode = file_inode(file);
|
||||
struct common_audit_data ad;
|
||||
u32 sid = cred_sid(cred);
|
||||
@@ -2254,7 +2254,7 @@ static int selinux_binder_transfer_file(struct task_struct *from,
|
||||
@@ -2262,7 +2262,7 @@ static int selinux_binder_transfer_file(struct task_struct *from,
|
||||
struct file *file)
|
||||
{
|
||||
u32 sid = task_sid(to);
|
||||
|
@ -43,7 +43,7 @@ index 37cb7743e265..0a28281c7c4b 100644
|
|||
struct dentry *dentry = file->f_path.dentry;
|
||||
struct inode_security_struct *isec;
|
||||
struct common_audit_data ad;
|
||||
@@ -3587,7 +3587,7 @@ static int selinux_revalidate_file_permission(struct file *file, int mask)
|
||||
@@ -3595,7 +3595,7 @@ static int selinux_revalidate_file_permission(struct file *file, int mask)
|
||||
static int selinux_file_permission(struct file *file, int mask)
|
||||
{
|
||||
struct inode *inode = file_inode(file);
|
||||
|
@ -52,7 +52,7 @@ index 37cb7743e265..0a28281c7c4b 100644
|
|||
struct inode_security_struct *isec;
|
||||
u32 sid = current_sid();
|
||||
|
||||
@@ -3622,7 +3622,7 @@ static int ioctl_has_perm(const struct cred *cred, struct file *file,
|
||||
@@ -3630,7 +3630,7 @@ static int ioctl_has_perm(const struct cred *cred, struct file *file,
|
||||
u32 requested, u16 cmd)
|
||||
{
|
||||
struct common_audit_data ad;
|
||||
|
@ -61,7 +61,7 @@ index 37cb7743e265..0a28281c7c4b 100644
|
|||
struct inode *inode = file_inode(file);
|
||||
struct inode_security_struct *isec;
|
||||
struct lsm_ioctlop_audit ioctl;
|
||||
@@ -3874,7 +3874,7 @@ static void selinux_file_set_fowner(struct file *file)
|
||||
@@ -3882,7 +3882,7 @@ static void selinux_file_set_fowner(struct file *file)
|
||||
{
|
||||
struct file_security_struct *fsec;
|
||||
|
||||
|
@ -70,7 +70,7 @@ index 37cb7743e265..0a28281c7c4b 100644
|
|||
fsec->fown_sid = current_sid();
|
||||
}
|
||||
|
||||
@@ -3889,7 +3889,7 @@ static int selinux_file_send_sigiotask(struct task_struct *tsk,
|
||||
@@ -3897,7 +3897,7 @@ static int selinux_file_send_sigiotask(struct task_struct *tsk,
|
||||
/* struct fown_struct is never outside the context of a struct file */
|
||||
file = container_of(fown, struct file, f_owner);
|
||||
|
||||
|
@ -79,7 +79,7 @@ index 37cb7743e265..0a28281c7c4b 100644
|
|||
|
||||
if (!signum)
|
||||
perm = signal_to_av(SIGIO); /* as per send_sigio_to_task */
|
||||
@@ -3913,7 +3913,7 @@ static int selinux_file_open(struct file *file)
|
||||
@@ -3921,7 +3921,7 @@ static int selinux_file_open(struct file *file)
|
||||
struct file_security_struct *fsec;
|
||||
struct inode_security_struct *isec;
|
||||
|
||||
|
@ -88,7 +88,7 @@ index 37cb7743e265..0a28281c7c4b 100644
|
|||
isec = inode_security(file_inode(file));
|
||||
/*
|
||||
* Save inode label and policy sequence number
|
||||
@@ -4053,7 +4053,7 @@ static int selinux_kernel_module_from_file(struct file *file)
|
||||
@@ -4061,7 +4061,7 @@ static int selinux_kernel_module_from_file(struct file *file)
|
||||
ad.type = LSM_AUDIT_DATA_FILE;
|
||||
ad.u.file = file;
|
||||
|
||||
|
|
|
@ -186,7 +186,7 @@ index eee803e1a250..51d4a0285b28 100644
|
|||
return rc;
|
||||
}
|
||||
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
|
||||
index 0a28281c7c4b..11c05ade9404 100644
|
||||
index 55c32ac3760a..415fde8bdc1b 100644
|
||||
--- a/security/selinux/hooks.c
|
||||
+++ b/security/selinux/hooks.c
|
||||
@@ -149,7 +149,6 @@ static int __init checkreqprot_setup(char *str)
|
||||
|
@ -226,7 +226,7 @@ index 0a28281c7c4b..11c05ade9404 100644
|
|||
static int superblock_alloc_security(struct super_block *sb)
|
||||
{
|
||||
struct superblock_security_struct *sbsec;
|
||||
@@ -3609,11 +3596,6 @@ static int selinux_file_alloc_security(struct file *file)
|
||||
@@ -3617,11 +3604,6 @@ static int selinux_file_alloc_security(struct file *file)
|
||||
return file_alloc_security(file);
|
||||
}
|
||||
|
||||
|
@ -238,7 +238,7 @@ index 0a28281c7c4b..11c05ade9404 100644
|
|||
/*
|
||||
* Check whether a task has the ioctl permission and cmd
|
||||
* operation to an inode.
|
||||
@@ -6938,6 +6920,7 @@ static void selinux_bpf_prog_free(struct bpf_prog_aux *aux)
|
||||
@@ -6946,6 +6928,7 @@ static void selinux_bpf_prog_free(struct bpf_prog_aux *aux)
|
||||
|
||||
struct lsm_blob_sizes selinux_blob_sizes = {
|
||||
.lbs_cred = sizeof(struct task_security_struct),
|
||||
|
@ -246,7 +246,7 @@ index 0a28281c7c4b..11c05ade9404 100644
|
|||
};
|
||||
|
||||
static struct security_hook_list selinux_hooks[] __lsm_ro_after_init = {
|
||||
@@ -7008,7 +6991,6 @@ static struct security_hook_list selinux_hooks[] __lsm_ro_after_init = {
|
||||
@@ -7016,7 +6999,6 @@ static struct security_hook_list selinux_hooks[] __lsm_ro_after_init = {
|
||||
|
||||
LSM_HOOK_INIT(file_permission, selinux_file_permission),
|
||||
LSM_HOOK_INIT(file_alloc_security, selinux_file_alloc_security),
|
||||
|
@ -254,7 +254,7 @@ index 0a28281c7c4b..11c05ade9404 100644
|
|||
LSM_HOOK_INIT(file_ioctl, selinux_file_ioctl),
|
||||
LSM_HOOK_INIT(mmap_file, selinux_mmap_file),
|
||||
LSM_HOOK_INIT(mmap_addr, selinux_mmap_addr),
|
||||
@@ -7211,9 +7193,6 @@ static __init int selinux_init(void)
|
||||
@@ -7219,9 +7201,6 @@ static __init int selinux_init(void)
|
||||
sel_inode_cache = kmem_cache_create("selinux_inode_security",
|
||||
sizeof(struct inode_security_struct),
|
||||
0, SLAB_PANIC, NULL);
|
||||
|
|
|
@ -14,7 +14,7 @@ Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
|
|||
3 files changed, 21 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
|
||||
index 11c05ade9404..0a030c421b66 100644
|
||||
index 415fde8bdc1b..6177168f5d4f 100644
|
||||
--- a/security/selinux/hooks.c
|
||||
+++ b/security/selinux/hooks.c
|
||||
@@ -276,7 +276,7 @@ static int __inode_security_revalidate(struct inode *inode,
|
||||
|
@ -88,7 +88,7 @@ index 11c05ade9404..0a030c421b66 100644
|
|||
u32 task_sid, sid = 0;
|
||||
u16 sclass;
|
||||
struct dentry *dentry;
|
||||
@@ -1831,7 +1831,7 @@ static int inode_has_perm(const struct cred *cred,
|
||||
@@ -1839,7 +1839,7 @@ static int inode_has_perm(const struct cred *cred,
|
||||
return 0;
|
||||
|
||||
sid = cred_sid(cred);
|
||||
|
@ -97,7 +97,7 @@ index 11c05ade9404..0a030c421b66 100644
|
|||
|
||||
return avc_has_perm(&selinux_state,
|
||||
sid, isec->sid, isec->sclass, perms, adp);
|
||||
@@ -3059,7 +3059,7 @@ static int selinux_inode_init_security(struct inode *inode, struct inode *dir,
|
||||
@@ -3067,7 +3067,7 @@ static int selinux_inode_init_security(struct inode *inode, struct inode *dir,
|
||||
|
||||
/* Possibly defer initialization to selinux_complete_init. */
|
||||
if (sbsec->flags & SE_SBINITIALIZED) {
|
||||
|
@ -106,7 +106,7 @@ index 11c05ade9404..0a030c421b66 100644
|
|||
isec->sclass = inode_mode_to_security_class(inode->i_mode);
|
||||
isec->sid = newsid;
|
||||
isec->initialized = LABEL_INITIALIZED;
|
||||
@@ -3158,7 +3158,7 @@ static noinline int audit_inode_permission(struct inode *inode,
|
||||
@@ -3166,7 +3166,7 @@ static noinline int audit_inode_permission(struct inode *inode,
|
||||
int result)
|
||||
{
|
||||
struct common_audit_data ad;
|
||||
|
@ -115,7 +115,7 @@ index 11c05ade9404..0a030c421b66 100644
|
|||
int rc;
|
||||
|
||||
ad.type = LSM_AUDIT_DATA_INODE;
|
||||
@@ -4201,7 +4201,7 @@ static int selinux_task_kill(struct task_struct *p, struct siginfo *info,
|
||||
@@ -4209,7 +4209,7 @@ static int selinux_task_kill(struct task_struct *p, struct siginfo *info,
|
||||
static void selinux_task_to_inode(struct task_struct *p,
|
||||
struct inode *inode)
|
||||
{
|
||||
|
@ -124,7 +124,7 @@ index 11c05ade9404..0a030c421b66 100644
|
|||
u32 sid = task_sid(p);
|
||||
|
||||
spin_lock(&isec->lock);
|
||||
@@ -6607,7 +6607,7 @@ static void selinux_release_secctx(char *secdata, u32 seclen)
|
||||
@@ -6615,7 +6615,7 @@ static void selinux_release_secctx(char *secdata, u32 seclen)
|
||||
|
||||
static void selinux_inode_invalidate_secctx(struct inode *inode)
|
||||
{
|
||||
|
|
|
@ -182,7 +182,7 @@ index bc10f55ffd58..4d2f1d88eef8 100644
|
|||
|
||||
int security_dentry_init_security(struct dentry *dentry, int mode,
|
||||
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
|
||||
index 0a030c421b66..ef9d0507f5ef 100644
|
||||
index 6177168f5d4f..77e1663a15b7 100644
|
||||
--- a/security/selinux/hooks.c
|
||||
+++ b/security/selinux/hooks.c
|
||||
@@ -148,8 +148,6 @@ static int __init checkreqprot_setup(char *str)
|
||||
|
@ -250,7 +250,7 @@ index 0a030c421b66..ef9d0507f5ef 100644
|
|||
}
|
||||
|
||||
static int file_alloc_security(struct file *file)
|
||||
@@ -6921,6 +6895,7 @@ static void selinux_bpf_prog_free(struct bpf_prog_aux *aux)
|
||||
@@ -6929,6 +6903,7 @@ static void selinux_bpf_prog_free(struct bpf_prog_aux *aux)
|
||||
struct lsm_blob_sizes selinux_blob_sizes = {
|
||||
.lbs_cred = sizeof(struct task_security_struct),
|
||||
.lbs_file = sizeof(struct file_security_struct),
|
||||
|
@ -258,7 +258,7 @@ index 0a030c421b66..ef9d0507f5ef 100644
|
|||
};
|
||||
|
||||
static struct security_hook_list selinux_hooks[] __lsm_ro_after_init = {
|
||||
@@ -7190,9 +7165,6 @@ static __init int selinux_init(void)
|
||||
@@ -7198,9 +7173,6 @@ static __init int selinux_init(void)
|
||||
|
||||
default_noexec = !(VM_DATA_DEFAULT_FLAGS & VM_EXEC);
|
||||
|
||||
|
|
|
@ -105,7 +105,7 @@ index 4d2f1d88eef8..f6238c8489be 100644
|
|||
|
||||
int security_sb_copy_data(char *orig, char *copy)
|
||||
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
|
||||
index ef9d0507f5ef..f837dcea3ac6 100644
|
||||
index 77e1663a15b7..c59135f92089 100644
|
||||
--- a/security/selinux/hooks.c
|
||||
+++ b/security/selinux/hooks.c
|
||||
@@ -333,7 +333,8 @@ static struct inode_security_struct *backing_inode_security(struct dentry *dentr
|
||||
|
@ -218,7 +218,7 @@ index ef9d0507f5ef..f837dcea3ac6 100644
|
|||
if (!(sbsec->flags & SE_SBINITIALIZED)) {
|
||||
/* Defer initialization until selinux_complete_init,
|
||||
after the initial policy is loaded and the security
|
||||
@@ -1914,7 +1904,8 @@ selinux_determine_inode_label(const struct task_security_struct *tsec,
|
||||
@@ -1922,7 +1912,8 @@ selinux_determine_inode_label(const struct task_security_struct *tsec,
|
||||
const struct qstr *name, u16 tclass,
|
||||
u32 *_new_isid)
|
||||
{
|
||||
|
@ -228,7 +228,7 @@ index ef9d0507f5ef..f837dcea3ac6 100644
|
|||
|
||||
if ((sbsec->flags & SE_SBINITIALIZED) &&
|
||||
(sbsec->behavior == SECURITY_FS_USE_MNTPOINT)) {
|
||||
@@ -1945,7 +1936,7 @@ static int may_create(struct inode *dir,
|
||||
@@ -1953,7 +1944,7 @@ static int may_create(struct inode *dir,
|
||||
int rc;
|
||||
|
||||
dsec = inode_security(dir);
|
||||
|
@ -237,7 +237,7 @@ index ef9d0507f5ef..f837dcea3ac6 100644
|
|||
|
||||
sid = tsec->sid;
|
||||
|
||||
@@ -2094,7 +2085,7 @@ static int superblock_has_perm(const struct cred *cred,
|
||||
@@ -2102,7 +2093,7 @@ static int superblock_has_perm(const struct cred *cred,
|
||||
struct superblock_security_struct *sbsec;
|
||||
u32 sid = cred_sid(cred);
|
||||
|
||||
|
@ -246,7 +246,7 @@ index ef9d0507f5ef..f837dcea3ac6 100644
|
|||
return avc_has_perm(&selinux_state,
|
||||
sid, sbsec->sid, SECCLASS_FILESYSTEM, perms, ad);
|
||||
}
|
||||
@@ -2725,11 +2716,6 @@ static int selinux_sb_alloc_security(struct super_block *sb)
|
||||
@@ -2733,11 +2724,6 @@ static int selinux_sb_alloc_security(struct super_block *sb)
|
||||
return superblock_alloc_security(sb);
|
||||
}
|
||||
|
||||
|
@ -258,7 +258,7 @@ index ef9d0507f5ef..f837dcea3ac6 100644
|
|||
static inline int match_prefix(char *prefix, int plen, char *option, int olen)
|
||||
{
|
||||
if (plen > olen)
|
||||
@@ -2826,7 +2812,7 @@ static int selinux_sb_remount(struct super_block *sb, void *data)
|
||||
@@ -2834,7 +2820,7 @@ static int selinux_sb_remount(struct super_block *sb, void *data)
|
||||
int rc, i, *flags;
|
||||
struct security_mnt_opts opts;
|
||||
char *secdata, **mount_options;
|
||||
|
@ -267,7 +267,7 @@ index ef9d0507f5ef..f837dcea3ac6 100644
|
|||
|
||||
if (!(sbsec->flags & SE_SBINITIALIZED))
|
||||
return 0;
|
||||
@@ -3020,7 +3006,7 @@ static int selinux_inode_init_security(struct inode *inode, struct inode *dir,
|
||||
@@ -3028,7 +3014,7 @@ static int selinux_inode_init_security(struct inode *inode, struct inode *dir,
|
||||
int rc;
|
||||
char *context;
|
||||
|
||||
|
@ -276,7 +276,7 @@ index ef9d0507f5ef..f837dcea3ac6 100644
|
|||
|
||||
newsid = tsec->create_sid;
|
||||
|
||||
@@ -3265,7 +3251,7 @@ static int selinux_inode_setxattr(struct dentry *dentry, const char *name,
|
||||
@@ -3273,7 +3259,7 @@ static int selinux_inode_setxattr(struct dentry *dentry, const char *name,
|
||||
if (!selinux_state.initialized)
|
||||
return (inode_owner_or_capable(inode) ? 0 : -EPERM);
|
||||
|
||||
|
@ -285,7 +285,7 @@ index ef9d0507f5ef..f837dcea3ac6 100644
|
|||
if (!(sbsec->flags & SBLABEL_MNT))
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
@@ -6896,6 +6882,7 @@ struct lsm_blob_sizes selinux_blob_sizes = {
|
||||
@@ -6904,6 +6890,7 @@ struct lsm_blob_sizes selinux_blob_sizes = {
|
||||
.lbs_cred = sizeof(struct task_security_struct),
|
||||
.lbs_file = sizeof(struct file_security_struct),
|
||||
.lbs_inode = sizeof(struct inode_security_struct),
|
||||
|
@ -293,7 +293,7 @@ index ef9d0507f5ef..f837dcea3ac6 100644
|
|||
};
|
||||
|
||||
static struct security_hook_list selinux_hooks[] __lsm_ro_after_init = {
|
||||
@@ -6921,7 +6908,6 @@ static struct security_hook_list selinux_hooks[] __lsm_ro_after_init = {
|
||||
@@ -6929,7 +6916,6 @@ static struct security_hook_list selinux_hooks[] __lsm_ro_after_init = {
|
||||
LSM_HOOK_INIT(bprm_committed_creds, selinux_bprm_committed_creds),
|
||||
|
||||
LSM_HOOK_INIT(sb_alloc_security, selinux_sb_alloc_security),
|
||||
|
|
|
@ -226,10 +226,10 @@ index f6238c8489be..55dfdc0c428f 100644
|
|||
|
||||
void security_sk_clone(const struct sock *sk, struct sock *newsk)
|
||||
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
|
||||
index f837dcea3ac6..6022e1243d10 100644
|
||||
index c59135f92089..ffb0a0730b9f 100644
|
||||
--- a/security/selinux/hooks.c
|
||||
+++ b/security/selinux/hooks.c
|
||||
@@ -4479,7 +4479,7 @@ static int socket_sockcreate_sid(const struct task_security_struct *tsec,
|
||||
@@ -4487,7 +4487,7 @@ static int socket_sockcreate_sid(const struct task_security_struct *tsec,
|
||||
|
||||
static int sock_has_perm(struct sock *sk, u32 perms)
|
||||
{
|
||||
|
@ -238,7 +238,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
struct common_audit_data ad;
|
||||
struct lsm_network_audit net = {0,};
|
||||
|
||||
@@ -4536,7 +4536,7 @@ static int selinux_socket_post_create(struct socket *sock, int family,
|
||||
@@ -4544,7 +4544,7 @@ static int selinux_socket_post_create(struct socket *sock, int family,
|
||||
isec->initialized = LABEL_INITIALIZED;
|
||||
|
||||
if (sock->sk) {
|
||||
|
@ -247,7 +247,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
sksec->sclass = sclass;
|
||||
sksec->sid = sid;
|
||||
/* Allows detection of the first association on this socket */
|
||||
@@ -4552,8 +4552,8 @@ static int selinux_socket_post_create(struct socket *sock, int family,
|
||||
@@ -4560,8 +4560,8 @@ static int selinux_socket_post_create(struct socket *sock, int family,
|
||||
static int selinux_socket_socketpair(struct socket *socka,
|
||||
struct socket *sockb)
|
||||
{
|
||||
|
@ -258,7 +258,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
|
||||
sksec_a->peer_sid = sksec_b->sid;
|
||||
sksec_b->peer_sid = sksec_a->sid;
|
||||
@@ -4568,7 +4568,7 @@ static int selinux_socket_socketpair(struct socket *socka,
|
||||
@@ -4576,7 +4576,7 @@ static int selinux_socket_socketpair(struct socket *socka,
|
||||
static int selinux_socket_bind(struct socket *sock, struct sockaddr *address, int addrlen)
|
||||
{
|
||||
struct sock *sk = sock->sk;
|
||||
|
@ -267,7 +267,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
u16 family;
|
||||
int err;
|
||||
|
||||
@@ -4700,7 +4700,7 @@ static int selinux_socket_connect_helper(struct socket *sock,
|
||||
@@ -4708,7 +4708,7 @@ static int selinux_socket_connect_helper(struct socket *sock,
|
||||
struct sockaddr *address, int addrlen)
|
||||
{
|
||||
struct sock *sk = sock->sk;
|
||||
|
@ -276,7 +276,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
int err;
|
||||
|
||||
err = sock_has_perm(sk, SOCKET__CONNECT);
|
||||
@@ -4871,9 +4871,9 @@ static int selinux_socket_unix_stream_connect(struct sock *sock,
|
||||
@@ -4879,9 +4879,9 @@ static int selinux_socket_unix_stream_connect(struct sock *sock,
|
||||
struct sock *other,
|
||||
struct sock *newsk)
|
||||
{
|
||||
|
@ -289,7 +289,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
struct common_audit_data ad;
|
||||
struct lsm_network_audit net = {0,};
|
||||
int err;
|
||||
@@ -4905,8 +4905,8 @@ static int selinux_socket_unix_stream_connect(struct sock *sock,
|
||||
@@ -4913,8 +4913,8 @@ static int selinux_socket_unix_stream_connect(struct sock *sock,
|
||||
static int selinux_socket_unix_may_send(struct socket *sock,
|
||||
struct socket *other)
|
||||
{
|
||||
|
@ -300,7 +300,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
struct common_audit_data ad;
|
||||
struct lsm_network_audit net = {0,};
|
||||
|
||||
@@ -4948,7 +4948,7 @@ static int selinux_sock_rcv_skb_compat(struct sock *sk, struct sk_buff *skb,
|
||||
@@ -4956,7 +4956,7 @@ static int selinux_sock_rcv_skb_compat(struct sock *sk, struct sk_buff *skb,
|
||||
u16 family)
|
||||
{
|
||||
int err = 0;
|
||||
|
@ -309,7 +309,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
u32 sk_sid = sksec->sid;
|
||||
struct common_audit_data ad;
|
||||
struct lsm_network_audit net = {0,};
|
||||
@@ -4981,7 +4981,7 @@ static int selinux_sock_rcv_skb_compat(struct sock *sk, struct sk_buff *skb,
|
||||
@@ -4989,7 +4989,7 @@ static int selinux_sock_rcv_skb_compat(struct sock *sk, struct sk_buff *skb,
|
||||
static int selinux_socket_sock_rcv_skb(struct sock *sk, struct sk_buff *skb)
|
||||
{
|
||||
int err;
|
||||
|
@ -318,7 +318,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
u16 family = sk->sk_family;
|
||||
u32 sk_sid = sksec->sid;
|
||||
struct common_audit_data ad;
|
||||
@@ -5049,13 +5049,15 @@ static int selinux_socket_sock_rcv_skb(struct sock *sk, struct sk_buff *skb)
|
||||
@@ -5057,13 +5057,15 @@ static int selinux_socket_sock_rcv_skb(struct sock *sk, struct sk_buff *skb)
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -337,7 +337,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
u32 peer_sid = SECSID_NULL;
|
||||
|
||||
if (sksec->sclass == SECCLASS_UNIX_STREAM_SOCKET ||
|
||||
@@ -5115,34 +5117,27 @@ static int selinux_socket_getpeersec_dgram(struct socket *sock, struct sk_buff *
|
||||
@@ -5123,34 +5125,27 @@ static int selinux_socket_getpeersec_dgram(struct socket *sock, struct sk_buff *
|
||||
|
||||
static int selinux_sk_alloc_security(struct sock *sk, int family, gfp_t priority)
|
||||
{
|
||||
|
@ -376,7 +376,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
|
||||
newsksec->sid = sksec->sid;
|
||||
newsksec->peer_sid = sksec->peer_sid;
|
||||
@@ -5156,7 +5151,7 @@ static void selinux_sk_getsecid(struct sock *sk, u32 *secid)
|
||||
@@ -5164,7 +5159,7 @@ static void selinux_sk_getsecid(struct sock *sk, u32 *secid)
|
||||
if (!sk)
|
||||
*secid = SECINITSID_ANY_SOCKET;
|
||||
else {
|
||||
|
@ -385,7 +385,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
|
||||
*secid = sksec->sid;
|
||||
}
|
||||
@@ -5166,7 +5161,7 @@ static void selinux_sock_graft(struct sock *sk, struct socket *parent)
|
||||
@@ -5174,7 +5169,7 @@ static void selinux_sock_graft(struct sock *sk, struct socket *parent)
|
||||
{
|
||||
struct inode_security_struct *isec =
|
||||
inode_security_novalidate(SOCK_INODE(parent));
|
||||
|
@ -394,7 +394,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
|
||||
if (sk->sk_family == PF_INET || sk->sk_family == PF_INET6 ||
|
||||
sk->sk_family == PF_UNIX)
|
||||
@@ -5181,7 +5176,7 @@ static void selinux_sock_graft(struct sock *sk, struct socket *parent)
|
||||
@@ -5189,7 +5184,7 @@ static void selinux_sock_graft(struct sock *sk, struct socket *parent)
|
||||
static int selinux_sctp_assoc_request(struct sctp_endpoint *ep,
|
||||
struct sk_buff *skb)
|
||||
{
|
||||
|
@ -403,7 +403,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
struct common_audit_data ad;
|
||||
struct lsm_network_audit net = {0,};
|
||||
u8 peerlbl_active;
|
||||
@@ -5332,8 +5327,8 @@ static int selinux_sctp_bind_connect(struct sock *sk, int optname,
|
||||
@@ -5340,8 +5335,8 @@ static int selinux_sctp_bind_connect(struct sock *sk, int optname,
|
||||
static void selinux_sctp_sk_clone(struct sctp_endpoint *ep, struct sock *sk,
|
||||
struct sock *newsk)
|
||||
{
|
||||
|
@ -414,7 +414,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
|
||||
/* If policy does not support SECCLASS_SCTP_SOCKET then call
|
||||
* the non-sctp clone version.
|
||||
@@ -5350,7 +5345,7 @@ static void selinux_sctp_sk_clone(struct sctp_endpoint *ep, struct sock *sk,
|
||||
@@ -5358,7 +5353,7 @@ static void selinux_sctp_sk_clone(struct sctp_endpoint *ep, struct sock *sk,
|
||||
static int selinux_inet_conn_request(struct sock *sk, struct sk_buff *skb,
|
||||
struct request_sock *req)
|
||||
{
|
||||
|
@ -423,7 +423,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
int err;
|
||||
u16 family = req->rsk_ops->family;
|
||||
u32 connsid;
|
||||
@@ -5371,7 +5366,7 @@ static int selinux_inet_conn_request(struct sock *sk, struct sk_buff *skb,
|
||||
@@ -5379,7 +5374,7 @@ static int selinux_inet_conn_request(struct sock *sk, struct sk_buff *skb,
|
||||
static void selinux_inet_csk_clone(struct sock *newsk,
|
||||
const struct request_sock *req)
|
||||
{
|
||||
|
@ -432,7 +432,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
|
||||
newsksec->sid = req->secid;
|
||||
newsksec->peer_sid = req->peer_secid;
|
||||
@@ -5388,7 +5383,7 @@ static void selinux_inet_csk_clone(struct sock *newsk,
|
||||
@@ -5396,7 +5391,7 @@ static void selinux_inet_csk_clone(struct sock *newsk,
|
||||
static void selinux_inet_conn_established(struct sock *sk, struct sk_buff *skb)
|
||||
{
|
||||
u16 family = sk->sk_family;
|
||||
|
@ -441,7 +441,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
|
||||
/* handle mapped IPv4 packets arriving via IPv6 sockets */
|
||||
if (family == PF_INET6 && skb->protocol == htons(ETH_P_IP))
|
||||
@@ -5472,7 +5467,7 @@ static int selinux_tun_dev_attach_queue(void *security)
|
||||
@@ -5480,7 +5475,7 @@ static int selinux_tun_dev_attach_queue(void *security)
|
||||
static int selinux_tun_dev_attach(struct sock *sk, void *security)
|
||||
{
|
||||
struct tun_security_struct *tunsec = security;
|
||||
|
@ -450,7 +450,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
|
||||
/* we don't currently perform any NetLabel based labeling here and it
|
||||
* isn't clear that we would want to do so anyway; while we could apply
|
||||
@@ -5515,7 +5510,7 @@ static int selinux_nlmsg_perm(struct sock *sk, struct sk_buff *skb)
|
||||
@@ -5523,7 +5518,7 @@ static int selinux_nlmsg_perm(struct sock *sk, struct sk_buff *skb)
|
||||
unsigned int data_len = skb->len;
|
||||
unsigned char *data = skb->data;
|
||||
struct nlmsghdr *nlh;
|
||||
|
@ -459,7 +459,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
u16 sclass = sksec->sclass;
|
||||
u32 perm;
|
||||
|
||||
@@ -5674,7 +5669,7 @@ static unsigned int selinux_ip_output(struct sk_buff *skb,
|
||||
@@ -5682,7 +5677,7 @@ static unsigned int selinux_ip_output(struct sk_buff *skb,
|
||||
return NF_ACCEPT;
|
||||
|
||||
/* standard practice, label using the parent socket */
|
||||
|
@ -468,7 +468,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
sid = sksec->sid;
|
||||
} else
|
||||
sid = SECINITSID_KERNEL;
|
||||
@@ -5713,7 +5708,7 @@ static unsigned int selinux_ip_postroute_compat(struct sk_buff *skb,
|
||||
@@ -5721,7 +5716,7 @@ static unsigned int selinux_ip_postroute_compat(struct sk_buff *skb,
|
||||
|
||||
if (sk == NULL)
|
||||
return NF_ACCEPT;
|
||||
|
@ -477,7 +477,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
|
||||
ad.type = LSM_AUDIT_DATA_NET;
|
||||
ad.u.net = &net;
|
||||
@@ -5805,7 +5800,7 @@ static unsigned int selinux_ip_postroute(struct sk_buff *skb,
|
||||
@@ -5813,7 +5808,7 @@ static unsigned int selinux_ip_postroute(struct sk_buff *skb,
|
||||
u32 skb_sid;
|
||||
struct sk_security_struct *sksec;
|
||||
|
||||
|
@ -486,7 +486,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
if (selinux_skb_peerlbl_sid(skb, family, &skb_sid))
|
||||
return NF_DROP;
|
||||
/* At this point, if the returned skb peerlbl is SECSID_NULL
|
||||
@@ -5834,7 +5829,7 @@ static unsigned int selinux_ip_postroute(struct sk_buff *skb,
|
||||
@@ -5842,7 +5837,7 @@ static unsigned int selinux_ip_postroute(struct sk_buff *skb,
|
||||
} else {
|
||||
/* Locally generated packet, fetch the security label from the
|
||||
* associated socket. */
|
||||
|
@ -495,7 +495,7 @@ index f837dcea3ac6..6022e1243d10 100644
|
|||
peer_sid = sksec->sid;
|
||||
secmark_perm = PACKET__SEND;
|
||||
}
|
||||
@@ -6882,6 +6877,7 @@ struct lsm_blob_sizes selinux_blob_sizes = {
|
||||
@@ -6890,6 +6885,7 @@ struct lsm_blob_sizes selinux_blob_sizes = {
|
||||
.lbs_cred = sizeof(struct task_security_struct),
|
||||
.lbs_file = sizeof(struct file_security_struct),
|
||||
.lbs_inode = sizeof(struct inode_security_struct),
|
||||
|
|
|
@ -202,10 +202,10 @@ index 55dfdc0c428f..c94b0aa70147 100644
|
|||
|
||||
int security_sem_associate(struct kern_ipc_perm *sma, int semflg)
|
||||
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
|
||||
index 6022e1243d10..7e290cdc3b57 100644
|
||||
index ffb0a0730b9f..f8b980480b6d 100644
|
||||
--- a/security/selinux/hooks.c
|
||||
+++ b/security/selinux/hooks.c
|
||||
@@ -5892,51 +5892,22 @@ static int selinux_netlink_send(struct sock *sk, struct sk_buff *skb)
|
||||
@@ -5900,51 +5900,22 @@ static int selinux_netlink_send(struct sock *sk, struct sk_buff *skb)
|
||||
return selinux_nlmsg_perm(sk, skb);
|
||||
}
|
||||
|
||||
|
@ -259,7 +259,7 @@ index 6022e1243d10..7e290cdc3b57 100644
|
|||
static int ipc_has_perm(struct kern_ipc_perm *ipc_perms,
|
||||
u32 perms)
|
||||
{
|
||||
@@ -5944,7 +5915,7 @@ static int ipc_has_perm(struct kern_ipc_perm *ipc_perms,
|
||||
@@ -5952,7 +5923,7 @@ static int ipc_has_perm(struct kern_ipc_perm *ipc_perms,
|
||||
struct common_audit_data ad;
|
||||
u32 sid = current_sid();
|
||||
|
||||
|
@ -268,7 +268,7 @@ index 6022e1243d10..7e290cdc3b57 100644
|
|||
|
||||
ad.type = LSM_AUDIT_DATA_IPC;
|
||||
ad.u.ipc_id = ipc_perms->key;
|
||||
@@ -5958,11 +5929,6 @@ static int selinux_msg_msg_alloc_security(struct msg_msg *msg)
|
||||
@@ -5966,11 +5937,6 @@ static int selinux_msg_msg_alloc_security(struct msg_msg *msg)
|
||||
return msg_msg_alloc_security(msg);
|
||||
}
|
||||
|
||||
|
@ -280,7 +280,7 @@ index 6022e1243d10..7e290cdc3b57 100644
|
|||
/* message queue security operations */
|
||||
static int selinux_msg_queue_alloc_security(struct kern_ipc_perm *msq)
|
||||
{
|
||||
@@ -5971,11 +5937,8 @@ static int selinux_msg_queue_alloc_security(struct kern_ipc_perm *msq)
|
||||
@@ -5979,11 +5945,8 @@ static int selinux_msg_queue_alloc_security(struct kern_ipc_perm *msq)
|
||||
u32 sid = current_sid();
|
||||
int rc;
|
||||
|
||||
|
@ -294,7 +294,7 @@ index 6022e1243d10..7e290cdc3b57 100644
|
|||
|
||||
ad.type = LSM_AUDIT_DATA_IPC;
|
||||
ad.u.ipc_id = msq->key;
|
||||
@@ -5983,16 +5946,7 @@ static int selinux_msg_queue_alloc_security(struct kern_ipc_perm *msq)
|
||||
@@ -5991,16 +5954,7 @@ static int selinux_msg_queue_alloc_security(struct kern_ipc_perm *msq)
|
||||
rc = avc_has_perm(&selinux_state,
|
||||
sid, isec->sid, SECCLASS_MSGQ,
|
||||
MSGQ__CREATE, &ad);
|
||||
|
@ -312,7 +312,7 @@ index 6022e1243d10..7e290cdc3b57 100644
|
|||
}
|
||||
|
||||
static int selinux_msg_queue_associate(struct kern_ipc_perm *msq, int msqflg)
|
||||
@@ -6001,7 +5955,7 @@ static int selinux_msg_queue_associate(struct kern_ipc_perm *msq, int msqflg)
|
||||
@@ -6009,7 +5963,7 @@ static int selinux_msg_queue_associate(struct kern_ipc_perm *msq, int msqflg)
|
||||
struct common_audit_data ad;
|
||||
u32 sid = current_sid();
|
||||
|
||||
|
@ -321,7 +321,7 @@ index 6022e1243d10..7e290cdc3b57 100644
|
|||
|
||||
ad.type = LSM_AUDIT_DATA_IPC;
|
||||
ad.u.ipc_id = msq->key;
|
||||
@@ -6050,8 +6004,8 @@ static int selinux_msg_queue_msgsnd(struct kern_ipc_perm *msq, struct msg_msg *m
|
||||
@@ -6058,8 +6012,8 @@ static int selinux_msg_queue_msgsnd(struct kern_ipc_perm *msq, struct msg_msg *m
|
||||
u32 sid = current_sid();
|
||||
int rc;
|
||||
|
||||
|
@ -332,7 +332,7 @@ index 6022e1243d10..7e290cdc3b57 100644
|
|||
|
||||
/*
|
||||
* First time through, need to assign label to the message
|
||||
@@ -6098,8 +6052,8 @@ static int selinux_msg_queue_msgrcv(struct kern_ipc_perm *msq, struct msg_msg *m
|
||||
@@ -6106,8 +6060,8 @@ static int selinux_msg_queue_msgrcv(struct kern_ipc_perm *msq, struct msg_msg *m
|
||||
u32 sid = task_sid(target);
|
||||
int rc;
|
||||
|
||||
|
@ -343,7 +343,7 @@ index 6022e1243d10..7e290cdc3b57 100644
|
|||
|
||||
ad.type = LSM_AUDIT_DATA_IPC;
|
||||
ad.u.ipc_id = msq->key;
|
||||
@@ -6122,11 +6076,8 @@ static int selinux_shm_alloc_security(struct kern_ipc_perm *shp)
|
||||
@@ -6130,11 +6084,8 @@ static int selinux_shm_alloc_security(struct kern_ipc_perm *shp)
|
||||
u32 sid = current_sid();
|
||||
int rc;
|
||||
|
||||
|
@ -357,7 +357,7 @@ index 6022e1243d10..7e290cdc3b57 100644
|
|||
|
||||
ad.type = LSM_AUDIT_DATA_IPC;
|
||||
ad.u.ipc_id = shp->key;
|
||||
@@ -6134,16 +6085,7 @@ static int selinux_shm_alloc_security(struct kern_ipc_perm *shp)
|
||||
@@ -6142,16 +6093,7 @@ static int selinux_shm_alloc_security(struct kern_ipc_perm *shp)
|
||||
rc = avc_has_perm(&selinux_state,
|
||||
sid, isec->sid, SECCLASS_SHM,
|
||||
SHM__CREATE, &ad);
|
||||
|
@ -375,7 +375,7 @@ index 6022e1243d10..7e290cdc3b57 100644
|
|||
}
|
||||
|
||||
static int selinux_shm_associate(struct kern_ipc_perm *shp, int shmflg)
|
||||
@@ -6152,7 +6094,7 @@ static int selinux_shm_associate(struct kern_ipc_perm *shp, int shmflg)
|
||||
@@ -6160,7 +6102,7 @@ static int selinux_shm_associate(struct kern_ipc_perm *shp, int shmflg)
|
||||
struct common_audit_data ad;
|
||||
u32 sid = current_sid();
|
||||
|
||||
|
@ -384,7 +384,7 @@ index 6022e1243d10..7e290cdc3b57 100644
|
|||
|
||||
ad.type = LSM_AUDIT_DATA_IPC;
|
||||
ad.u.ipc_id = shp->key;
|
||||
@@ -6219,11 +6161,8 @@ static int selinux_sem_alloc_security(struct kern_ipc_perm *sma)
|
||||
@@ -6227,11 +6169,8 @@ static int selinux_sem_alloc_security(struct kern_ipc_perm *sma)
|
||||
u32 sid = current_sid();
|
||||
int rc;
|
||||
|
||||
|
@ -398,7 +398,7 @@ index 6022e1243d10..7e290cdc3b57 100644
|
|||
|
||||
ad.type = LSM_AUDIT_DATA_IPC;
|
||||
ad.u.ipc_id = sma->key;
|
||||
@@ -6231,16 +6170,7 @@ static int selinux_sem_alloc_security(struct kern_ipc_perm *sma)
|
||||
@@ -6239,16 +6178,7 @@ static int selinux_sem_alloc_security(struct kern_ipc_perm *sma)
|
||||
rc = avc_has_perm(&selinux_state,
|
||||
sid, isec->sid, SECCLASS_SEM,
|
||||
SEM__CREATE, &ad);
|
||||
|
@ -416,7 +416,7 @@ index 6022e1243d10..7e290cdc3b57 100644
|
|||
}
|
||||
|
||||
static int selinux_sem_associate(struct kern_ipc_perm *sma, int semflg)
|
||||
@@ -6249,7 +6179,7 @@ static int selinux_sem_associate(struct kern_ipc_perm *sma, int semflg)
|
||||
@@ -6257,7 +6187,7 @@ static int selinux_sem_associate(struct kern_ipc_perm *sma, int semflg)
|
||||
struct common_audit_data ad;
|
||||
u32 sid = current_sid();
|
||||
|
||||
|
@ -425,7 +425,7 @@ index 6022e1243d10..7e290cdc3b57 100644
|
|||
|
||||
ad.type = LSM_AUDIT_DATA_IPC;
|
||||
ad.u.ipc_id = sma->key;
|
||||
@@ -6335,7 +6265,7 @@ static int selinux_ipc_permission(struct kern_ipc_perm *ipcp, short flag)
|
||||
@@ -6343,7 +6273,7 @@ static int selinux_ipc_permission(struct kern_ipc_perm *ipcp, short flag)
|
||||
|
||||
static void selinux_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid)
|
||||
{
|
||||
|
@ -434,7 +434,7 @@ index 6022e1243d10..7e290cdc3b57 100644
|
|||
*secid = isec->sid;
|
||||
}
|
||||
|
||||
@@ -6877,6 +6807,8 @@ struct lsm_blob_sizes selinux_blob_sizes = {
|
||||
@@ -6885,6 +6815,8 @@ struct lsm_blob_sizes selinux_blob_sizes = {
|
||||
.lbs_cred = sizeof(struct task_security_struct),
|
||||
.lbs_file = sizeof(struct file_security_struct),
|
||||
.lbs_inode = sizeof(struct inode_security_struct),
|
||||
|
@ -443,7 +443,7 @@ index 6022e1243d10..7e290cdc3b57 100644
|
|||
.lbs_sock = sizeof(struct sk_security_struct),
|
||||
.lbs_superblock = sizeof(struct superblock_security_struct),
|
||||
};
|
||||
@@ -6988,24 +6920,20 @@ static struct security_hook_list selinux_hooks[] __lsm_ro_after_init = {
|
||||
@@ -6996,24 +6928,20 @@ static struct security_hook_list selinux_hooks[] __lsm_ro_after_init = {
|
||||
LSM_HOOK_INIT(ipc_getsecid, selinux_ipc_getsecid),
|
||||
|
||||
LSM_HOOK_INIT(msg_msg_alloc_security, selinux_msg_msg_alloc_security),
|
||||
|
|
|
@ -109,10 +109,10 @@ index c94b0aa70147..ae6ec99807ab 100644
|
|||
|
||||
int security_key_permission(key_ref_t key_ref,
|
||||
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
|
||||
index 7e290cdc3b57..8d752d107557 100644
|
||||
index f8b980480b6d..93c14e0dd876 100644
|
||||
--- a/security/selinux/hooks.c
|
||||
+++ b/security/selinux/hooks.c
|
||||
@@ -6534,11 +6534,7 @@ static int selinux_key_alloc(struct key *k, const struct cred *cred,
|
||||
@@ -6542,11 +6542,7 @@ static int selinux_key_alloc(struct key *k, const struct cred *cred,
|
||||
unsigned long flags)
|
||||
{
|
||||
const struct task_security_struct *tsec;
|
||||
|
@ -125,7 +125,7 @@ index 7e290cdc3b57..8d752d107557 100644
|
|||
|
||||
tsec = selinux_cred(cred);
|
||||
if (tsec->keycreate_sid)
|
||||
@@ -6546,18 +6542,9 @@ static int selinux_key_alloc(struct key *k, const struct cred *cred,
|
||||
@@ -6554,18 +6550,9 @@ static int selinux_key_alloc(struct key *k, const struct cred *cred,
|
||||
else
|
||||
ksec->sid = tsec->sid;
|
||||
|
||||
|
@ -144,7 +144,7 @@ index 7e290cdc3b57..8d752d107557 100644
|
|||
static int selinux_key_permission(key_ref_t key_ref,
|
||||
const struct cred *cred,
|
||||
unsigned perm)
|
||||
@@ -6575,7 +6562,7 @@ static int selinux_key_permission(key_ref_t key_ref,
|
||||
@@ -6583,7 +6570,7 @@ static int selinux_key_permission(key_ref_t key_ref,
|
||||
sid = cred_sid(cred);
|
||||
|
||||
key = key_ref_to_ptr(key_ref);
|
||||
|
@ -153,7 +153,7 @@ index 7e290cdc3b57..8d752d107557 100644
|
|||
|
||||
return avc_has_perm(&selinux_state,
|
||||
sid, ksec->sid, SECCLASS_KEY, perm, NULL);
|
||||
@@ -6583,7 +6570,7 @@ static int selinux_key_permission(key_ref_t key_ref,
|
||||
@@ -6591,7 +6578,7 @@ static int selinux_key_permission(key_ref_t key_ref,
|
||||
|
||||
static int selinux_key_getsecurity(struct key *key, char **_buffer)
|
||||
{
|
||||
|
@ -162,7 +162,7 @@ index 7e290cdc3b57..8d752d107557 100644
|
|||
char *context = NULL;
|
||||
unsigned len;
|
||||
int rc;
|
||||
@@ -6808,6 +6795,9 @@ struct lsm_blob_sizes selinux_blob_sizes = {
|
||||
@@ -6816,6 +6803,9 @@ struct lsm_blob_sizes selinux_blob_sizes = {
|
||||
.lbs_file = sizeof(struct file_security_struct),
|
||||
.lbs_inode = sizeof(struct inode_security_struct),
|
||||
.lbs_ipc = sizeof(struct ipc_security_struct),
|
||||
|
@ -172,7 +172,7 @@ index 7e290cdc3b57..8d752d107557 100644
|
|||
.lbs_msg_msg = sizeof(struct msg_security_struct),
|
||||
.lbs_sock = sizeof(struct sk_security_struct),
|
||||
.lbs_superblock = sizeof(struct superblock_security_struct),
|
||||
@@ -7019,7 +7009,6 @@ static struct security_hook_list selinux_hooks[] __lsm_ro_after_init = {
|
||||
@@ -7027,7 +7017,6 @@ static struct security_hook_list selinux_hooks[] __lsm_ro_after_init = {
|
||||
|
||||
#ifdef CONFIG_KEYS
|
||||
LSM_HOOK_INIT(key_alloc, selinux_key_alloc),
|
||||
|
|
|
@ -376,10 +376,10 @@ index aeec03f49b02..d642befd1e0c 100644
|
|||
|
||||
/**
|
||||
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
|
||||
index 8d752d107557..f4db0d210fa4 100644
|
||||
index 93c14e0dd876..441aacf17a9a 100644
|
||||
--- a/security/selinux/hooks.c
|
||||
+++ b/security/selinux/hooks.c
|
||||
@@ -7035,7 +7035,8 @@ static __init int selinux_init(void)
|
||||
@@ -7043,7 +7043,8 @@ static __init int selinux_init(void)
|
||||
{
|
||||
static int finish;
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
|
|||
5 files changed, 124 insertions(+), 92 deletions(-)
|
||||
|
||||
diff --git a/fs/btrfs/super.c b/fs/btrfs/super.c
|
||||
index 40f5b4dcb927..41b0fb3de711 100644
|
||||
index 521f6c2091ad..feea936c5619 100644
|
||||
--- a/fs/btrfs/super.c
|
||||
+++ b/fs/btrfs/super.c
|
||||
@@ -1503,15 +1503,15 @@ static int setup_security_options(struct btrfs_fs_info *fs_info,
|
||||
|
@ -47,7 +47,7 @@ index 40f5b4dcb927..41b0fb3de711 100644
|
|||
security_free_mnt_opts(sec_opts);
|
||||
}
|
||||
diff --git a/include/linux/security.h b/include/linux/security.h
|
||||
index 96eb8d4cf764..43f221c253f2 100644
|
||||
index 3c854e63d41d..a29decd3f9d1 100644
|
||||
--- a/include/linux/security.h
|
||||
+++ b/include/linux/security.h
|
||||
@@ -185,34 +185,55 @@ static inline const char *kernel_load_data_id_str(enum kernel_load_data_id id)
|
||||
|
@ -144,7 +144,7 @@ index d642befd1e0c..468695df6559 100644
|
|||
EXPORT_SYMBOL(security_sb_set_mnt_opts);
|
||||
|
||||
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
|
||||
index f4db0d210fa4..4d8a213b21c4 100644
|
||||
index 441aacf17a9a..78dfe2fdd7ff 100644
|
||||
--- a/security/selinux/hooks.c
|
||||
+++ b/security/selinux/hooks.c
|
||||
@@ -590,21 +590,23 @@ static int selinux_get_mnt_opts(const struct super_block *sb,
|
||||
|
@ -339,7 +339,7 @@ index f4db0d210fa4..4d8a213b21c4 100644
|
|||
if (has_comma)
|
||||
seq_putc(m, '\"');
|
||||
}
|
||||
@@ -2835,10 +2836,10 @@ static int selinux_sb_remount(struct super_block *sb, void *data)
|
||||
@@ -2843,10 +2844,10 @@ static int selinux_sb_remount(struct super_block *sb, void *data)
|
||||
if (rc)
|
||||
goto out_free_secdata;
|
||||
|
||||
|
|
|
@ -165,7 +165,7 @@ index 28d3ebffca1b..f259cb09958f 100644
|
|||
#endif /* CONFIG_AUDIT */
|
||||
|
||||
diff --git a/include/linux/security.h b/include/linux/security.h
|
||||
index 43f221c253f2..615f136a32f2 100644
|
||||
index a29decd3f9d1..2ff982167d57 100644
|
||||
--- a/include/linux/security.h
|
||||
+++ b/include/linux/security.h
|
||||
@@ -73,6 +73,25 @@ enum lsm_event {
|
||||
|
@ -265,10 +265,10 @@ index 72d6435fc16c..51dacbb88886 100644
|
|||
{
|
||||
return -ENOSYS;
|
||||
diff --git a/net/core/filter.c b/net/core/filter.c
|
||||
index 557bd5cc8f94..f45b9aee82bf 100644
|
||||
index 01561268d216..a562dc379f15 100644
|
||||
--- a/net/core/filter.c
|
||||
+++ b/net/core/filter.c
|
||||
@@ -4291,7 +4291,7 @@ static int bpf_ipv4_fib_lookup(struct net *net, struct bpf_fib_lookup *params,
|
||||
@@ -4288,7 +4288,7 @@ static int bpf_ipv4_fib_lookup(struct net *net, struct bpf_fib_lookup *params,
|
||||
err = fib_table_lookup(tb, &fl4, &res, FIB_LOOKUP_NOREF);
|
||||
} else {
|
||||
fl4.flowi4_mark = 0;
|
||||
|
@ -277,7 +277,7 @@ index 557bd5cc8f94..f45b9aee82bf 100644
|
|||
fl4.flowi4_tun_key.tun_id = 0;
|
||||
fl4.flowi4_uid = sock_net_uid(net, NULL);
|
||||
|
||||
@@ -4402,7 +4402,7 @@ static int bpf_ipv6_fib_lookup(struct net *net, struct bpf_fib_lookup *params,
|
||||
@@ -4399,7 +4399,7 @@ static int bpf_ipv6_fib_lookup(struct net *net, struct bpf_fib_lookup *params,
|
||||
f6i = ipv6_stub->fib6_table_lookup(net, tb, oif, &fl6, strict);
|
||||
} else {
|
||||
fl6.flowi6_mark = 0;
|
||||
|
@ -287,10 +287,10 @@ index 557bd5cc8f94..f45b9aee82bf 100644
|
|||
fl6.flowi6_uid = sock_net_uid(net, NULL);
|
||||
|
||||
diff --git a/net/ipv4/cipso_ipv4.c b/net/ipv4/cipso_ipv4.c
|
||||
index 5535b722f66d..cc7e8c1072bb 100644
|
||||
index 6a1b52b34e20..be8a88084508 100644
|
||||
--- a/net/ipv4/cipso_ipv4.c
|
||||
+++ b/net/ipv4/cipso_ipv4.c
|
||||
@@ -1483,7 +1483,7 @@ static int cipso_v4_gentag_loc(const struct cipso_v4_doi *doi_def,
|
||||
@@ -1474,7 +1474,7 @@ static int cipso_v4_gentag_loc(const struct cipso_v4_doi *doi_def,
|
||||
|
||||
buffer[0] = CIPSO_V4_TAG_LOCAL;
|
||||
buffer[1] = CIPSO_V4_TAG_LOC_BLEN;
|
||||
|
@ -299,7 +299,7 @@ index 5535b722f66d..cc7e8c1072bb 100644
|
|||
|
||||
return CIPSO_V4_TAG_LOC_BLEN;
|
||||
}
|
||||
@@ -1503,7 +1503,7 @@ static int cipso_v4_parsetag_loc(const struct cipso_v4_doi *doi_def,
|
||||
@@ -1494,7 +1494,7 @@ static int cipso_v4_parsetag_loc(const struct cipso_v4_doi *doi_def,
|
||||
const unsigned char *tag,
|
||||
struct netlbl_lsm_secattr *secattr)
|
||||
{
|
||||
|
@ -331,7 +331,7 @@ index 15fe2120b310..551bf3be961b 100644
|
|||
|
||||
/**
|
||||
diff --git a/net/netlabel/netlabel_unlabeled.c b/net/netlabel/netlabel_unlabeled.c
|
||||
index c92894c3e40a..780e4b932eb8 100644
|
||||
index 0067f472367b..86c3c1611641 100644
|
||||
--- a/net/netlabel/netlabel_unlabeled.c
|
||||
+++ b/net/netlabel/netlabel_unlabeled.c
|
||||
@@ -80,7 +80,7 @@ struct netlbl_unlhsh_tbl {
|
||||
|
@ -452,7 +452,7 @@ index c92894c3e40a..780e4b932eb8 100644
|
|||
}
|
||||
|
||||
ret_val = security_secid_to_secctx(secid, &secctx, &secctx_len);
|
||||
@@ -1544,7 +1547,7 @@ int __init netlbl_unlabel_defconf(void)
|
||||
@@ -1551,7 +1554,7 @@ int __init netlbl_unlabel_defconf(void)
|
||||
/* Only the kernel is allowed to call this function and the only time
|
||||
* it is called is at bootup before the audit subsystem is reporting
|
||||
* messages so don't worry to much about these values. */
|
||||
|
@ -490,7 +490,7 @@ index 4a397cde1a48..782ee194fdbd 100644
|
|||
audit_info->sessionid = audit_get_sessionid(current);
|
||||
}
|
||||
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
|
||||
index 939f3adf075a..6a12efb4cbbe 100644
|
||||
index e9aea82f370d..df6bed189d45 100644
|
||||
--- a/net/xfrm/xfrm_policy.c
|
||||
+++ b/net/xfrm/xfrm_policy.c
|
||||
@@ -1079,7 +1079,8 @@ static int xfrm_policy_match(const struct xfrm_policy *pol,
|
||||
|
@ -522,10 +522,10 @@ index 939f3adf075a..6a12efb4cbbe 100644
|
|||
return err;
|
||||
}
|
||||
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
|
||||
index a649d7c2f48c..f513c6d95592 100644
|
||||
index 44acc724122b..c34c87049536 100644
|
||||
--- a/net/xfrm/xfrm_state.c
|
||||
+++ b/net/xfrm/xfrm_state.c
|
||||
@@ -1032,7 +1032,8 @@ xfrm_state_find(const xfrm_address_t *daddr, const xfrm_address_t *saddr,
|
||||
@@ -1031,7 +1031,8 @@ xfrm_state_find(const xfrm_address_t *daddr, const xfrm_address_t *saddr,
|
||||
memcpy(&x->mark, &pol->mark, sizeof(x->mark));
|
||||
x->if_id = if_id;
|
||||
|
||||
|
@ -833,10 +833,10 @@ index 468695df6559..26511761d824 100644
|
|||
}
|
||||
#endif /* CONFIG_AUDIT */
|
||||
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
|
||||
index 4d8a213b21c4..2dfcf74a10bd 100644
|
||||
index 78dfe2fdd7ff..e3317111ac9b 100644
|
||||
--- a/security/selinux/hooks.c
|
||||
+++ b/security/selinux/hooks.c
|
||||
@@ -3476,15 +3476,15 @@ static int selinux_inode_listsecurity(struct inode *inode, char *buffer, size_t
|
||||
@@ -3484,15 +3484,15 @@ static int selinux_inode_listsecurity(struct inode *inode, char *buffer, size_t
|
||||
return len;
|
||||
}
|
||||
|
||||
|
@ -855,7 +855,7 @@ index 4d8a213b21c4..2dfcf74a10bd 100644
|
|||
struct task_security_struct *tsec;
|
||||
struct cred *new_creds = *new;
|
||||
|
||||
@@ -3496,8 +3496,8 @@ static int selinux_inode_copy_up(struct dentry *src, struct cred **new)
|
||||
@@ -3504,8 +3504,8 @@ static int selinux_inode_copy_up(struct dentry *src, struct cred **new)
|
||||
|
||||
tsec = selinux_cred(new_creds);
|
||||
/* Get label from overlay inode and set it in create_sid */
|
||||
|
@ -866,7 +866,7 @@ index 4d8a213b21c4..2dfcf74a10bd 100644
|
|||
*new = new_creds;
|
||||
return 0;
|
||||
}
|
||||
@@ -3914,28 +3914,28 @@ static void selinux_cred_transfer(struct cred *new, const struct cred *old)
|
||||
@@ -3922,28 +3922,28 @@ static void selinux_cred_transfer(struct cred *new, const struct cred *old)
|
||||
*tsec = *old_tsec;
|
||||
}
|
||||
|
||||
|
@ -900,7 +900,7 @@ index 4d8a213b21c4..2dfcf74a10bd 100644
|
|||
tsec->create_sid = 0;
|
||||
tsec->keycreate_sid = 0;
|
||||
tsec->sockcreate_sid = 0;
|
||||
@@ -4061,9 +4061,9 @@ static int selinux_task_getsid(struct task_struct *p)
|
||||
@@ -4069,9 +4069,9 @@ static int selinux_task_getsid(struct task_struct *p)
|
||||
PROCESS__GETSESSION, NULL);
|
||||
}
|
||||
|
||||
|
@ -912,7 +912,7 @@ index 4d8a213b21c4..2dfcf74a10bd 100644
|
|||
}
|
||||
|
||||
static int selinux_task_setnice(struct task_struct *p, int nice)
|
||||
@@ -5088,7 +5088,9 @@ static int selinux_socket_getpeersec_stream(struct socket *sock,
|
||||
@@ -5096,7 +5096,9 @@ static int selinux_socket_getpeersec_stream(struct socket *sock,
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -923,7 +923,7 @@ index 4d8a213b21c4..2dfcf74a10bd 100644
|
|||
{
|
||||
u32 peer_secid = SECSID_NULL;
|
||||
u16 family;
|
||||
@@ -5110,7 +5112,7 @@ static int selinux_socket_getpeersec_dgram(struct socket *sock, struct sk_buff *
|
||||
@@ -5118,7 +5120,7 @@ static int selinux_socket_getpeersec_dgram(struct socket *sock, struct sk_buff *
|
||||
selinux_skb_peerlbl_sid(skb, family, &peer_secid);
|
||||
|
||||
out:
|
||||
|
@ -932,7 +932,7 @@ index 4d8a213b21c4..2dfcf74a10bd 100644
|
|||
if (peer_secid == SECSID_NULL)
|
||||
return -EINVAL;
|
||||
return 0;
|
||||
@@ -5147,14 +5149,14 @@ static void selinux_sk_clone_security(const struct sock *sk, struct sock *newsk)
|
||||
@@ -5155,14 +5157,14 @@ static void selinux_sk_clone_security(const struct sock *sk, struct sock *newsk)
|
||||
selinux_netlbl_sk_security_reset(newsksec);
|
||||
}
|
||||
|
||||
|
@ -950,7 +950,7 @@ index 4d8a213b21c4..2dfcf74a10bd 100644
|
|||
}
|
||||
}
|
||||
|
||||
@@ -5393,7 +5395,7 @@ static void selinux_inet_conn_established(struct sock *sk, struct sk_buff *skb)
|
||||
@@ -5401,7 +5403,7 @@ static void selinux_inet_conn_established(struct sock *sk, struct sk_buff *skb)
|
||||
selinux_skb_peerlbl_sid(skb, family, &sksec->peer_sid);
|
||||
}
|
||||
|
||||
|
@ -959,7 +959,7 @@ index 4d8a213b21c4..2dfcf74a10bd 100644
|
|||
{
|
||||
const struct task_security_struct *__tsec;
|
||||
u32 tsid;
|
||||
@@ -5402,8 +5404,8 @@ static int selinux_secmark_relabel_packet(u32 sid)
|
||||
@@ -5410,8 +5412,8 @@ static int selinux_secmark_relabel_packet(u32 sid)
|
||||
tsid = __tsec->sid;
|
||||
|
||||
return avc_has_perm(&selinux_state,
|
||||
|
@ -970,7 +970,7 @@ index 4d8a213b21c4..2dfcf74a10bd 100644
|
|||
}
|
||||
|
||||
static void selinux_secmark_refcount_inc(void)
|
||||
@@ -5419,7 +5421,7 @@ static void selinux_secmark_refcount_dec(void)
|
||||
@@ -5427,7 +5429,7 @@ static void selinux_secmark_refcount_dec(void)
|
||||
static void selinux_req_classify_flow(const struct request_sock *req,
|
||||
struct flowi *fl)
|
||||
{
|
||||
|
@ -979,7 +979,7 @@ index 4d8a213b21c4..2dfcf74a10bd 100644
|
|||
}
|
||||
|
||||
static int selinux_tun_dev_alloc_security(void **security)
|
||||
@@ -6264,10 +6266,11 @@ static int selinux_ipc_permission(struct kern_ipc_perm *ipcp, short flag)
|
||||
@@ -6272,10 +6274,11 @@ static int selinux_ipc_permission(struct kern_ipc_perm *ipcp, short flag)
|
||||
return ipc_has_perm(ipcp, av);
|
||||
}
|
||||
|
||||
|
@ -993,7 +993,7 @@ index 4d8a213b21c4..2dfcf74a10bd 100644
|
|||
}
|
||||
|
||||
static void selinux_d_instantiate(struct dentry *dentry, struct inode *inode)
|
||||
@@ -6474,16 +6477,18 @@ static int selinux_ismaclabel(const char *name)
|
||||
@@ -6482,16 +6485,18 @@ static int selinux_ismaclabel(const char *name)
|
||||
return (strcmp(name, XATTR_SELINUX_SUFFIX) == 0);
|
||||
}
|
||||
|
||||
|
@ -1438,7 +1438,7 @@ index e162d990b3a8..a1f6af076fae 100644
|
|||
}
|
||||
|
||||
diff --git a/security/smack/smackfs.c b/security/smack/smackfs.c
|
||||
index 09fee3e8df9c..aaa71df6d055 100644
|
||||
index 5f415224a6b3..d3ff7ef25edc 100644
|
||||
--- a/security/smack/smackfs.c
|
||||
+++ b/security/smack/smackfs.c
|
||||
@@ -197,7 +197,7 @@ static void smk_netlabel_audit_set(struct netlbl_audit *nap)
|
||||
|
@ -1474,7 +1474,7 @@ index 09fee3e8df9c..aaa71df6d055 100644
|
|||
|
||||
if (rc == 0)
|
||||
rc = count;
|
||||
@@ -2974,7 +2978,9 @@ static int __init smk_preset_netlabel(struct smack_known *skp)
|
||||
@@ -2991,7 +2995,9 @@ static int __init smk_preset_netlabel(struct smack_known *skp)
|
||||
{
|
||||
skp->smk_netlabel.domain = skp->smk_known;
|
||||
skp->smk_netlabel.flags =
|
||||
|
|
|
@ -68,7 +68,7 @@ index 1dc351d8548b..09ec6ff305b4 100644
|
|||
extern int set_create_files_as(struct cred *, struct inode *);
|
||||
extern void __init cred_init(void);
|
||||
diff --git a/include/linux/security.h b/include/linux/security.h
|
||||
index 615f136a32f2..a30887c379db 100644
|
||||
index 2ff982167d57..b24bb0240bbd 100644
|
||||
--- a/include/linux/security.h
|
||||
+++ b/include/linux/security.h
|
||||
@@ -355,7 +355,7 @@ int security_inode_killpriv(struct dentry *dentry);
|
||||
|
@ -645,7 +645,7 @@ index 82f341e84fae..d336d403cb88 100644
|
|||
return;
|
||||
|
||||
diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c
|
||||
index 0b89609a6e9d..e0746858bc96 100644
|
||||
index 15c9fbcd32f2..157425412d1e 100644
|
||||
--- a/net/netfilter/nf_conntrack_netlink.c
|
||||
+++ b/net/netfilter/nf_conntrack_netlink.c
|
||||
@@ -333,8 +333,12 @@ static int ctnetlink_dump_secctx(struct sk_buff *skb, const struct nf_conn *ct)
|
||||
|
@ -677,7 +677,7 @@ index 0b89609a6e9d..e0746858bc96 100644
|
|||
return 0;
|
||||
|
||||
diff --git a/net/netfilter/nf_conntrack_standalone.c b/net/netfilter/nf_conntrack_standalone.c
|
||||
index 4c94f3ba2ae4..9ebd932f15e0 100644
|
||||
index da0c9fa381d2..b9dd474c25de 100644
|
||||
--- a/net/netfilter/nf_conntrack_standalone.c
|
||||
+++ b/net/netfilter/nf_conntrack_standalone.c
|
||||
@@ -171,8 +171,12 @@ static void ct_show_secctx(struct seq_file *s, const struct nf_conn *ct)
|
||||
|
@ -720,11 +720,11 @@ index f81a3ce0fe48..e91fabdbe9e0 100644
|
|||
read_unlock_bh(&skb->sk->sk_callback_lock);
|
||||
#endif
|
||||
diff --git a/net/netfilter/xt_SECMARK.c b/net/netfilter/xt_SECMARK.c
|
||||
index 4ad5fe27e08b..afc61be750ef 100644
|
||||
index 097534dbc622..5e921c451084 100644
|
||||
--- a/net/netfilter/xt_SECMARK.c
|
||||
+++ b/net/netfilter/xt_SECMARK.c
|
||||
@@ -52,12 +52,15 @@ secmark_tg(struct sk_buff *skb, const struct xt_action_param *par)
|
||||
static int checkentry_lsm(struct xt_secmark_target_info *info)
|
||||
@@ -51,12 +51,15 @@ secmark_tg(struct sk_buff *skb, const struct xt_secmark_target_info_v1 *info)
|
||||
static int checkentry_lsm(struct xt_secmark_target_info_v1 *info)
|
||||
{
|
||||
int err;
|
||||
+ struct secids secid;
|
||||
|
@ -740,7 +740,7 @@ index 4ad5fe27e08b..afc61be750ef 100644
|
|||
if (err) {
|
||||
if (err == -EINVAL)
|
||||
pr_info_ratelimited("invalid security context \'%s\'\n",
|
||||
@@ -71,7 +74,7 @@ static int checkentry_lsm(struct xt_secmark_target_info *info)
|
||||
@@ -70,7 +73,7 @@ static int checkentry_lsm(struct xt_secmark_target_info_v1 *info)
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
|
@ -763,7 +763,7 @@ index 551bf3be961b..1909995037c1 100644
|
|||
|
||||
/**
|
||||
diff --git a/net/netlabel/netlabel_unlabeled.c b/net/netlabel/netlabel_unlabeled.c
|
||||
index 780e4b932eb8..c14bdb2ab5e5 100644
|
||||
index 86c3c1611641..716b7b2a260c 100644
|
||||
--- a/net/netlabel/netlabel_unlabeled.c
|
||||
+++ b/net/netlabel/netlabel_unlabeled.c
|
||||
@@ -379,7 +379,7 @@ int netlbl_unlhsh_add(struct net *net,
|
||||
|
@ -888,7 +888,7 @@ index 780e4b932eb8..c14bdb2ab5e5 100644
|
|||
if (ret_val != 0)
|
||||
goto list_cb_failure;
|
||||
ret_val = nla_put(cb_arg->skb,
|
||||
@@ -1547,7 +1544,7 @@ int __init netlbl_unlabel_defconf(void)
|
||||
@@ -1554,7 +1551,7 @@ int __init netlbl_unlabel_defconf(void)
|
||||
/* Only the kernel is allowed to call this function and the only time
|
||||
* it is called is at bootup before the audit subsystem is reporting
|
||||
* messages so don't worry to much about these values. */
|
||||
|
@ -962,7 +962,7 @@ index 2020306468af..bd6c63d6a5bc 100644
|
|||
#else
|
||||
static inline void unix_get_secdata(struct scm_cookie *scm, struct sk_buff *skb)
|
||||
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
|
||||
index 6a12efb4cbbe..51cbf842851f 100644
|
||||
index df6bed189d45..ecc56d6db80e 100644
|
||||
--- a/net/xfrm/xfrm_policy.c
|
||||
+++ b/net/xfrm/xfrm_policy.c
|
||||
@@ -1080,7 +1080,7 @@ static int xfrm_policy_match(const struct xfrm_policy *pol,
|
||||
|
@ -993,10 +993,10 @@ index 6a12efb4cbbe..51cbf842851f 100644
|
|||
return err;
|
||||
}
|
||||
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
|
||||
index f513c6d95592..cb8cc3900250 100644
|
||||
index c34c87049536..4adad4bf7cc4 100644
|
||||
--- a/net/xfrm/xfrm_state.c
|
||||
+++ b/net/xfrm/xfrm_state.c
|
||||
@@ -1033,7 +1033,7 @@ xfrm_state_find(const xfrm_address_t *daddr, const xfrm_address_t *saddr,
|
||||
@@ -1032,7 +1032,7 @@ xfrm_state_find(const xfrm_address_t *daddr, const xfrm_address_t *saddr,
|
||||
x->if_id = if_id;
|
||||
|
||||
error = security_xfrm_state_alloc_acquire(x, pol->security,
|
||||
|
|
|
@ -48,7 +48,7 @@ index f259cb09958f..687159d80911 100644
|
|||
struct sk_buff *skb,
|
||||
struct secids *secid);
|
||||
diff --git a/include/linux/security.h b/include/linux/security.h
|
||||
index a30887c379db..fd9fbd3ee81f 100644
|
||||
index b24bb0240bbd..a17d7d7517b9 100644
|
||||
--- a/include/linux/security.h
|
||||
+++ b/include/linux/security.h
|
||||
@@ -1403,8 +1403,10 @@ static inline int security_sock_rcv_skb(struct sock *sk,
|
||||
|
@ -141,10 +141,10 @@ index 4158d6d88d67..65e01da41ab9 100644
|
|||
|
||||
int security_socket_getpeersec_dgram(struct socket *sock, struct sk_buff *skb,
|
||||
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
|
||||
index 2dfcf74a10bd..4a1bb5dbf443 100644
|
||||
index e3317111ac9b..49aa28c0cd07 100644
|
||||
--- a/security/selinux/hooks.c
|
||||
+++ b/security/selinux/hooks.c
|
||||
@@ -5050,10 +5050,8 @@ static int selinux_socket_sock_rcv_skb(struct sock *sk, struct sk_buff *skb)
|
||||
@@ -5058,10 +5058,8 @@ static int selinux_socket_sock_rcv_skb(struct sock *sk, struct sk_buff *skb)
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -157,7 +157,7 @@ index 2dfcf74a10bd..4a1bb5dbf443 100644
|
|||
{
|
||||
int err = 0;
|
||||
char *scontext;
|
||||
@@ -5074,18 +5072,12 @@ static int selinux_socket_getpeersec_stream(struct socket *sock,
|
||||
@@ -5082,18 +5080,12 @@ static int selinux_socket_getpeersec_stream(struct socket *sock,
|
||||
return err;
|
||||
|
||||
if (scontext_len > len) {
|
||||
|
|
|
@ -33,7 +33,7 @@ the security modules.
|
|||
Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
|
||||
---
|
||||
include/linux/lsm_hooks.h | 8 +
|
||||
include/linux/security.h | 46 ++++-
|
||||
include/linux/security.h | 34 +++-
|
||||
include/net/netlabel.h | 8 +
|
||||
include/uapi/linux/prctl.h | 4 +
|
||||
kernel/fork.c | 3 +
|
||||
|
@ -48,7 +48,7 @@ Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
|
|||
security/selinux/netlabel.c | 8 +
|
||||
security/smack/smack_lsm.c | 66 +++++--
|
||||
security/stacking.c | 119 ++++++++++++
|
||||
16 files changed, 635 insertions(+), 86 deletions(-)
|
||||
16 files changed, 626 insertions(+), 83 deletions(-)
|
||||
create mode 100644 security/stacking.c
|
||||
|
||||
diff --git a/include/linux/lsm_hooks.h b/include/linux/lsm_hooks.h
|
||||
|
@ -76,7 +76,7 @@ index 687159d80911..1b27b8bcc779 100644
|
|||
+
|
||||
#endif /* ! __LINUX_LSM_HOOKS_H */
|
||||
diff --git a/include/linux/security.h b/include/linux/security.h
|
||||
index fd9fbd3ee81f..aed6376768bb 100644
|
||||
index a17d7d7517b9..ad146916f19b 100644
|
||||
--- a/include/linux/security.h
|
||||
+++ b/include/linux/security.h
|
||||
@@ -53,6 +53,7 @@ struct msg_msg;
|
||||
|
@ -138,34 +138,7 @@ index fd9fbd3ee81f..aed6376768bb 100644
|
|||
struct sock;
|
||||
struct sockaddr;
|
||||
struct socket;
|
||||
@@ -828,17 +857,23 @@ static inline int security_inode_killpriv(struct dentry *dentry)
|
||||
return cap_inode_killpriv(dentry);
|
||||
}
|
||||
|
||||
-static inline int security_inode_getsecurity(struct inode *inode, const char *name, void **buffer, bool alloc)
|
||||
+static inline int security_inode_getsecurity(struct inode *inode,
|
||||
+ const char *name, void **buffer,
|
||||
+ bool alloc)
|
||||
{
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
-static inline int security_inode_setsecurity(struct inode *inode, const char *name, const void *value, size_t size, int flags)
|
||||
+static inline int security_inode_setsecurity(struct inode *inode,
|
||||
+ const char *name,
|
||||
+ const void *value, size_t size,
|
||||
+ int flags)
|
||||
{
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
-static inline int security_inode_listsecurity(struct inode *inode, char *buffer, size_t buffer_size)
|
||||
+static inline int security_inode_listsecurity(struct inode *inode, char *buffer,
|
||||
+ size_t buffer_size)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@@ -1080,7 +1115,8 @@ static inline int security_task_prctl(int option, unsigned long arg2,
|
||||
@@ -1080,7 +1109,8 @@ static inline int security_task_prctl(int option, unsigned long arg2,
|
||||
return cap_task_prctl(option, arg2, arg3, arg4, arg5);
|
||||
}
|
||||
|
||||
|
@ -215,10 +188,10 @@ index b17201edfa09..a10d54910652 100644
|
|||
+
|
||||
#endif /* _LINUX_PRCTL_H */
|
||||
diff --git a/kernel/fork.c b/kernel/fork.c
|
||||
index 3ed29bf8eb29..f670b4bd93f2 100644
|
||||
index cf535b9d5db7..3651cf9144b5 100644
|
||||
--- a/kernel/fork.c
|
||||
+++ b/kernel/fork.c
|
||||
@@ -1881,6 +1881,9 @@ static __latent_entropy struct task_struct *copy_process(
|
||||
@@ -1877,6 +1877,9 @@ static __latent_entropy struct task_struct *copy_process(
|
||||
p->sequential_io = 0;
|
||||
p->sequential_io_avg = 0;
|
||||
#endif
|
||||
|
@ -229,7 +202,7 @@ index 3ed29bf8eb29..f670b4bd93f2 100644
|
|||
/* Perform scheduler related setup. Assign this task to a CPU. */
|
||||
retval = sched_fork(clone_flags, p);
|
||||
diff --git a/net/ipv4/cipso_ipv4.c b/net/ipv4/cipso_ipv4.c
|
||||
index cc7e8c1072bb..386523eadbb3 100644
|
||||
index be8a88084508..6694d30cd470 100644
|
||||
--- a/net/ipv4/cipso_ipv4.c
|
||||
+++ b/net/ipv4/cipso_ipv4.c
|
||||
@@ -43,6 +43,7 @@
|
||||
|
@ -269,7 +242,7 @@ index cc7e8c1072bb..386523eadbb3 100644
|
|||
|
||||
/*
|
||||
* Helper Functions
|
||||
@@ -1483,7 +1496,7 @@ static int cipso_v4_gentag_loc(const struct cipso_v4_doi *doi_def,
|
||||
@@ -1474,7 +1487,7 @@ static int cipso_v4_gentag_loc(const struct cipso_v4_doi *doi_def,
|
||||
|
||||
buffer[0] = CIPSO_V4_TAG_LOCAL;
|
||||
buffer[1] = CIPSO_V4_TAG_LOC_BLEN;
|
||||
|
@ -278,7 +251,7 @@ index cc7e8c1072bb..386523eadbb3 100644
|
|||
|
||||
return CIPSO_V4_TAG_LOC_BLEN;
|
||||
}
|
||||
@@ -1503,7 +1516,7 @@ static int cipso_v4_parsetag_loc(const struct cipso_v4_doi *doi_def,
|
||||
@@ -1494,7 +1507,7 @@ static int cipso_v4_parsetag_loc(const struct cipso_v4_doi *doi_def,
|
||||
const unsigned char *tag,
|
||||
struct netlbl_lsm_secattr *secattr)
|
||||
{
|
||||
|
@ -288,10 +261,10 @@ index cc7e8c1072bb..386523eadbb3 100644
|
|||
|
||||
return 0;
|
||||
diff --git a/net/netfilter/xt_SECMARK.c b/net/netfilter/xt_SECMARK.c
|
||||
index afc61be750ef..6af1f4fc837d 100644
|
||||
index 5e921c451084..08ad57b503b8 100644
|
||||
--- a/net/netfilter/xt_SECMARK.c
|
||||
+++ b/net/netfilter/xt_SECMARK.c
|
||||
@@ -59,7 +59,7 @@ static int checkentry_lsm(struct xt_secmark_target_info *info)
|
||||
@@ -58,7 +58,7 @@ static int checkentry_lsm(struct xt_secmark_target_info_v1 *info)
|
||||
|
||||
err = security_secctx_to_secid(info->secctx, strlen(info->secctx),
|
||||
&secid);
|
||||
|
@ -953,10 +926,10 @@ index 65e01da41ab9..96e795600adb 100644
|
|||
EXPORT_SYMBOL(security_secmark_relabel_packet);
|
||||
|
||||
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
|
||||
index 4a1bb5dbf443..35f8a839de72 100644
|
||||
index 49aa28c0cd07..666f2b631614 100644
|
||||
--- a/security/selinux/hooks.c
|
||||
+++ b/security/selinux/hooks.c
|
||||
@@ -3240,13 +3240,12 @@ static int selinux_inode_setxattr(struct dentry *dentry, const char *name,
|
||||
@@ -3248,13 +3248,12 @@ static int selinux_inode_setxattr(struct dentry *dentry, const char *name,
|
||||
int rc = 0;
|
||||
|
||||
if (strcmp(name, XATTR_NAME_SELINUX)) {
|
||||
|
|
|
@ -49,7 +49,7 @@ index 1b27b8bcc779..381dae9c3ec5 100644
|
|||
struct flowi *fl);
|
||||
int (*tun_dev_alloc_security)(void **security);
|
||||
diff --git a/include/linux/security.h b/include/linux/security.h
|
||||
index aed6376768bb..2a95fcfc4b14 100644
|
||||
index ad146916f19b..bb4b8ac9e1b2 100644
|
||||
--- a/include/linux/security.h
|
||||
+++ b/include/linux/security.h
|
||||
@@ -83,15 +83,9 @@ enum lsm_event {
|
||||
|
@ -68,7 +68,7 @@ index aed6376768bb..2a95fcfc4b14 100644
|
|||
u32 flags;
|
||||
};
|
||||
|
||||
@@ -1321,8 +1315,9 @@ void security_inet_csk_clone(struct sock *newsk,
|
||||
@@ -1315,8 +1309,9 @@ void security_inet_csk_clone(struct sock *newsk,
|
||||
void security_inet_conn_established(struct sock *sk,
|
||||
struct sk_buff *skb);
|
||||
int security_secmark_relabel_packet(struct secids *secid);
|
||||
|
@ -80,7 +80,7 @@ index aed6376768bb..2a95fcfc4b14 100644
|
|||
int security_tun_dev_alloc_security(void **security);
|
||||
void security_tun_dev_free_security(void *security);
|
||||
int security_tun_dev_create(void);
|
||||
@@ -1500,14 +1495,19 @@ static inline int security_secmark_relabel_packet(struct secids *secid)
|
||||
@@ -1494,14 +1489,19 @@ static inline int security_secmark_relabel_packet(struct secids *secid)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -103,7 +103,7 @@ index aed6376768bb..2a95fcfc4b14 100644
|
|||
{
|
||||
return 0;
|
||||
diff --git a/include/uapi/linux/netfilter/xt_SECMARK.h b/include/uapi/linux/netfilter/xt_SECMARK.h
|
||||
index 1f2a708413f5..5245a9748599 100644
|
||||
index beb2cadba8a9..1f9f1b912d22 100644
|
||||
--- a/include/uapi/linux/netfilter/xt_SECMARK.h
|
||||
+++ b/include/uapi/linux/netfilter/xt_SECMARK.h
|
||||
@@ -12,6 +12,7 @@
|
||||
|
@ -143,7 +143,7 @@ index 8018f6cbd9be..498d8942c344 100644
|
|||
} else {
|
||||
audit_log_format(ab, " obj=%s", ctx);
|
||||
diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c
|
||||
index e0746858bc96..97d0252284b0 100644
|
||||
index 157425412d1e..a3c80402f7a8 100644
|
||||
--- a/net/netfilter/nf_conntrack_netlink.c
|
||||
+++ b/net/netfilter/nf_conntrack_netlink.c
|
||||
@@ -335,8 +335,13 @@ static int ctnetlink_dump_secctx(struct sk_buff *skb, const struct nf_conn *ct)
|
||||
|
@ -175,7 +175,7 @@ index e0746858bc96..97d0252284b0 100644
|
|||
ret = security_secid_to_secctx(&secid, NULL, &len);
|
||||
if (ret)
|
||||
diff --git a/net/netfilter/nf_conntrack_standalone.c b/net/netfilter/nf_conntrack_standalone.c
|
||||
index 9ebd932f15e0..c85c2e1a3e74 100644
|
||||
index b9dd474c25de..24df21902d81 100644
|
||||
--- a/net/netfilter/nf_conntrack_standalone.c
|
||||
+++ b/net/netfilter/nf_conntrack_standalone.c
|
||||
@@ -173,8 +173,13 @@ static void ct_show_secctx(struct seq_file *s, const struct nf_conn *ct)
|
||||
|
@ -211,10 +211,10 @@ index e91fabdbe9e0..b5fe7f87f180 100644
|
|||
}
|
||||
|
||||
diff --git a/net/netfilter/xt_SECMARK.c b/net/netfilter/xt_SECMARK.c
|
||||
index 6af1f4fc837d..a4646c301307 100644
|
||||
index 08ad57b503b8..d46fd431e785 100644
|
||||
--- a/net/netfilter/xt_SECMARK.c
|
||||
+++ b/net/netfilter/xt_SECMARK.c
|
||||
@@ -41,6 +41,9 @@ secmark_tg(struct sk_buff *skb, const struct xt_action_param *par)
|
||||
@@ -40,6 +40,9 @@ secmark_tg(struct sk_buff *skb, const struct xt_secmark_target_info_v1 *info)
|
||||
case SECMARK_MODE_SEL:
|
||||
secmark = info->secid;
|
||||
break;
|
||||
|
@ -224,7 +224,7 @@ index 6af1f4fc837d..a4646c301307 100644
|
|||
default:
|
||||
BUG();
|
||||
}
|
||||
@@ -59,7 +62,16 @@ static int checkentry_lsm(struct xt_secmark_target_info *info)
|
||||
@@ -58,7 +61,16 @@ static int checkentry_lsm(struct xt_secmark_target_info_v1 *info)
|
||||
|
||||
err = security_secctx_to_secid(info->secctx, strlen(info->secctx),
|
||||
&secid);
|
||||
|
@ -242,7 +242,7 @@ index 6af1f4fc837d..a4646c301307 100644
|
|||
|
||||
if (err) {
|
||||
if (err == -EINVAL)
|
||||
@@ -80,7 +92,8 @@ static int checkentry_lsm(struct xt_secmark_target_info *info)
|
||||
@@ -79,7 +91,8 @@ static int checkentry_lsm(struct xt_secmark_target_info_v1 *info)
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -252,7 +252,7 @@ index 6af1f4fc837d..a4646c301307 100644
|
|||
return 0;
|
||||
}
|
||||
|
||||
@@ -96,15 +109,23 @@ static int secmark_tg_check(const struct xt_tgchk_param *par)
|
||||
@@ -95,15 +108,23 @@ secmark_tg_check(const char *table, struct xt_secmark_target_info_v1 *info)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
@ -279,7 +279,7 @@ index 6af1f4fc837d..a4646c301307 100644
|
|||
default:
|
||||
pr_info_ratelimited("invalid mode: %hu\n", info->mode);
|
||||
return -EINVAL;
|
||||
@@ -123,8 +144,14 @@ static void secmark_tg_destroy(const struct xt_tgdtor_param *par)
|
||||
@@ -122,8 +143,14 @@ static void secmark_tg_destroy(const struct xt_tgdtor_param *par)
|
||||
{
|
||||
switch (mode) {
|
||||
case SECMARK_MODE_SEL:
|
||||
|
@ -294,7 +294,7 @@ index 6af1f4fc837d..a4646c301307 100644
|
|||
+ security_secmark_refcount_dec(mode);
|
||||
}
|
||||
|
||||
static struct xt_target secmark_tg_reg __read_mostly = {
|
||||
static int secmark_tg_check_v0(const struct xt_tgchk_param *par)
|
||||
diff --git a/net/netlabel/netlabel_user.c b/net/netlabel/netlabel_user.c
|
||||
index 22474f5c93d7..42ee220f6940 100644
|
||||
--- a/net/netlabel/netlabel_user.c
|
||||
|
@ -412,7 +412,7 @@ index 96e795600adb..5a8047fcb9cd 100644
|
|||
{
|
||||
return call_int_hook(tun_dev_alloc_security, 0, security);
|
||||
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
|
||||
index 35f8a839de72..8f807054b58f 100644
|
||||
index 666f2b631614..02a9aab5e901 100644
|
||||
--- a/security/selinux/hooks.c
|
||||
+++ b/security/selinux/hooks.c
|
||||
@@ -50,6 +50,7 @@
|
||||
|
@ -423,7 +423,7 @@ index 35f8a839de72..8f807054b58f 100644
|
|||
#include <linux/tty.h>
|
||||
#include <net/icmp.h>
|
||||
#include <net/ip.h> /* for local_port_range[] */
|
||||
@@ -5399,13 +5400,21 @@ static int selinux_secmark_relabel_packet(struct secids *secid)
|
||||
@@ -5407,13 +5408,21 @@ static int selinux_secmark_relabel_packet(struct secids *secid)
|
||||
PACKET__RELABELTO, NULL);
|
||||
}
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ Signed-off-by: James Morris <james.morris@microsoft.com>
|
|||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/kernel/seccomp.c b/kernel/seccomp.c
|
||||
index 56e69203b658..e31a7a925725 100644
|
||||
index a9dd2325bdda..ae2d70f162a3 100644
|
||||
--- a/kernel/seccomp.c
|
||||
+++ b/kernel/seccomp.c
|
||||
@@ -195,7 +195,7 @@ static u32 seccomp_run_filters(const struct seccomp_data *sd,
|
||||
|
|
|
@ -13,10 +13,10 @@ Signed-off-by: Casey Schaufler <casey.schaufler@intel.com>
|
|||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/include/linux/security.h b/include/linux/security.h
|
||||
index 2a95fcfc4b14..e98b45ab7a1e 100644
|
||||
index bb4b8ac9e1b2..c5e7097ea713 100644
|
||||
--- a/include/linux/security.h
|
||||
+++ b/include/linux/security.h
|
||||
@@ -875,7 +875,7 @@ static inline int security_inode_listsecurity(struct inode *inode, char *buffer,
|
||||
@@ -869,7 +869,7 @@ static inline int security_inode_listsecurity(struct inode *inode, char *buffer,
|
||||
static inline void security_inode_getsecid(struct inode *inode,
|
||||
struct secids *secid)
|
||||
{
|
||||
|
@ -25,7 +25,7 @@ index 2a95fcfc4b14..e98b45ab7a1e 100644
|
|||
}
|
||||
|
||||
static inline int security_inode_copy_up(struct dentry *src, struct cred **new)
|
||||
@@ -1047,7 +1047,7 @@ static inline int security_task_getsid(struct task_struct *p)
|
||||
@@ -1041,7 +1041,7 @@ static inline int security_task_getsid(struct task_struct *p)
|
||||
static inline void security_task_getsecid(struct task_struct *p,
|
||||
struct secids *secid)
|
||||
{
|
||||
|
@ -34,7 +34,7 @@ index 2a95fcfc4b14..e98b45ab7a1e 100644
|
|||
}
|
||||
|
||||
static inline int security_task_setnice(struct task_struct *p, int nice)
|
||||
@@ -1122,7 +1122,7 @@ static inline int security_ipc_permission(struct kern_ipc_perm *ipcp,
|
||||
@@ -1116,7 +1116,7 @@ static inline int security_ipc_permission(struct kern_ipc_perm *ipcp,
|
||||
static inline void security_ipc_getsecid(struct kern_ipc_perm *ipcp,
|
||||
struct secids *secid)
|
||||
{
|
||||
|
|
|
@ -78,7 +78,7 @@ index b36cdeedb602..12b33ae5ac29 100644
|
|||
|
||||
enum tpm2_permanent_handles {
|
||||
diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c
|
||||
index ef381caf5f43..9f0daaf3711a 100644
|
||||
index e71c6b24aed1..18e8268a0997 100644
|
||||
--- a/drivers/char/tpm/tpm2-cmd.c
|
||||
+++ b/drivers/char/tpm/tpm2-cmd.c
|
||||
@@ -40,129 +40,100 @@ static struct tpm2_hash tpm2_hash_map[] = {
|
||||
|
|
|
@ -717,10 +717,10 @@ index 280308009784..289ccca35feb 100644
|
|||
return rc;
|
||||
}
|
||||
diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c
|
||||
index 280d60cba1f8..fcb4326d230c 100644
|
||||
index c9a5f34097df..ffa3ec6aee7a 100644
|
||||
--- a/drivers/char/tpm/tpm_tis_core.c
|
||||
+++ b/drivers/char/tpm/tpm_tis_core.c
|
||||
@@ -479,7 +479,7 @@ static int tpm_tis_send_main(struct tpm_chip *chip, const u8 *buf, size_t len)
|
||||
@@ -435,7 +435,7 @@ static int tpm_tis_send_main(struct tpm_chip *chip, const u8 *buf, size_t len)
|
||||
if (chip->flags & TPM_CHIP_FLAG_TPM2)
|
||||
dur = tpm2_calc_ordinal_duration(chip, ordinal);
|
||||
else
|
||||
|
|
|
@ -108,7 +108,7 @@ index 991260134659..dfbe9c60cbcf 100644
|
|||
}
|
||||
-EXPORT_SYMBOL_GPL(tpm1_calc_ordinal_duration);
|
||||
diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c
|
||||
index 9f0daaf3711a..56ad80a91aa1 100644
|
||||
index 18e8268a0997..ac9d3f97b956 100644
|
||||
--- a/drivers/char/tpm/tpm2-cmd.c
|
||||
+++ b/drivers/char/tpm/tpm2-cmd.c
|
||||
@@ -132,7 +132,6 @@ unsigned long tpm2_calc_ordinal_duration(struct tpm_chip *chip, u32 ordinal)
|
||||
|
@ -136,10 +136,10 @@ index 289ccca35feb..315a3b4548f7 100644
|
|||
rc = i2c_nuvoton_wait_for_data_avail(chip, duration, &priv->read_queue);
|
||||
if (rc) {
|
||||
diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c
|
||||
index fcb4326d230c..72f9ca7157fa 100644
|
||||
index ffa3ec6aee7a..104726bc6492 100644
|
||||
--- a/drivers/char/tpm/tpm_tis_core.c
|
||||
+++ b/drivers/char/tpm/tpm_tis_core.c
|
||||
@@ -476,11 +476,7 @@ static int tpm_tis_send_main(struct tpm_chip *chip, const u8 *buf, size_t len)
|
||||
@@ -432,11 +432,7 @@ static int tpm_tis_send_main(struct tpm_chip *chip, const u8 *buf, size_t len)
|
||||
if (chip->flags & TPM_CHIP_FLAG_IRQ) {
|
||||
ordinal = be32_to_cpu(*((__be32 *) (buf + 6)));
|
||||
|
||||
|
|
|
@ -299,7 +299,7 @@ index dfbe9c60cbcf..978946748ea3 100644
|
|||
+ return 0;
|
||||
+}
|
||||
diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c
|
||||
index 56ad80a91aa1..c366a200f03b 100644
|
||||
index ac9d3f97b956..954dca7a9c74 100644
|
||||
--- a/drivers/char/tpm/tpm2-cmd.c
|
||||
+++ b/drivers/char/tpm/tpm2-cmd.c
|
||||
@@ -40,6 +40,28 @@ static struct tpm2_hash tpm2_hash_map[] = {
|
||||
|
|
|
@ -304,10 +304,10 @@ index ec242397e6dc..3bd079587ef5 100644
|
|||
+}
|
||||
+EXPORT_SYMBOL_GPL(tpm1_getcap);
|
||||
diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c
|
||||
index 72f9ca7157fa..3ceebc0a19a8 100644
|
||||
index 104726bc6492..0f5e47d58df7 100644
|
||||
--- a/drivers/char/tpm/tpm_tis_core.c
|
||||
+++ b/drivers/char/tpm/tpm_tis_core.c
|
||||
@@ -667,7 +667,7 @@ static int tpm_tis_gen_interrupt(struct tpm_chip *chip)
|
||||
@@ -623,7 +623,7 @@ static int tpm_tis_gen_interrupt(struct tpm_chip *chip)
|
||||
if (chip->flags & TPM_CHIP_FLAG_TPM2)
|
||||
return tpm2_get_tpm_pt(chip, 0x100, &cap2, desc);
|
||||
else
|
||||
|
|
|
@ -408,10 +408,10 @@ index e02f0c1c822f..a69a02366c32 100644
|
|||
+ return rc;
|
||||
+}
|
||||
diff --git a/drivers/char/tpm/tpm_tis_core.c b/drivers/char/tpm/tpm_tis_core.c
|
||||
index 3ceebc0a19a8..6113a5b77371 100644
|
||||
index 0f5e47d58df7..c8a11aaa6757 100644
|
||||
--- a/drivers/char/tpm/tpm_tis_core.c
|
||||
+++ b/drivers/char/tpm/tpm_tis_core.c
|
||||
@@ -1062,7 +1062,7 @@ int tpm_tis_resume(struct device *dev)
|
||||
@@ -1018,7 +1018,7 @@ int tpm_tis_resume(struct device *dev)
|
||||
* an error code but for unknown reason it isn't handled.
|
||||
*/
|
||||
if (!(chip->flags & TPM_CHIP_FLAG_TPM2))
|
||||
|
|
|
@ -148,10 +148,10 @@ index 3bd9f1fa77ce..8a84db315676 100644
|
|||
}
|
||||
+
|
||||
diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c
|
||||
index c366a200f03b..910df422a343 100644
|
||||
index 954dca7a9c74..dfd9da2704e9 100644
|
||||
--- a/drivers/char/tpm/tpm2-cmd.c
|
||||
+++ b/drivers/char/tpm/tpm2-cmd.c
|
||||
@@ -952,6 +952,36 @@ static int tpm2_get_cc_attrs_tbl(struct tpm_chip *chip)
|
||||
@@ -953,6 +953,36 @@ static int tpm2_get_cc_attrs_tbl(struct tpm_chip *chip)
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
@ -188,7 +188,7 @@ index c366a200f03b..910df422a343 100644
|
|||
/**
|
||||
* tpm2_auto_startup - Perform the standard automatic TPM initialization
|
||||
* sequence
|
||||
@@ -963,7 +993,7 @@ int tpm2_auto_startup(struct tpm_chip *chip)
|
||||
@@ -964,7 +994,7 @@ int tpm2_auto_startup(struct tpm_chip *chip)
|
||||
{
|
||||
int rc;
|
||||
|
||||
|
@ -197,7 +197,7 @@ index c366a200f03b..910df422a343 100644
|
|||
if (rc)
|
||||
goto out;
|
||||
|
||||
@@ -972,7 +1002,7 @@ int tpm2_auto_startup(struct tpm_chip *chip)
|
||||
@@ -973,7 +1003,7 @@ int tpm2_auto_startup(struct tpm_chip *chip)
|
||||
goto out;
|
||||
|
||||
if (rc == TPM2_RC_INITIALIZE) {
|
||||
|
|
|
@ -138,7 +138,7 @@ index 6b04648f8184..6f306338953b 100644
|
|||
u8 dummy_hash[TPM_DIGEST_SIZE] = { 0 };
|
||||
struct tpm_buf buf;
|
||||
diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c
|
||||
index 910df422a343..cd8261a8dcf7 100644
|
||||
index dfd9da2704e9..310f4abddc98 100644
|
||||
--- a/drivers/char/tpm/tpm2-cmd.c
|
||||
+++ b/drivers/char/tpm/tpm2-cmd.c
|
||||
@@ -175,7 +175,7 @@ struct tpm2_pcr_read_out {
|
||||
|
@ -204,19 +204,19 @@ index 4609b94142d4..b49a55cf775f 100644
|
|||
{
|
||||
return -ENODEV;
|
||||
diff --git a/security/integrity/ima/ima_crypto.c b/security/integrity/ima/ima_crypto.c
|
||||
index f4f3de5f06ca..0b0ecf5351c5 100644
|
||||
index f0b244989734..65bdd860858a 100644
|
||||
--- a/security/integrity/ima/ima_crypto.c
|
||||
+++ b/security/integrity/ima/ima_crypto.c
|
||||
@@ -651,7 +651,7 @@ int ima_calc_buffer_hash(const void *buf, loff_t len,
|
||||
@@ -641,7 +641,7 @@ int ima_calc_buffer_hash(const void *buf, loff_t len,
|
||||
return calc_buffer_shash(buf, len, hash);
|
||||
}
|
||||
|
||||
-static void __init ima_pcrread(int idx, u8 *pcr)
|
||||
+static void __init ima_pcrread(u32 idx, u8 *pcr)
|
||||
-static void ima_pcrread(int idx, u8 *pcr)
|
||||
+static void ima_pcrread(u32 idx, u8 *pcr)
|
||||
{
|
||||
if (!ima_tpm_chip)
|
||||
return;
|
||||
@@ -667,7 +667,8 @@ static int ima_calc_boot_aggregate_tfm(char *digest,
|
||||
@@ -657,7 +657,8 @@ static int ima_calc_boot_aggregate_tfm(char *digest,
|
||||
struct crypto_shash *tfm)
|
||||
{
|
||||
u8 pcr_i[TPM_DIGEST_SIZE];
|
||||
|
|
|
@ -13,7 +13,7 @@ Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
|
|||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c
|
||||
index cd8261a8dcf7..09516fba5f93 100644
|
||||
index 310f4abddc98..e5876cf9fc1f 100644
|
||||
--- a/drivers/char/tpm/tpm2-cmd.c
|
||||
+++ b/drivers/char/tpm/tpm2-cmd.c
|
||||
@@ -343,10 +343,9 @@ int tpm2_get_random(struct tpm_chip *chip, u8 *dest, size_t max)
|
||||
|
|
|
@ -141,7 +141,7 @@ index 4888ebc076b7..eb026e2a0537 100644
|
|||
if (ret) {
|
||||
dev_err(dev->dev, "hw_reset failed ret = %d\n", ret);
|
||||
diff --git a/drivers/misc/mei/interrupt.c b/drivers/misc/mei/interrupt.c
|
||||
index 5a661cbdf2ae..055c2d89b310 100644
|
||||
index 66f4d12d0060..6617ba3f7d95 100644
|
||||
--- a/drivers/misc/mei/interrupt.c
|
||||
+++ b/drivers/misc/mei/interrupt.c
|
||||
@@ -75,6 +75,8 @@ static inline int mei_cl_hbm_equal(struct mei_cl *cl,
|
||||
|
@ -197,7 +197,7 @@ index 5a661cbdf2ae..055c2d89b310 100644
|
|||
|
||||
if (mei_hdr->msg_complete) {
|
||||
cl_dbg(dev, cl, "completed read length = %zu\n", cb->buf_idx);
|
||||
@@ -247,6 +256,9 @@ static inline int hdr_is_valid(u32 msg_hdr)
|
||||
@@ -250,6 +259,9 @@ static inline int hdr_is_valid(u32 msg_hdr)
|
||||
if (!msg_hdr || mei_hdr->reserved)
|
||||
return -EBADMSG;
|
||||
|
||||
|
@ -207,7 +207,7 @@ index 5a661cbdf2ae..055c2d89b310 100644
|
|||
return 0;
|
||||
}
|
||||
|
||||
@@ -267,20 +279,20 @@ int mei_irq_read_handler(struct mei_device *dev,
|
||||
@@ -270,20 +282,20 @@ int mei_irq_read_handler(struct mei_device *dev,
|
||||
struct mei_cl *cl;
|
||||
int ret;
|
||||
|
||||
|
@ -233,7 +233,7 @@ index 5a661cbdf2ae..055c2d89b310 100644
|
|||
dev_dbg(dev->dev, MEI_HDR_FMT, MEI_HDR_PRM(mei_hdr));
|
||||
|
||||
if (mei_slots2data(*slots) < mei_hdr->length) {
|
||||
@@ -291,6 +303,12 @@ int mei_irq_read_handler(struct mei_device *dev,
|
||||
@@ -294,6 +306,12 @@ int mei_irq_read_handler(struct mei_device *dev,
|
||||
goto end;
|
||||
}
|
||||
|
||||
|
@ -246,7 +246,7 @@ index 5a661cbdf2ae..055c2d89b310 100644
|
|||
/* HBM message */
|
||||
if (hdr_is_hbm(mei_hdr)) {
|
||||
ret = mei_hbm_dispatch(dev, mei_hdr);
|
||||
@@ -324,7 +342,7 @@ int mei_irq_read_handler(struct mei_device *dev,
|
||||
@@ -327,7 +345,7 @@ int mei_irq_read_handler(struct mei_device *dev,
|
||||
goto reset_slots;
|
||||
}
|
||||
dev_err(dev->dev, "no destination client found 0x%08X\n",
|
||||
|
@ -255,7 +255,7 @@ index 5a661cbdf2ae..055c2d89b310 100644
|
|||
ret = -EBADMSG;
|
||||
goto end;
|
||||
}
|
||||
@@ -334,9 +352,8 @@ int mei_irq_read_handler(struct mei_device *dev,
|
||||
@@ -337,9 +355,8 @@ int mei_irq_read_handler(struct mei_device *dev,
|
||||
|
||||
reset_slots:
|
||||
/* reset the number of slots and header */
|
||||
|
|
|
@ -277,7 +277,7 @@ index 46843bc224a0..b4e00028ad0a 100644
|
|||
struct mei_bus_message {
|
||||
u8 hbm_cmd;
|
||||
diff --git a/drivers/misc/mei/interrupt.c b/drivers/misc/mei/interrupt.c
|
||||
index 055c2d89b310..6531e036bb00 100644
|
||||
index 6617ba3f7d95..d215289edcb1 100644
|
||||
--- a/drivers/misc/mei/interrupt.c
|
||||
+++ b/drivers/misc/mei/interrupt.c
|
||||
@@ -101,6 +101,7 @@ static int mei_cl_irq_read_msg(struct mei_cl *cl,
|
||||
|
@ -314,7 +314,7 @@ index 055c2d89b310..6531e036bb00 100644
|
|||
|
||||
buf_sz = length + cb->buf_idx;
|
||||
/* catch for integer overflow */
|
||||
@@ -303,9 +315,13 @@ int mei_irq_read_handler(struct mei_device *dev,
|
||||
@@ -306,9 +318,13 @@ int mei_irq_read_handler(struct mei_device *dev,
|
||||
goto end;
|
||||
}
|
||||
|
||||
|
|
|
@ -105,7 +105,7 @@ index 6dbe8d856fb8..989fc73d241c 100644
|
|||
!WARN_ON(!cl->rx_flow_ctrl_creds))
|
||||
cl->rx_flow_ctrl_creds--;
|
||||
diff --git a/drivers/misc/mei/client.h b/drivers/misc/mei/client.h
|
||||
index 64e318f589b4..13223b549165 100644
|
||||
index 0d23efcc74ff..bb74eea3dba5 100644
|
||||
--- a/drivers/misc/mei/client.h
|
||||
+++ b/drivers/misc/mei/client.h
|
||||
@@ -95,8 +95,24 @@ int mei_cl_unlink(struct mei_cl *cl);
|
||||
|
|
|
@ -156,7 +156,7 @@ index 989fc73d241c..11749f1e90c7 100644
|
|||
cl_dbg(dev, cl, "No flow control credentials: not sending.\n");
|
||||
rets = len;
|
||||
diff --git a/drivers/misc/mei/client.h b/drivers/misc/mei/client.h
|
||||
index 13223b549165..1ac297f7c81c 100644
|
||||
index bb74eea3dba5..656eadea32a4 100644
|
||||
--- a/drivers/misc/mei/client.h
|
||||
+++ b/drivers/misc/mei/client.h
|
||||
@@ -96,14 +96,7 @@ int mei_cl_unlink(struct mei_cl *cl);
|
||||
|
|
|
@ -129,7 +129,7 @@ index 893af8985620..d6e871fb25af 100644
|
|||
mei_io_cb_free(cb);
|
||||
return;
|
||||
diff --git a/drivers/misc/mei/client.h b/drivers/misc/mei/client.h
|
||||
index 1ac297f7c81c..eb147094b459 100644
|
||||
index 656eadea32a4..234b75ddf427 100644
|
||||
--- a/drivers/misc/mei/client.h
|
||||
+++ b/drivers/misc/mei/client.h
|
||||
@@ -114,6 +114,7 @@ struct mei_cl_cb *mei_cl_enqueue_ctrl_wr_cb(struct mei_cl *cl, size_t length,
|
||||
|
|
|
@ -108,7 +108,7 @@ index 24282139a261..289663d76abc 100644
|
|||
};
|
||||
ATTRIBUTE_GROUPS(mei_cldev);
|
||||
diff --git a/drivers/misc/mei/client.h b/drivers/misc/mei/client.h
|
||||
index eb147094b459..6c9986dfd5a0 100644
|
||||
index 234b75ddf427..df3f5f65fea2 100644
|
||||
--- a/drivers/misc/mei/client.h
|
||||
+++ b/drivers/misc/mei/client.h
|
||||
@@ -79,6 +79,54 @@ static inline u8 mei_me_cl_ver(const struct mei_me_client *me_cl)
|
||||
|
|
|
@ -45,7 +45,7 @@ index 363145716a6d..acf06a4f5144 100644
|
|||
|
||||
/* Size optimised DRAM/IRAM memcpy */
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index 245df1067ba8..f7c832b300d0 100644
|
||||
index 7b429c0fb4e5..27884c176dc6 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -27,6 +27,7 @@
|
||||
|
@ -156,7 +156,7 @@ index 245df1067ba8..f7c832b300d0 100644
|
|||
|
||||
return ret;
|
||||
}
|
||||
@@ -490,6 +565,7 @@ void cnl_sst_dsp_cleanup(struct device *dev, struct skl_sst *ctx)
|
||||
@@ -491,6 +566,7 @@ void cnl_sst_dsp_cleanup(struct device *dev, struct skl_sst *ctx)
|
||||
cnl_ipc_free(&ctx->ipc);
|
||||
|
||||
ctx->dsp->ops->free(ctx->dsp);
|
||||
|
|
|
@ -16,10 +16,10 @@ Signed-off-by: Guneshwor Singh <guneshwor.o.singh@intel.com>
|
|||
1 file changed, 11 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index f7c832b300d0..2969e57e3e93 100644
|
||||
index 27884c176dc6..5eb5ba5e5806 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -533,21 +533,24 @@ int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
@@ -534,21 +534,24 @@ int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
cnl->boot_complete = false;
|
||||
init_waitqueue_head(&cnl->boot_wait);
|
||||
|
||||
|
|
|
@ -27,10 +27,10 @@ index 440bca7afbf1..924c0dfa6ad7 100644
|
|||
{
|
||||
struct snd_dma_buffer dmab;
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index 2969e57e3e93..a66ed94870b4 100644
|
||||
index 5eb5ba5e5806..b508426113a7 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -357,6 +357,7 @@ static const struct skl_dsp_fw_ops cnl_fw_ops = {
|
||||
@@ -358,6 +358,7 @@ static const struct skl_dsp_fw_ops cnl_fw_ops = {
|
||||
.set_state_D3 = cnl_set_dsp_D3,
|
||||
.load_fw = cnl_load_base_firmware,
|
||||
.get_fw_errcode = cnl_get_errno,
|
||||
|
@ -38,7 +38,7 @@ index 2969e57e3e93..a66ed94870b4 100644
|
|||
};
|
||||
|
||||
static struct sst_ops cnl_ops = {
|
||||
@@ -550,9 +551,18 @@ EXPORT_SYMBOL_GPL(cnl_sst_dsp_init);
|
||||
@@ -551,9 +552,18 @@ EXPORT_SYMBOL_GPL(cnl_sst_dsp_init);
|
||||
int cnl_sst_init_fw(struct device *dev, struct skl_sst *ctx)
|
||||
{
|
||||
struct sst_dsp *sst = ctx->dsp;
|
||||
|
|
|
@ -71,7 +71,7 @@ index 09bd218df5c4..323cebc4e389 100644
|
|||
void cnl_ipc_op_int_disable(struct sst_dsp *ctx);
|
||||
bool cnl_ipc_int_status(struct sst_dsp *ctx);
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index a66ed94870b4..335ec68b6a32 100644
|
||||
index b508426113a7..797a3053399d 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -27,6 +27,8 @@
|
||||
|
@ -83,7 +83,7 @@ index a66ed94870b4..335ec68b6a32 100644
|
|||
#include <asm/set_memory.h>
|
||||
|
||||
#include "../common/sst-dsp.h"
|
||||
@@ -497,6 +499,118 @@ static int cnl_ipc_init(struct device *dev, struct skl_sst *cnl)
|
||||
@@ -498,6 +500,118 @@ static int cnl_ipc_init(struct device *dev, struct skl_sst *cnl)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -202,7 +202,7 @@ index a66ed94870b4..335ec68b6a32 100644
|
|||
int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
const char *fw_name, struct skl_dsp_loader_ops dsp_ops,
|
||||
struct skl_sst **dsp)
|
||||
@@ -544,6 +658,12 @@ int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
@@ -545,6 +659,12 @@ int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -215,7 +215,7 @@ index a66ed94870b4..335ec68b6a32 100644
|
|||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(cnl_sst_dsp_init);
|
||||
@@ -575,6 +695,7 @@ void cnl_sst_dsp_cleanup(struct device *dev, struct skl_sst *ctx)
|
||||
@@ -576,6 +696,7 @@ void cnl_sst_dsp_cleanup(struct device *dev, struct skl_sst *ctx)
|
||||
release_firmware(ctx->dsp->fw);
|
||||
|
||||
skl_freeup_uuid_list(ctx);
|
||||
|
|
|
@ -13,10 +13,10 @@ Signed-off-by: Hardik T Shah <hardik.t.shah@intel.com>
|
|||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index 335ec68b6a32..c90870ee8a61 100644
|
||||
index 797a3053399d..e39e0702f7a2 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -509,7 +509,7 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
@@ -510,7 +510,7 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
struct cnl_sdw_data *p_data;
|
||||
int ret = 0, i, j;
|
||||
/* TODO: This number 4 should come from ACPI */
|
||||
|
|
|
@ -15,10 +15,10 @@ Signed-off-by: Hardik T Shah <hardik.t.shah@intel.com>
|
|||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index c90870ee8a61..e4d531680a5a 100644
|
||||
index e39e0702f7a2..4f13eb5e9fae 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -509,7 +509,12 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
@@ -510,7 +510,12 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
struct cnl_sdw_data *p_data;
|
||||
int ret = 0, i, j;
|
||||
/* TODO: This number 4 should come from ACPI */
|
||||
|
|
|
@ -14,10 +14,10 @@ Reviewed-on:
|
|||
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index e4d531680a5a..0caf9bf070a3 100644
|
||||
index 4f13eb5e9fae..191270e8ac49 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -509,8 +509,7 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
@@ -510,8 +510,7 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
struct cnl_sdw_data *p_data;
|
||||
int ret = 0, i, j;
|
||||
/* TODO: This number 4 should come from ACPI */
|
||||
|
@ -27,7 +27,7 @@ index e4d531680a5a..0caf9bf070a3 100644
|
|||
dsp->num_sdw_controllers = 3;
|
||||
#else
|
||||
dsp->num_sdw_controllers = 4;
|
||||
@@ -574,12 +573,19 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
@@ -575,12 +574,19 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
SDW_PORT_BLK_PKG_MODE_BLK_PER_PORT |
|
||||
SDW_PORT_BLK_PKG_MODE_BLK_PER_CH;
|
||||
}
|
||||
|
|
|
@ -14,10 +14,10 @@ Reviewed-on:
|
|||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index 0caf9bf070a3..f70d70d0822a 100644
|
||||
index 191270e8ac49..7acc3c19ae70 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -538,7 +538,8 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
@@ -539,7 +539,8 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
master[i].retries = CNL_SDW_MAX_CMD_RETRIES;
|
||||
m_cap->base_clk_freq = 9.6 * 1000 * 1000;
|
||||
strcpy(master[i].name, "cnl_sdw_mstr");
|
||||
|
|
|
@ -11,10 +11,10 @@ Signed-off-by: Omair M Abdullah <omair.m.abdullah@intel.com>
|
|||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
|
||||
index 96800b7c82f6..90a0af79f4f9 100644
|
||||
index 4e99d9986f11..6667da1bc9b8 100644
|
||||
--- a/sound/soc/soc-dapm.c
|
||||
+++ b/sound/soc/soc-dapm.c
|
||||
@@ -3762,7 +3762,8 @@ static int snd_soc_dai_link_event(struct snd_soc_dapm_widget *w,
|
||||
@@ -3763,7 +3763,8 @@ static int snd_soc_dai_link_event(struct snd_soc_dapm_widget *w,
|
||||
|
||||
switch (event) {
|
||||
case SND_SOC_DAPM_PRE_PMU:
|
||||
|
@ -24,7 +24,7 @@ index 96800b7c82f6..90a0af79f4f9 100644
|
|||
if (source->driver->ops->startup) {
|
||||
ret = source->driver->ops->startup(&substream, source);
|
||||
if (ret < 0) {
|
||||
@@ -3776,7 +3777,8 @@ static int snd_soc_dai_link_event(struct snd_soc_dapm_widget *w,
|
||||
@@ -3777,7 +3778,8 @@ static int snd_soc_dai_link_event(struct snd_soc_dapm_widget *w,
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ Tested-by: Shah, Hardik T <hardik.t.shah@intel.com>
|
|||
1 file changed, 18 insertions(+)
|
||||
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index f70d70d0822a..b82de714c916 100644
|
||||
index 7acc3c19ae70..911246d6f5d2 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -37,6 +37,7 @@
|
||||
|
@ -42,7 +42,7 @@ index f70d70d0822a..b82de714c916 100644
|
|||
/* Firmware status window */
|
||||
#define CNL_ADSP_FW_STATUS CNL_ADSP_SRAM0_BASE
|
||||
#define CNL_ADSP_ERROR_CODE (CNL_ADSP_FW_STATUS + 0x4)
|
||||
@@ -629,6 +638,8 @@ int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
@@ -630,6 +639,8 @@ int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
{
|
||||
struct skl_sst *cnl;
|
||||
struct sst_dsp *sst;
|
||||
|
@ -51,7 +51,7 @@ index f70d70d0822a..b82de714c916 100644
|
|||
int ret;
|
||||
|
||||
ret = skl_sst_ctx_init(dev, irq, fw_name, dsp_ops, dsp, &cnl_dev);
|
||||
@@ -651,6 +662,13 @@ int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
@@ -652,6 +663,13 @@ int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
CNL_ADSP_W0_UP_SZ, CNL_ADSP_SRAM1_BASE,
|
||||
CNL_ADSP_W1_SZ);
|
||||
|
||||
|
|
|
@ -7502,10 +7502,10 @@ index 312c0437ac15..23c1f6437cda 100644
|
|||
snd_mask_set(hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT),
|
||||
SNDRV_PCM_FORMAT_S16_LE);
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index b82de714c916..d888d31d0ea2 100644
|
||||
index 911246d6f5d2..02e4ccc5200a 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -516,7 +516,7 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
@@ -517,7 +517,7 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
struct sdw_mstr_dpn_capabilities *dpn_cap;
|
||||
struct sdw_master *master;
|
||||
struct cnl_sdw_data *p_data;
|
||||
|
@ -7514,7 +7514,7 @@ index b82de714c916..d888d31d0ea2 100644
|
|||
/* TODO: This number 4 should come from ACPI */
|
||||
#if defined(CONFIG_SDW_MAXIM_SLAVE) || defined(CONFIG_SND_SOC_MXFPGA)
|
||||
dsp->num_sdw_controllers = 3;
|
||||
@@ -561,14 +561,20 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
@@ -562,14 +562,20 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
if (!m_cap->sdw_dpn_cap)
|
||||
return -ENOMEM;
|
||||
for (j = 0; j < m_cap->num_data_ports; j++) {
|
||||
|
|
|
@ -46,7 +46,7 @@ index ed0a120d4f08..ff57e4c89de4 100644
|
|||
struct snd_interval {
|
||||
unsigned int min, max;
|
||||
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c
|
||||
index 7c12b0deb4eb..1180a0dbed69 100644
|
||||
index db62dbe7eaa8..56ab147c8429 100644
|
||||
--- a/sound/core/pcm_native.c
|
||||
+++ b/sound/core/pcm_native.c
|
||||
@@ -727,6 +727,8 @@ static int snd_pcm_hw_params(struct snd_pcm_substream *substream,
|
||||
|
@ -58,7 +58,7 @@ index 7c12b0deb4eb..1180a0dbed69 100644
|
|||
|
||||
bits = snd_pcm_format_physical_width(runtime->format);
|
||||
runtime->sample_bits = bits;
|
||||
@@ -2668,11 +2670,15 @@ static snd_pcm_sframes_t rewind_appl_ptr(struct snd_pcm_substream *substream,
|
||||
@@ -2673,11 +2675,15 @@ static snd_pcm_sframes_t rewind_appl_ptr(struct snd_pcm_substream *substream,
|
||||
static snd_pcm_sframes_t snd_pcm_rewind(struct snd_pcm_substream *substream,
|
||||
snd_pcm_uframes_t frames)
|
||||
{
|
||||
|
|
|
@ -42,10 +42,10 @@ index ff57e4c89de4..9120cce11265 100644
|
|||
#define SNDRV_PCM_INFO_DRAIN_TRIGGER 0x40000000 /* internal kernel flag - trigger in drain */
|
||||
#define SNDRV_PCM_INFO_FIFO_IN_FRAMES 0x80000000 /* internal kernel flag - FIFO size is in frames */
|
||||
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c
|
||||
index 1180a0dbed69..32f0964996b1 100644
|
||||
index 56ab147c8429..98beb1c08e24 100644
|
||||
--- a/sound/core/pcm_native.c
|
||||
+++ b/sound/core/pcm_native.c
|
||||
@@ -3486,21 +3486,38 @@ static int snd_pcm_mmap(struct file *file, struct vm_area_struct *area)
|
||||
@@ -3491,21 +3491,38 @@ static int snd_pcm_mmap(struct file *file, struct vm_area_struct *area)
|
||||
struct snd_pcm_file * pcm_file;
|
||||
struct snd_pcm_substream *substream;
|
||||
unsigned long offset;
|
||||
|
|
|
@ -14,10 +14,10 @@ Signed-off-by: Anil Bhawangirkar <anil.k.bhawangirkar@intel.com>
|
|||
1 file changed, 25 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index d888d31d0ea2..c5ad9fde2fed 100644
|
||||
index 02e4ccc5200a..c1a07bc973fc 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -511,7 +511,7 @@ static int cnl_ipc_init(struct device *dev, struct skl_sst *cnl)
|
||||
@@ -512,7 +512,7 @@ static int cnl_ipc_init(struct device *dev, struct skl_sst *cnl)
|
||||
static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
void __iomem *mmio_base, int irq)
|
||||
{
|
||||
|
@ -26,7 +26,7 @@ index d888d31d0ea2..c5ad9fde2fed 100644
|
|||
struct sdw_mstr_dp0_capabilities *dp0_cap;
|
||||
struct sdw_mstr_dpn_capabilities *dpn_cap;
|
||||
struct sdw_master *master;
|
||||
@@ -542,10 +542,21 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
@@ -543,10 +543,21 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
master[i].dev.platform_data = p_data;
|
||||
m_cap = &master[i].mstr_capabilities;
|
||||
dp0_cap = &m_cap->sdw_dp0_cap;
|
||||
|
@ -49,7 +49,7 @@ index d888d31d0ea2..c5ad9fde2fed 100644
|
|||
strcpy(master[i].name, "cnl_sdw_mstr");
|
||||
m_cap->highphy_capable = false;
|
||||
m_cap->monitor_handover_supported = false;
|
||||
@@ -562,7 +573,17 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
@@ -563,7 +574,17 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
return -ENOMEM;
|
||||
for (j = 0; j < m_cap->num_data_ports; j++) {
|
||||
dpn_cap = &m_cap->sdw_dpn_cap[j];
|
||||
|
@ -67,7 +67,7 @@ index d888d31d0ea2..c5ad9fde2fed 100644
|
|||
dpn_cap->port_direction = 0x3;
|
||||
dpn_cap->port_number = j;
|
||||
dpn_cap->max_word_length = 32;
|
||||
@@ -588,7 +609,9 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
@@ -589,7 +610,9 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
dpn_cap->block_packing_mode_mask =
|
||||
SDW_PORT_BLK_PKG_MODE_BLK_PER_PORT |
|
||||
SDW_PORT_BLK_PKG_MODE_BLK_PER_CH;
|
||||
|
|
|
@ -20,10 +20,10 @@ Signed-off-by: Anil Bhawangirkar <anil.k.bhawangirkar@intel.com>
|
|||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index c5ad9fde2fed..18be70b87728 100644
|
||||
index c1a07bc973fc..1e66a25fe59c 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -583,7 +583,12 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
@@ -584,7 +584,12 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
*/
|
||||
cnl_sdw_get_master_dev_caps(dev, map_data, j);
|
||||
/* Both Tx and Rx */
|
||||
|
|
|
@ -10,7 +10,7 @@ Signed-off-by: Guneshwor Singh <guneshwor.o.singh@intel.com>
|
|||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index 18be70b87728..a124dabc353a 100644
|
||||
index 1e66a25fe59c..1570f1350d30 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -288,6 +288,7 @@ static int cnl_set_dsp_D0(struct sst_dsp *ctx, unsigned int core_id)
|
||||
|
|
|
@ -14,10 +14,10 @@ Signed-off-by: Guneshwor Singh <guneshwor.o.singh@intel.com>
|
|||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index a124dabc353a..a81e1b032a96 100644
|
||||
index 1570f1350d30..bb722c55dcd3 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -509,6 +509,7 @@ static int cnl_ipc_init(struct device *dev, struct skl_sst *cnl)
|
||||
@@ -510,6 +510,7 @@ static int cnl_ipc_init(struct device *dev, struct skl_sst *cnl)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -25,7 +25,7 @@ index a124dabc353a..a81e1b032a96 100644
|
|||
static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
void __iomem *mmio_base, int irq)
|
||||
{
|
||||
@@ -655,6 +656,7 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
@@ -656,6 +657,7 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
cnl_sdw_int_enable(dsp->dsp, 1);
|
||||
return 0;
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ index a124dabc353a..a81e1b032a96 100644
|
|||
|
||||
static void skl_unregister_sdw_masters(struct skl_sst *ctx)
|
||||
{
|
||||
@@ -723,11 +725,13 @@ int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
@@ -724,11 +726,13 @@ int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -91,7 +91,7 @@ index 924c0dfa6ad7..2b169b40e6c4 100644
|
|||
return ret;
|
||||
}
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index a81e1b032a96..784d92df7ac3 100644
|
||||
index bb722c55dcd3..19e007e39c94 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -127,7 +127,8 @@ static int cnl_prepare_fw(struct sst_dsp *ctx, const void *fwdata, u32 fwsize)
|
||||
|
|
|
@ -41,10 +41,10 @@ index 323cebc4e389..5f0653b36308 100644
|
|||
void cnl_sst_dsp_cleanup(struct device *dev, struct skl_sst *ctx);
|
||||
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index 784d92df7ac3..ae3c6aa5557e 100644
|
||||
index 19e007e39c94..344454a0de3e 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -516,13 +516,14 @@ static int cnl_ipc_init(struct device *dev, struct skl_sst *cnl)
|
||||
@@ -517,13 +517,14 @@ static int cnl_ipc_init(struct device *dev, struct skl_sst *cnl)
|
||||
|
||||
#if IS_ENABLED(CONFIG_SND_SOC_RT700)
|
||||
static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
|
@ -60,7 +60,7 @@ index 784d92df7ac3..ae3c6aa5557e 100644
|
|||
int ret = 0, i, j, k, wl = 0;
|
||||
/* TODO: This number 4 should come from ACPI */
|
||||
#if defined(CONFIG_SDW_MAXIM_SLAVE) || defined(CONFIG_SND_SOC_MXFPGA)
|
||||
@@ -538,11 +539,18 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
@@ -539,11 +540,18 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
dsp->num_sdw_controllers = 0;
|
||||
}
|
||||
dsp->mstr = master;
|
||||
|
@ -79,7 +79,7 @@ index 784d92df7ac3..ae3c6aa5557e 100644
|
|||
/* PCI Device is parent of the SoundWire master device */
|
||||
/* TODO: All these hardcoding should come from ACPI */
|
||||
master[i].dev.parent = dev;
|
||||
@@ -651,6 +659,11 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
@@ -652,6 +660,11 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
p_data->alh_base = mmio_base + CNL_ALH_BASE;
|
||||
p_data->inst_id = i;
|
||||
p_data->irq = irq;
|
||||
|
@ -91,7 +91,7 @@ index 784d92df7ac3..ae3c6aa5557e 100644
|
|||
ret = sdw_add_master_controller(&master[i]);
|
||||
if (ret) {
|
||||
dev_err(dev, "Failed to register soundwire master\n");
|
||||
@@ -676,7 +689,7 @@ static void skl_unregister_sdw_masters(struct skl_sst *ctx)
|
||||
@@ -677,7 +690,7 @@ static void skl_unregister_sdw_masters(struct skl_sst *ctx)
|
||||
|
||||
int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
const char *fw_name, struct skl_dsp_loader_ops dsp_ops,
|
||||
|
@ -100,7 +100,7 @@ index 784d92df7ac3..ae3c6aa5557e 100644
|
|||
{
|
||||
struct skl_sst *cnl;
|
||||
struct sst_dsp *sst;
|
||||
@@ -731,7 +744,7 @@ int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
@@ -732,7 +745,7 @@ int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
}
|
||||
|
||||
#if IS_ENABLED(CONFIG_SND_SOC_RT700)
|
||||
|
|
|
@ -21,10 +21,10 @@ Reviewed-by: Kp, Jeeja <jeeja.kp@intel.com>
|
|||
2 files changed, 6 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index ae3c6aa5557e..790af2489d0e 100644
|
||||
index 344454a0de3e..ab7e5fe36673 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -526,11 +526,7 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
@@ -527,11 +527,7 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
struct cnl_bra_operation *p_ptr = ptr;
|
||||
int ret = 0, i, j, k, wl = 0;
|
||||
/* TODO: This number 4 should come from ACPI */
|
||||
|
@ -36,7 +36,7 @@ index ae3c6aa5557e..790af2489d0e 100644
|
|||
master = devm_kzalloc(dev,
|
||||
(sizeof(*master) * dsp->num_sdw_controllers),
|
||||
GFP_KERNEL);
|
||||
@@ -636,18 +632,18 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
@@ -637,18 +633,18 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
switch (i) {
|
||||
case 0:
|
||||
p_data->sdw_regs = mmio_base + CNL_SDW_LINK_0_BASE;
|
||||
|
|
|
@ -21,7 +21,7 @@ Tested-by: Sm, Bhadur A <bhadur.a.sm@intel.com>
|
|||
1 file changed, 17 insertions(+)
|
||||
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index 790af2489d0e..d5e2c32b3f83 100644
|
||||
index ab7e5fe36673..bdbbf3d63f86 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -209,8 +209,10 @@ static int cnl_load_base_firmware(struct sst_dsp *ctx)
|
||||
|
|
|
@ -55,10 +55,10 @@ index 6f9b24c8c211..c1f6d8b6ab79 100644
|
|||
int ret;
|
||||
struct skl_ipc_d0ix_msg msg;
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index d5e2c32b3f83..5ee7b350eb7f 100644
|
||||
index bdbbf3d63f86..e4f7a643252b 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -389,6 +389,8 @@ static unsigned int cnl_get_errno(struct sst_dsp *ctx)
|
||||
@@ -390,6 +390,8 @@ static unsigned int cnl_get_errno(struct sst_dsp *ctx)
|
||||
static const struct skl_dsp_fw_ops cnl_fw_ops = {
|
||||
.set_state_D0 = cnl_set_dsp_D0,
|
||||
.set_state_D3 = cnl_set_dsp_D3,
|
||||
|
@ -67,7 +67,7 @@ index d5e2c32b3f83..5ee7b350eb7f 100644
|
|||
.load_fw = cnl_load_base_firmware,
|
||||
.get_fw_errcode = cnl_get_errno,
|
||||
.load_library = bxt_load_library,
|
||||
@@ -743,9 +745,14 @@ int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
@@ -744,9 +746,14 @@ int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ Signed-off-by: Diwakar, Praveen <praveen.diwakar@intel.com>
|
|||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index 5ee7b350eb7f..9441a724ea59 100644
|
||||
index e4f7a643252b..dbb09283e88e 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -272,6 +272,16 @@ static int cnl_load_base_firmware(struct sst_dsp *ctx)
|
||||
|
|
|
@ -14,10 +14,10 @@ Signed-off-by: Guneshwor Singh <guneshwor.o.singh@intel.com>
|
|||
1 file changed, 6 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index 9441a724ea59..c99b2c931202 100644
|
||||
index dbb09283e88e..b84957d1e8a2 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -755,14 +755,9 @@ int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
@@ -756,14 +756,9 @@ int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,7 @@ index 9441a724ea59..c99b2c931202 100644
|
|||
ret = skl_dsp_acquire_irq(sst);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
@@ -773,6 +768,12 @@ int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
@@ -774,6 +769,12 @@ int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -19,10 +19,10 @@ Tested-by: Sm, Bhadur A <bhadur.a.sm@intel.com>
|
|||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index c99b2c931202..813cd73545e4 100644
|
||||
index b84957d1e8a2..4aa65f4e313d 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -638,6 +638,8 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
@@ -639,6 +639,8 @@ static int skl_register_sdw_masters(struct device *dev, struct skl_sst *dsp,
|
||||
dpn_cap->word_length_buffer =
|
||||
kzalloc(((sizeof(unsigned int)) *
|
||||
dpn_cap->num_word_length), GFP_KERNEL);
|
||||
|
|
|
@ -23,7 +23,7 @@ Tested-by: Madiwalar, MadiwalappaX <madiwalappax.madiwalar@intel.com>
|
|||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index 813cd73545e4..ea7bec1ad073 100644
|
||||
index 4aa65f4e313d..bfc4da85c043 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -30,6 +30,7 @@
|
||||
|
|
|
@ -54,10 +54,10 @@ index dd5453daa562..2eb57d75f1b1 100644
|
|||
if (ret < 0) {
|
||||
dev_err(dev, "Load base fw failed: %x\n", ret);
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index ea7bec1ad073..df42b2157b21 100644
|
||||
index bfc4da85c043..59448c1ba37c 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -795,6 +795,13 @@ int cnl_sst_init_fw(struct device *dev, struct skl_sst *ctx)
|
||||
@@ -796,6 +796,13 @@ int cnl_sst_init_fw(struct device *dev, struct skl_sst *ctx)
|
||||
struct sst_dsp *sst = ctx->dsp;
|
||||
int ret;
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ Tested-by: Madiwalar, MadiwalappaX <madiwalappax.madiwalar@intel.com>
|
|||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
|
||||
index a0d1ce0edaf9..8a8ed30cb514 100644
|
||||
index af14304645ce..f0408a350cba 100644
|
||||
--- a/sound/soc/soc-pcm.c
|
||||
+++ b/sound/soc/soc-pcm.c
|
||||
@@ -1623,6 +1623,8 @@ int dpcm_be_dai_startup(struct snd_soc_pcm_runtime *fe, int stream)
|
||||
|
|
|
@ -39,7 +39,7 @@ index 859f0de00339..92150322496c 100644
|
|||
|
||||
/*
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index df42b2157b21..19398e200cb0 100644
|
||||
index 59448c1ba37c..c5a89c3e4eb6 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -212,49 +212,56 @@ static int cnl_load_base_firmware(struct sst_dsp *ctx)
|
||||
|
|
|
@ -94,7 +94,7 @@ index 5f0653b36308..7bc24ee5eecc 100644
|
|||
int cnl_sst_init_fw(struct device *dev, struct skl_sst *ctx);
|
||||
void cnl_sst_dsp_cleanup(struct device *dev, struct skl_sst *ctx);
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index 19398e200cb0..52565423c83e 100644
|
||||
index c5a89c3e4eb6..b6672f9c6bba 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -273,6 +273,10 @@ static int cnl_load_base_firmware(struct sst_dsp *ctx)
|
||||
|
@ -108,7 +108,7 @@ index 19398e200cb0..52565423c83e 100644
|
|||
fw_property = cnl->fw_property;
|
||||
if (fw_property.memory_reclaimed <= 0) {
|
||||
dev_err(ctx->dev, "Memory reclaim not enabled:%d\n",
|
||||
@@ -725,22 +729,25 @@ static void skl_unregister_sdw_masters(struct skl_sst *ctx)
|
||||
@@ -726,22 +730,25 @@ static void skl_unregister_sdw_masters(struct skl_sst *ctx)
|
||||
}
|
||||
|
||||
int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
|
|
|
@ -579,7 +579,7 @@ index db823eb92126..5d1cbe428472 100644
|
|||
#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_CNL_FPGA)
|
||||
skl_dmic_data.dmic_num = skl_get_dmic_geo(skl);
|
||||
diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
|
||||
index 8a8ed30cb514..beb226f6e066 100644
|
||||
index f0408a350cba..0d03cd870a8a 100644
|
||||
--- a/sound/soc/soc-pcm.c
|
||||
+++ b/sound/soc/soc-pcm.c
|
||||
@@ -863,7 +863,7 @@ int soc_dai_hw_params(struct snd_pcm_substream *substream,
|
||||
|
|
|
@ -82,7 +82,7 @@ index 7bc24ee5eecc..5f0653b36308 100644
|
|||
int cnl_sst_init_fw(struct device *dev, struct skl_sst *ctx);
|
||||
void cnl_sst_dsp_cleanup(struct device *dev, struct skl_sst *ctx);
|
||||
diff --git a/sound/soc/intel/skylake/cnl-sst.c b/sound/soc/intel/skylake/cnl-sst.c
|
||||
index 52565423c83e..19398e200cb0 100644
|
||||
index b6672f9c6bba..c5a89c3e4eb6 100644
|
||||
--- a/sound/soc/intel/skylake/cnl-sst.c
|
||||
+++ b/sound/soc/intel/skylake/cnl-sst.c
|
||||
@@ -273,10 +273,6 @@ static int cnl_load_base_firmware(struct sst_dsp *ctx)
|
||||
|
@ -96,7 +96,7 @@ index 52565423c83e..19398e200cb0 100644
|
|||
fw_property = cnl->fw_property;
|
||||
if (fw_property.memory_reclaimed <= 0) {
|
||||
dev_err(ctx->dev, "Memory reclaim not enabled:%d\n",
|
||||
@@ -729,25 +725,22 @@ static void skl_unregister_sdw_masters(struct skl_sst *ctx)
|
||||
@@ -730,25 +726,22 @@ static void skl_unregister_sdw_masters(struct skl_sst *ctx)
|
||||
}
|
||||
|
||||
int cnl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
|
||||
|
|
|
@ -21,7 +21,7 @@ Tested-by: Dong, Eddie <eddie.dong@intel.com>
|
|||
1 file changed, 69 insertions(+)
|
||||
|
||||
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
|
||||
index 9a5b6a8e2502..eea4fd4b30e7 100644
|
||||
index 113b7bdf86dd..861f640c282f 100644
|
||||
--- a/drivers/pci/probe.c
|
||||
+++ b/drivers/pci/probe.c
|
||||
@@ -42,6 +42,70 @@ struct pci_domain_busn_res {
|
||||
|
@ -95,7 +95,7 @@ index 9a5b6a8e2502..eea4fd4b30e7 100644
|
|||
static struct resource *get_pci_domain_busn_res(int domain_nr)
|
||||
{
|
||||
struct pci_domain_busn_res *r;
|
||||
@@ -2530,6 +2594,11 @@ struct pci_dev *pci_scan_single_device(struct pci_bus *bus, int devfn)
|
||||
@@ -2531,6 +2595,11 @@ struct pci_dev *pci_scan_single_device(struct pci_bus *bus, int devfn)
|
||||
return dev;
|
||||
}
|
||||
|
||||
|
|
|
@ -43,10 +43,10 @@ index 0038a2d10a7a..466219296cd6 100644
|
|||
obj-$(subst m,y,$(CONFIG_HYPERV)) += hyperv/
|
||||
|
||||
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
|
||||
index f9139407fdb5..2a3c348f3ca1 100644
|
||||
index 58e65440a9fd..19a420e40e9a 100644
|
||||
--- a/arch/x86/Kconfig
|
||||
+++ b/arch/x86/Kconfig
|
||||
@@ -778,6 +778,8 @@ config QUEUED_LOCK_STAT
|
||||
@@ -779,6 +779,8 @@ config QUEUED_LOCK_STAT
|
||||
behavior of paravirtualized queued spinlocks and report
|
||||
them on debugfs.
|
||||
|
||||
|
|
|
@ -155,7 +155,7 @@ index 23a363fd4c59..5f0d8827645d 100644
|
|||
struct pci_dev *dev = msi_desc_to_pci_dev(entry);
|
||||
|
||||
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
|
||||
index e9ede82ee2c2..77c831f33f58 100644
|
||||
index 39725b71300f..5ff2488aa8cc 100644
|
||||
--- a/drivers/pci/pci.h
|
||||
+++ b/drivers/pci/pci.h
|
||||
@@ -170,6 +170,8 @@ static inline void pci_msix_clear_and_set_ctrl(struct pci_dev *dev, u16 clear, u
|
||||
|
@ -316,10 +316,10 @@ index 000000000000..73affd60fc46
|
|||
+ entry->msg = *msg;
|
||||
+}
|
||||
diff --git a/include/linux/msi.h b/include/linux/msi.h
|
||||
index be8ec813dbfb..9b0de9ed5387 100644
|
||||
index 5dd171849a27..2dd6c83b991c 100644
|
||||
--- a/include/linux/msi.h
|
||||
+++ b/include/linux/msi.h
|
||||
@@ -141,7 +141,15 @@ struct msi_desc *alloc_msi_entry(struct device *dev, int nvec,
|
||||
@@ -147,7 +147,15 @@ struct msi_desc *alloc_msi_entry(struct device *dev, int nvec,
|
||||
const struct cpumask *affinity);
|
||||
void free_msi_entry(struct msi_desc *entry);
|
||||
void __pci_read_msi_msg(struct msi_desc *entry, struct msi_msg *msg);
|
||||
|
|
|
@ -263,7 +263,7 @@ index f6dfc8b795ec..11a75d69062d 100644
|
|||
|
||||
enum gmbus_cycle_type {
|
||||
diff --git a/drivers/gpu/drm/i915/gvt/gvt.c b/drivers/gpu/drm/i915/gvt/gvt.c
|
||||
index 46c8b720e336..8523fbc1e494 100644
|
||||
index 3e3876d141ce..383281a26a2f 100644
|
||||
--- a/drivers/gpu/drm/i915/gvt/gvt.c
|
||||
+++ b/drivers/gpu/drm/i915/gvt/gvt.c
|
||||
@@ -301,6 +301,46 @@ static int init_service_thread(struct intel_gvt *gvt)
|
||||
|
@ -524,7 +524,7 @@ index b1154d803564..1c96e927e91a 100644
|
|||
void intel_edp_drrs_enable(struct intel_dp *intel_dp,
|
||||
const struct intel_crtc_state *crtc_state);
|
||||
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
|
||||
index 8d731eb1de69..607500b78c72 100644
|
||||
index aa8d2aca0f02..0fc9fdc4b4a0 100644
|
||||
--- a/drivers/gpu/drm/i915/intel_pm.c
|
||||
+++ b/drivers/gpu/drm/i915/intel_pm.c
|
||||
@@ -33,6 +33,10 @@
|
||||
|
|
|
@ -26,7 +26,7 @@ Tested-by: Dong, Eddie <eddie.dong@intel.com>
|
|||
5 files changed, 31 insertions(+)
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/gvt/gvt.c b/drivers/gpu/drm/i915/gvt/gvt.c
|
||||
index 8523fbc1e494..25e0a58a24a5 100644
|
||||
index 383281a26a2f..8091582adbb5 100644
|
||||
--- a/drivers/gpu/drm/i915/gvt/gvt.c
|
||||
+++ b/drivers/gpu/drm/i915/gvt/gvt.c
|
||||
@@ -511,6 +511,14 @@ int intel_gvt_init_device(struct drm_i915_private *dev_priv)
|
||||
|
|
|
@ -1044,7 +1044,7 @@ index 000000000000..0799df2ec557
|
|||
+
|
||||
+#endif
|
||||
diff --git a/drivers/gpu/drm/i915/gvt/gvt.c b/drivers/gpu/drm/i915/gvt/gvt.c
|
||||
index 25e0a58a24a5..6261af450ee4 100644
|
||||
index 8091582adbb5..a2babbe1f445 100644
|
||||
--- a/drivers/gpu/drm/i915/gvt/gvt.c
|
||||
+++ b/drivers/gpu/drm/i915/gvt/gvt.c
|
||||
@@ -44,6 +44,7 @@ struct intel_gvt_host intel_gvt_host;
|
||||
|
|
|
@ -23,7 +23,7 @@ Tested-by: Dong, Eddie <eddie.dong@intel.com>
|
|||
3 files changed, 22 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/gvt/gvt.c b/drivers/gpu/drm/i915/gvt/gvt.c
|
||||
index 6261af450ee4..e4a3823e1226 100644
|
||||
index a2babbe1f445..290b41d35ad9 100644
|
||||
--- a/drivers/gpu/drm/i915/gvt/gvt.c
|
||||
+++ b/drivers/gpu/drm/i915/gvt/gvt.c
|
||||
@@ -248,6 +248,8 @@ static void init_device_info(struct intel_gvt *gvt)
|
||||
|
|
|
@ -62,7 +62,7 @@ index 9c76cab07010..82ab32e87805 100644
|
|||
};
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
|
||||
index 607500b78c72..81900532f7ff 100644
|
||||
index 0fc9fdc4b4a0..bf08b3bc6741 100644
|
||||
--- a/drivers/gpu/drm/i915/intel_pm.c
|
||||
+++ b/drivers/gpu/drm/i915/intel_pm.c
|
||||
@@ -5008,6 +5008,70 @@ static void skl_write_wm_level(struct drm_i915_private *dev_priv,
|
||||
|
|
|
@ -22,7 +22,7 @@ Reviewed-by: Fei Jiang <fei.jiang@intel.com>
|
|||
3 files changed, 23 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/gvt/gvt.c b/drivers/gpu/drm/i915/gvt/gvt.c
|
||||
index e4a3823e1226..940443f08dfd 100644
|
||||
index 290b41d35ad9..b80f510427b7 100644
|
||||
--- a/drivers/gpu/drm/i915/gvt/gvt.c
|
||||
+++ b/drivers/gpu/drm/i915/gvt/gvt.c
|
||||
@@ -317,22 +317,27 @@ void intel_gvt_init_pipe_info(struct intel_gvt *gvt);
|
||||
|
@ -80,7 +80,7 @@ index 9344293ed692..f4d9056175ae 100644
|
|||
enum {
|
||||
GVT_FAILSAFE_UNSUPPORTED_GUEST,
|
||||
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
|
||||
index 81900532f7ff..220990e23ac5 100644
|
||||
index bf08b3bc6741..6f27daf76ef5 100644
|
||||
--- a/drivers/gpu/drm/i915/intel_pm.c
|
||||
+++ b/drivers/gpu/drm/i915/intel_pm.c
|
||||
@@ -5259,9 +5259,18 @@ skl_compute_ddb(struct drm_atomic_state *state)
|
||||
|
|
|
@ -332,7 +332,7 @@ index 77c123cc8817..83ed6f56ed56 100644
|
|||
|
||||
static void ibx_set_fifo_underrun_reporting(struct drm_device *dev,
|
||||
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
|
||||
index 220990e23ac5..96a0269e80b3 100644
|
||||
index 6f27daf76ef5..62d8ab6aabab 100644
|
||||
--- a/drivers/gpu/drm/i915/intel_pm.c
|
||||
+++ b/drivers/gpu/drm/i915/intel_pm.c
|
||||
@@ -3757,7 +3757,6 @@ bool intel_can_enable_sagv(struct drm_atomic_state *state)
|
||||
|
|
|
@ -27,10 +27,10 @@ Change-Id: Ie16c4bdd19a3df25ca5c4241ded12b87ca5a106a
|
|||
8 files changed, 71 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
|
||||
index c22062cc9992..9390a332ad65 100644
|
||||
index 6060b69fa618..44ed41c19baa 100644
|
||||
--- a/drivers/gpu/drm/drm_atomic_helper.c
|
||||
+++ b/drivers/gpu/drm/drm_atomic_helper.c
|
||||
@@ -1074,7 +1074,7 @@ drm_atomic_helper_update_legacy_modeset_state(struct drm_device *dev,
|
||||
@@ -1093,7 +1093,7 @@ drm_atomic_helper_update_legacy_modeset_state(struct drm_device *dev,
|
||||
crtc->enabled = new_crtc_state->enable;
|
||||
|
||||
new_plane_state =
|
||||
|
@ -39,7 +39,7 @@ index c22062cc9992..9390a332ad65 100644
|
|||
|
||||
if (new_plane_state && new_plane_state->crtc == crtc) {
|
||||
crtc->x = new_plane_state->src_x >> 16;
|
||||
@@ -2939,6 +2939,9 @@ int __drm_atomic_helper_set_config(struct drm_mode_set *set,
|
||||
@@ -2958,6 +2958,9 @@ int __drm_atomic_helper_set_config(struct drm_mode_set *set,
|
||||
int hdisplay, vdisplay;
|
||||
int ret;
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@ index 2a13e739569d..7398d6560cf5 100644
|
|||
port = enc_to_dig_port(
|
||||
&(connector->encoder->base))->base.port;
|
||||
diff --git a/drivers/gpu/drm/i915/gvt/gvt.c b/drivers/gpu/drm/i915/gvt/gvt.c
|
||||
index 940443f08dfd..3105afe1a6e5 100644
|
||||
index b80f510427b7..7e6c459739ee 100644
|
||||
--- a/drivers/gpu/drm/i915/gvt/gvt.c
|
||||
+++ b/drivers/gpu/drm/i915/gvt/gvt.c
|
||||
@@ -389,6 +389,12 @@ void intel_gvt_clean_device(struct drm_i915_private *dev_priv)
|
||||
|
@ -628,7 +628,7 @@ index a4b6325c219e..3ed637377ed7 100644
|
|||
const struct intel_crtc_state *crtc_state,
|
||||
const struct intel_plane_state *plane_state);
|
||||
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
|
||||
index 96a0269e80b3..b4cdb3d85354 100644
|
||||
index 62d8ab6aabab..b395f1f8802f 100644
|
||||
--- a/drivers/gpu/drm/i915/intel_pm.c
|
||||
+++ b/drivers/gpu/drm/i915/intel_pm.c
|
||||
@@ -815,11 +815,14 @@ static int intel_wm_num_levels(struct drm_i915_private *dev_priv)
|
||||
|
|
|
@ -54,7 +54,7 @@ Reviewed-by: Jiang, Fei <fei.jiang@intel.com>
|
|||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
|
||||
index b4cdb3d85354..2cadc471425f 100644
|
||||
index b395f1f8802f..4e3af2424028 100644
|
||||
--- a/drivers/gpu/drm/i915/intel_pm.c
|
||||
+++ b/drivers/gpu/drm/i915/intel_pm.c
|
||||
@@ -3810,6 +3810,7 @@ bool intel_can_enable_sagv(struct drm_atomic_state *state)
|
||||
|
|
|
@ -14,7 +14,7 @@ Signed-off-by: Satyeshwar Singh <satyeshwar.singh@intel.com>
|
|||
1 file changed, 55 insertions(+), 51 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
|
||||
index 2cadc471425f..36ba0394f6ca 100644
|
||||
index 4e3af2424028..968ac86159f2 100644
|
||||
--- a/drivers/gpu/drm/i915/intel_pm.c
|
||||
+++ b/drivers/gpu/drm/i915/intel_pm.c
|
||||
@@ -4944,13 +4944,63 @@ static void skl_compute_transition_wm(struct intel_crtc_state *cstate,
|
||||
|
|
|
@ -15,7 +15,7 @@ Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
|
|||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
|
||||
index 36ba0394f6ca..b218b1a2c7f8 100644
|
||||
index 968ac86159f2..54979509e44c 100644
|
||||
--- a/drivers/gpu/drm/i915/intel_pm.c
|
||||
+++ b/drivers/gpu/drm/i915/intel_pm.c
|
||||
@@ -4554,6 +4554,11 @@ skl_compute_plane_wm_params(const struct drm_i915_private *dev_priv,
|
||||
|
|
|
@ -51,7 +51,7 @@ index d73183a23c7d..f3a65581b9fb 100644
|
|||
case DRM_FORMAT_RGB565:
|
||||
case DRM_FORMAT_XBGR8888:
|
||||
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
|
||||
index b218b1a2c7f8..dcf4941aeb9a 100644
|
||||
index 54979509e44c..39cef1485a2e 100644
|
||||
--- a/drivers/gpu/drm/i915/intel_pm.c
|
||||
+++ b/drivers/gpu/drm/i915/intel_pm.c
|
||||
@@ -824,6 +824,11 @@ static bool intel_wm_plane_visible(const struct intel_crtc_state *crtc_state,
|
||||
|
|
|
@ -34,7 +34,7 @@ index 06e01d87d76a..9929ab59774b 100644
|
|||
* Wrapper type for pointers to code which uses the non-standard
|
||||
* calling convention. See PV_CALL_SAVE_REGS_THUNK below.
|
||||
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
|
||||
index 77c831f33f58..0dc0c1822049 100644
|
||||
index 5ff2488aa8cc..a0a5483a62da 100644
|
||||
--- a/drivers/pci/pci.h
|
||||
+++ b/drivers/pci/pci.h
|
||||
@@ -9,6 +9,8 @@
|
||||
|
|
|
@ -1313,7 +1313,7 @@ index 83e5e01fa9ea..338709b6640e 100644
|
|||
struct drm_dma_handle *phys_handle;
|
||||
|
||||
diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c b/drivers/gpu/drm/i915/i915_gpu_error.c
|
||||
index a262a64f5625..a803449498f8 100644
|
||||
index ba24ac698e8b..550359f8c351 100644
|
||||
--- a/drivers/gpu/drm/i915/i915_gpu_error.c
|
||||
+++ b/drivers/gpu/drm/i915/i915_gpu_error.c
|
||||
@@ -91,6 +91,13 @@ static bool __i915_error_ok(struct drm_i915_error_state_buf *e)
|
||||
|
@ -1339,7 +1339,7 @@ index a262a64f5625..a803449498f8 100644
|
|||
const char *str)
|
||||
{
|
||||
unsigned len;
|
||||
@@ -871,6 +878,22 @@ int i915_error_state_buf_init(struct drm_i915_error_state_buf *ebuf,
|
||||
@@ -874,6 +881,22 @@ int i915_error_state_buf_init(struct drm_i915_error_state_buf *ebuf,
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ Signed-off-by: Romli, Khairul Anuar <khairul.anuar.romli@intel.com>
|
|||
4 files changed, 115 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
|
||||
index 1a4b44923aec..6df269924ac1 100644
|
||||
index 281cf9cbb44c..c52be07dbac7 100644
|
||||
--- a/drivers/gpu/drm/drm_atomic.c
|
||||
+++ b/drivers/gpu/drm/drm_atomic.c
|
||||
@@ -1511,11 +1511,9 @@ drm_atomic_connector_get_property(struct drm_connector *connector,
|
||||
|
@ -44,7 +44,7 @@ index 1a4b44923aec..6df269924ac1 100644
|
|||
return connector->funcs->atomic_get_property(connector,
|
||||
state, property, val);
|
||||
diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
|
||||
index 6011d769d50b..8b21a017edaa 100644
|
||||
index 7bb68ca4aa0b..a729c800af43 100644
|
||||
--- a/drivers/gpu/drm/drm_connector.c
|
||||
+++ b/drivers/gpu/drm/drm_connector.c
|
||||
@@ -241,6 +241,7 @@ int drm_connector_init(struct drm_device *dev,
|
||||
|
@ -55,7 +55,7 @@ index 6011d769d50b..8b21a017edaa 100644
|
|||
connector->status = connector_status_unknown;
|
||||
connector->display_info.panel_orientation =
|
||||
DRM_MODE_PANEL_ORIENTATION_UNKNOWN;
|
||||
@@ -1346,6 +1347,42 @@ int drm_connector_attach_content_protection_property(
|
||||
@@ -1347,6 +1348,42 @@ int drm_connector_attach_content_protection_property(
|
||||
}
|
||||
EXPORT_SYMBOL(drm_connector_attach_content_protection_property);
|
||||
|
||||
|
@ -98,7 +98,7 @@ index 6011d769d50b..8b21a017edaa 100644
|
|||
/**
|
||||
* drm_mode_create_aspect_ratio_property - create aspect ratio property
|
||||
* @dev: DRM device
|
||||
@@ -1578,6 +1615,38 @@ void drm_connector_set_link_status_property(struct drm_connector *connector,
|
||||
@@ -1579,6 +1616,38 @@ void drm_connector_set_link_status_property(struct drm_connector *connector,
|
||||
}
|
||||
EXPORT_SYMBOL(drm_connector_set_link_status_property);
|
||||
|
||||
|
@ -138,10 +138,10 @@ index 6011d769d50b..8b21a017edaa 100644
|
|||
* drm_connector_init_panel_orientation_property -
|
||||
* initialize the connecters panel_orientation property
|
||||
diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
|
||||
index 97ea41dc678f..9fd96c96d598 100644
|
||||
index e5f641cdab5a..e268f80578fe 100644
|
||||
--- a/include/drm/drm_connector.h
|
||||
+++ b/include/drm/drm_connector.h
|
||||
@@ -915,6 +915,13 @@ struct drm_connector {
|
||||
@@ -964,6 +964,13 @@ struct drm_connector {
|
||||
*/
|
||||
struct drm_property *content_protection_property;
|
||||
|
||||
|
@ -155,7 +155,7 @@ index 97ea41dc678f..9fd96c96d598 100644
|
|||
/**
|
||||
* @path_blob_ptr:
|
||||
*
|
||||
@@ -1184,20 +1191,24 @@ int drm_connector_attach_scaling_mode_property(struct drm_connector *connector,
|
||||
@@ -1251,20 +1258,24 @@ int drm_connector_attach_scaling_mode_property(struct drm_connector *connector,
|
||||
u32 scaling_mode_mask);
|
||||
int drm_connector_attach_content_protection_property(
|
||||
struct drm_connector *connector);
|
||||
|
|
|
@ -20,7 +20,7 @@ Signed-off-by: Romli, Khairul Anuar <khairul.anuar.romli@intel.com>
|
|||
3 files changed, 52 insertions(+)
|
||||
|
||||
diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
|
||||
index 6df269924ac1..5c6eb8954a9d 100644
|
||||
index c52be07dbac7..4dac6f035c61 100644
|
||||
--- a/drivers/gpu/drm/drm_atomic.c
|
||||
+++ b/drivers/gpu/drm/drm_atomic.c
|
||||
@@ -1421,6 +1421,8 @@ static int drm_atomic_connector_set_property(struct drm_connector *connector,
|
||||
|
@ -42,10 +42,10 @@ index 6df269924ac1..5c6eb8954a9d 100644
|
|||
*val = connector->cp_downstream_blob_ptr ?
|
||||
connector->cp_downstream_blob_ptr->base.id : 0;
|
||||
diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
|
||||
index 8b21a017edaa..60858b76374c 100644
|
||||
index a729c800af43..27f7375b4f34 100644
|
||||
--- a/drivers/gpu/drm/drm_connector.c
|
||||
+++ b/drivers/gpu/drm/drm_connector.c
|
||||
@@ -1383,6 +1383,41 @@ int drm_connector_attach_cp_downstream_property(
|
||||
@@ -1384,6 +1384,41 @@ int drm_connector_attach_cp_downstream_property(
|
||||
}
|
||||
EXPORT_SYMBOL(drm_connector_attach_cp_downstream_property);
|
||||
|
||||
|
@ -88,10 +88,10 @@ index 8b21a017edaa..60858b76374c 100644
|
|||
* drm_mode_create_aspect_ratio_property - create aspect ratio property
|
||||
* @dev: DRM device
|
||||
diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
|
||||
index 9fd96c96d598..dc5f4d217bc0 100644
|
||||
index e268f80578fe..46d9aa4086d4 100644
|
||||
--- a/include/drm/drm_connector.h
|
||||
+++ b/include/drm/drm_connector.h
|
||||
@@ -460,6 +460,12 @@ struct drm_connector_state {
|
||||
@@ -507,6 +507,12 @@ struct drm_connector_state {
|
||||
* drm_writeback_signal_completion()
|
||||
*/
|
||||
struct drm_writeback_job *writeback_job;
|
||||
|
@ -104,7 +104,7 @@ index 9fd96c96d598..dc5f4d217bc0 100644
|
|||
};
|
||||
|
||||
/**
|
||||
@@ -922,6 +928,12 @@ struct drm_connector {
|
||||
@@ -971,6 +977,12 @@ struct drm_connector {
|
||||
struct drm_property *cp_downstream_property;
|
||||
struct drm_property_blob *cp_downstream_blob_ptr;
|
||||
|
||||
|
@ -117,7 +117,7 @@ index 9fd96c96d598..dc5f4d217bc0 100644
|
|||
/**
|
||||
* @path_blob_ptr:
|
||||
*
|
||||
@@ -1193,6 +1205,7 @@ int drm_connector_attach_content_protection_property(
|
||||
@@ -1260,6 +1272,7 @@ int drm_connector_attach_content_protection_property(
|
||||
struct drm_connector *connector);
|
||||
int drm_connector_attach_cp_downstream_property(
|
||||
struct drm_connector *connector);
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue