aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Tjin <pattjin@google.com>2016-09-19 15:27:21 -0700
committerPatrick Tjin <pattjin@google.com>2016-09-19 15:27:21 -0700
commit9f039ba04119aaf3be238ee4ead6be156982327c (patch)
treed4e4725d47a293fcc02ee5e4b1210ac29da31007
parentede039cad8451f6d5e9bc406146cfb11f7168833 (diff)
parent5d38846148bdb8ee4199c653cde302a457dde52b (diff)
Merge branch 'android-msm-shamu-3.10-nyc-security-next' into android-msm-shamu-3.10-nycandroid-7.0.0_r0.35
November 2016.1
-rw-r--r--arch/arm/configs/shamu_defconfig7
-rw-r--r--arch/arm/mach-msm/smp2p.c6
-rw-r--r--arch/arm/mach-msm/smp2p_debug.c4
-rw-r--r--arch/arm/mach-msm/smp2p_gpio.c2
-rw-r--r--arch/arm/mach-msm/smp2p_test.c2
-rw-r--r--block/genhd.c1
-rw-r--r--drivers/crypto/msm/qcedev.c68
-rw-r--r--drivers/crypto/msm/qcrypto.c6
-rw-r--r--drivers/hid/hid-core.c3
-rw-r--r--drivers/media/platform/msm/camera_v2/sensor/io/msm_camera_cci_i2c.c14
-rw-r--r--drivers/media/platform/msm/camera_v2/sensor/io/msm_camera_qup_i2c.c47
-rw-r--r--drivers/media/platform/msm/vidc/hfi_packetization.c4
-rw-r--r--drivers/media/platform/msm/vidc/hfi_response_handler.c12
-rw-r--r--drivers/media/platform/msm/vidc/msm_smem.c20
-rw-r--r--drivers/media/platform/msm/vidc/msm_v4l2_vidc.c4
-rw-r--r--drivers/media/platform/msm/vidc/msm_vdec.c32
-rw-r--r--drivers/media/platform/msm/vidc/msm_venc.c26
-rw-r--r--drivers/media/platform/msm/vidc/msm_vidc.c32
-rw-r--r--drivers/media/platform/msm/vidc/msm_vidc_common.c132
-rw-r--r--drivers/media/platform/msm/vidc/msm_vidc_debug.c16
-rw-r--r--drivers/media/platform/msm/vidc/q6_hfi.c18
-rw-r--r--drivers/media/platform/msm/vidc/venus_hfi.c72
-rw-r--r--drivers/media/platform/msm/vidc/vidc_hfi.c2
-rw-r--r--drivers/misc/qcom/qdsp6v2/audio_utils.c14
-rw-r--r--drivers/misc/qseecom.c4
-rw-r--r--drivers/staging/android/ion/ion_heap.c8
-rw-r--r--drivers/tty/tty_ldisc.c7
-rw-r--r--fs/ioprio.c2
-rw-r--r--fs/proc/base.c3
-rw-r--r--include/linux/kernel.h13
-rw-r--r--include/media/msm_cam_sensor.h1
-rw-r--r--include/net/tcp.h2
-rw-r--r--include/sound/q6asm-v2.h2
-rw-r--r--kernel/cgroup.c2
-rw-r--r--kernel/events/core.c7
-rw-r--r--net/unix/af_unix.c7
-rw-r--r--sound/soc/msm/qdsp6v2/msm-compr-q6-v2.c2
-rw-r--r--sound/soc/msm/qdsp6v2/q6asm.c11
-rw-r--r--sound/usb/quirks.c21
-rw-r--r--sound/usb/stream.c6
40 files changed, 364 insertions, 278 deletions
diff --git a/arch/arm/configs/shamu_defconfig b/arch/arm/configs/shamu_defconfig
index 92fa34b5597c..f72edf15bc4b 100644
--- a/arch/arm/configs/shamu_defconfig
+++ b/arch/arm/configs/shamu_defconfig
@@ -254,14 +254,9 @@ CONFIG_ALSA_TO_H2W=y
CONFIG_UID_CPUTIME=y
CONFIG_CYPRESS_CAPSENSE_PROGRAMMING=y
CONFIG_SCSI=y
-CONFIG_SCSI_TGT=y
CONFIG_BLK_DEV_SD=y
-CONFIG_CHR_DEV_SG=y
-CONFIG_CHR_DEV_SCH=y
CONFIG_SCSI_MULTI_LUN=y
-CONFIG_SCSI_CONSTANTS=y
-CONFIG_SCSI_LOGGING=y
-CONFIG_SCSI_SCAN_ASYNC=y
+# CONFIG_SCSI_LOWLEVEL is not set
CONFIG_MD=y
CONFIG_BLK_DEV_DM=y
CONFIG_DM_CRYPT=y
diff --git a/arch/arm/mach-msm/smp2p.c b/arch/arm/mach-msm/smp2p.c
index d6f479f46910..cd09f575394c 100644
--- a/arch/arm/mach-msm/smp2p.c
+++ b/arch/arm/mach-msm/smp2p.c
@@ -1,6 +1,6 @@
/* arch/arm/mach-msm/smp2p.c
*
- * Copyright (c) 2013-2014, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -507,8 +507,8 @@ static void smp2p_find_entry_v1(struct smp2p_smem __iomem *item,
struct smp2p_entry_v1 *pos;
if (!item || !name || !entry_ptr) {
- SMP2P_ERR("%s: invalid arguments %p, %p, %p\n",
- __func__, item, name, entry_ptr);
+ SMP2P_ERR("%s: invalid arguments %d, %d, %d\n",
+ __func__, !item, !name, !entry_ptr);
return;
}
diff --git a/arch/arm/mach-msm/smp2p_debug.c b/arch/arm/mach-msm/smp2p_debug.c
index 5269dcb3c4ef..28c074e0492f 100644
--- a/arch/arm/mach-msm/smp2p_debug.c
+++ b/arch/arm/mach-msm/smp2p_debug.c
@@ -1,6 +1,6 @@
/* arch/arm/mach-msm/smp2p_debug.c
*
- * Copyright (c) 2013-2014, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2014,2016 The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -40,7 +40,7 @@ static void smp2p_int_stats(struct seq_file *s)
pid != SMP2P_REMOTE_MOCK_PROC)
continue;
- seq_printf(s, "| %5s (%d) | %11u | %10u | %10u | %p | %08x |\n",
+ seq_printf(s, "| %5s (%d) | %11u | %10u | %10u | %pK | %08x |\n",
int_cfg[pid].name,
pid, int_cfg[pid].in_int_id,
int_cfg[pid].in_interrupt_count,
diff --git a/arch/arm/mach-msm/smp2p_gpio.c b/arch/arm/mach-msm/smp2p_gpio.c
index db7f1bb2179d..0512a541daea 100644
--- a/arch/arm/mach-msm/smp2p_gpio.c
+++ b/arch/arm/mach-msm/smp2p_gpio.c
@@ -338,7 +338,7 @@ static int smp2p_irq_map(struct irq_domain *domain_ptr, unsigned int virq,
chip = domain_ptr->host_data;
if (!chip) {
- SMP2P_ERR("%s: invalid domain ptr %p\n", __func__, domain_ptr);
+ SMP2P_ERR("%s: invalid domain ptr\n", __func__);
return -ENODEV;
}
diff --git a/arch/arm/mach-msm/smp2p_test.c b/arch/arm/mach-msm/smp2p_test.c
index 270abd5d1590..6ae9b11fa40f 100644
--- a/arch/arm/mach-msm/smp2p_test.c
+++ b/arch/arm/mach-msm/smp2p_test.c
@@ -1,6 +1,6 @@
/* arch/arm/mach-msm/smp2p_test.c
*
- * Copyright (c) 2013-2014, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2014,2016 The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
diff --git a/block/genhd.c b/block/genhd.c
index 6f612a747810..50d8e7ac4d69 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -828,6 +828,7 @@ static void disk_seqf_stop(struct seq_file *seqf, void *v)
if (iter) {
class_dev_iter_exit(iter);
kfree(iter);
+ seqf->private = NULL;
}
}
diff --git a/drivers/crypto/msm/qcedev.c b/drivers/crypto/msm/qcedev.c
index ca0d02357291..94d6bad1dd62 100644
--- a/drivers/crypto/msm/qcedev.c
+++ b/drivers/crypto/msm/qcedev.c
@@ -1340,44 +1340,6 @@ static int qcedev_vbuf_ablk_cipher(struct qcedev_async_req *areq,
struct qcedev_cipher_op_req *saved_req;
struct qcedev_cipher_op_req *creq = &areq->cipher_op_req;
- /* Verify Source Address's */
- for (i = 0; i < areq->cipher_op_req.entries; i++)
- if (!access_ok(VERIFY_READ,
- (void __user *)areq->cipher_op_req.vbuf.src[i].vaddr,
- areq->cipher_op_req.vbuf.src[i].len))
- return -EFAULT;
-
- /* Verify Destination Address's */
- if (creq->in_place_op != 1) {
- for (i = 0, total = 0; i < QCEDEV_MAX_BUFFERS; i++) {
- if ((areq->cipher_op_req.vbuf.dst[i].vaddr != 0) &&
- (total < creq->data_len)) {
- if (!access_ok(VERIFY_WRITE,
- (void __user *)creq->vbuf.dst[i].vaddr,
- creq->vbuf.dst[i].len)) {
- pr_err("%s:DST WR_VERIFY err %d=0x%x\n",
- __func__, i,
- (u32)creq->vbuf.dst[i].vaddr);
- return -EFAULT;
- }
- total += creq->vbuf.dst[i].len;
- }
- }
- } else {
- for (i = 0, total = 0; i < creq->entries; i++) {
- if (total < creq->data_len) {
- if (!access_ok(VERIFY_WRITE,
- (void __user *)creq->vbuf.src[i].vaddr,
- creq->vbuf.src[i].len)) {
- pr_err("%s:SRC WR_VERIFY err %d=0x%x\n",
- __func__, i,
- (u32)creq->vbuf.src[i].vaddr);
- return -EFAULT;
- }
- total += creq->vbuf.src[i].len;
- }
- }
- }
total = 0;
if (areq->cipher_op_req.mode == QCEDEV_AES_MODE_CTR)
@@ -1675,6 +1637,36 @@ static int qcedev_check_cipher_params(struct qcedev_cipher_op_req *req,
__func__, total, req->data_len);
goto error;
}
+ /* Verify Source Address's */
+ for (i = 0, total = 0; i < req->entries; i++) {
+ if (total < req->data_len) {
+ if (!access_ok(VERIFY_READ,
+ (void __user *)req->vbuf.src[i].vaddr,
+ req->vbuf.src[i].len)) {
+ pr_err("%s:SRC RD_VERIFY err %d=0x%lx\n",
+ __func__, i, (uintptr_t)
+ req->vbuf.src[i].vaddr);
+ goto error;
+ }
+ total += req->vbuf.src[i].len;
+ }
+ }
+
+ /* Verify Destination Address's */
+ for (i = 0, total = 0; i < QCEDEV_MAX_BUFFERS; i++) {
+ if ((req->vbuf.dst[i].vaddr != 0) &&
+ (total < req->data_len)) {
+ if (!access_ok(VERIFY_WRITE,
+ (void __user *)req->vbuf.dst[i].vaddr,
+ req->vbuf.dst[i].len)) {
+ pr_err("%s:DST WR_VERIFY err %d=0x%lx\n",
+ __func__, i, (uintptr_t)
+ req->vbuf.dst[i].vaddr);
+ goto error;
+ }
+ total += req->vbuf.dst[i].len;
+ }
+ }
return 0;
error:
return -EINVAL;
diff --git a/drivers/crypto/msm/qcrypto.c b/drivers/crypto/msm/qcrypto.c
index 7cfe1f2936ed..dc878162b35d 100644
--- a/drivers/crypto/msm/qcrypto.c
+++ b/drivers/crypto/msm/qcrypto.c
@@ -1770,12 +1770,12 @@ static int _qcrypto_process_aead(struct crypto_engine *pengine,
* include assoicated data, ciphering data stream,
* generated MAC, and CCM padding.
*/
- if ((MAX_ALIGN_SIZE * 2 > ULONG_MAX - req->assoclen) ||
+ if ((MAX_ALIGN_SIZE * 2 > UINT_MAX - req->assoclen) ||
((MAX_ALIGN_SIZE * 2 + req->assoclen) >
- ULONG_MAX - qreq.ivsize) ||
+ UINT_MAX - qreq.ivsize) ||
((MAX_ALIGN_SIZE * 2 + req->assoclen
+ qreq.ivsize)
- > ULONG_MAX - req->cryptlen)) {
+ > UINT_MAX - req->cryptlen)) {
pr_err("Integer overflow on aead req length.\n");
return -EINVAL;
}
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index c4e5cdfa5d24..0644da1d433e 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1138,6 +1138,7 @@ static void hid_input_field(struct hid_device *hid, struct hid_field *field,
/* Ignore report if ErrorRollOver */
if (!(field->flags & HID_MAIN_ITEM_VARIABLE) &&
value[n] >= min && value[n] <= max &&
+ value[n] - min < field->maxusage &&
field->usage[value[n] - min].hid == HID_UP_KEYBOARD + 1)
goto exit;
}
@@ -1150,11 +1151,13 @@ static void hid_input_field(struct hid_device *hid, struct hid_field *field,
}
if (field->value[n] >= min && field->value[n] <= max
+ && field->value[n] - min < field->maxusage
&& field->usage[field->value[n] - min].hid
&& search(value, field->value[n], count))
hid_process_event(hid, field, &field->usage[field->value[n] - min], 0, interrupt);
if (value[n] >= min && value[n] <= max
+ && value[n] - min < field->maxusage
&& field->usage[value[n] - min].hid
&& search(field->value, value[n], count))
hid_process_event(hid, field, &field->usage[value[n] - min], 1, interrupt);
diff --git a/drivers/media/platform/msm/camera_v2/sensor/io/msm_camera_cci_i2c.c b/drivers/media/platform/msm/camera_v2/sensor/io/msm_camera_cci_i2c.c
index 8951773318ce..7c12b99ce03a 100644
--- a/drivers/media/platform/msm/camera_v2/sensor/io/msm_camera_cci_i2c.c
+++ b/drivers/media/platform/msm/camera_v2/sensor/io/msm_camera_cci_i2c.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2011-2015, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2011-2016, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -76,6 +76,12 @@ int32_t msm_camera_cci_i2c_read_seq(struct msm_camera_i2c_client *client,
|| num_byte == 0)
return rc;
+ if (num_byte > I2C_REG_DATA_MAX) {
+ pr_err("%s: Error num_byte:0x%x exceeds 8K max supported:0x%x\n",
+ __func__, num_byte, I2C_REG_DATA_MAX);
+ return rc;
+ }
+
buf = kzalloc(num_byte, GFP_KERNEL);
if (!buf) {
pr_err("%s:%d no memory\n", __func__, __LINE__);
@@ -248,6 +254,12 @@ int32_t msm_camera_cci_i2c_write_seq_table(
client_addr_type = client->addr_type;
client->addr_type = write_setting->addr_type;
+ if (reg_setting->reg_data_size > I2C_SEQ_REG_DATA_MAX) {
+ pr_err("%s: number of bytes %u exceeding the max supported %d\n",
+ __func__, reg_setting->reg_data_size, I2C_SEQ_REG_DATA_MAX);
+ return rc;
+ }
+
for (i = 0; i < write_setting->size; i++) {
rc = msm_camera_cci_i2c_write_seq(client, reg_setting->reg_addr,
reg_setting->reg_data, reg_setting->reg_data_size);
diff --git a/drivers/media/platform/msm/camera_v2/sensor/io/msm_camera_qup_i2c.c b/drivers/media/platform/msm/camera_v2/sensor/io/msm_camera_qup_i2c.c
index 323853841ce2..96d2e79c32ef 100644
--- a/drivers/media/platform/msm/camera_v2/sensor/io/msm_camera_qup_i2c.c
+++ b/drivers/media/platform/msm/camera_v2/sensor/io/msm_camera_qup_i2c.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2011, 2013-2014, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2011, 2013-2014,2016 The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -77,7 +77,7 @@ int32_t msm_camera_qup_i2c_read(struct msm_camera_i2c_client *client,
enum msm_camera_i2c_data_type data_type)
{
int32_t rc = -EFAULT;
- unsigned char buf[client->addr_type+data_type];
+ unsigned char *buf = NULL;
if ((client->addr_type != MSM_CAMERA_I2C_BYTE_ADDR
&& client->addr_type != MSM_CAMERA_I2C_WORD_ADDR)
@@ -85,6 +85,17 @@ int32_t msm_camera_qup_i2c_read(struct msm_camera_i2c_client *client,
&& data_type != MSM_CAMERA_I2C_WORD_DATA))
return rc;
+ if (client->addr_type > UINT_MAX - data_type) {
+ pr_err("%s: integer overflow prevented\n", __func__);
+ return rc;
+ }
+
+ buf = kzalloc(client->addr_type+data_type, GFP_KERNEL);
+ if (!buf) {
+ pr_err("%s:%d no memory\n", __func__, __LINE__);
+ return -ENOMEM;
+ }
+
if (client->addr_type == MSM_CAMERA_I2C_BYTE_ADDR) {
buf[0] = addr;
} else if (client->addr_type == MSM_CAMERA_I2C_WORD_ADDR) {
@@ -94,6 +105,8 @@ int32_t msm_camera_qup_i2c_read(struct msm_camera_i2c_client *client,
rc = msm_camera_qup_i2c_rxdata(client, buf, data_type);
if (rc < 0) {
S_I2C_DBG("%s fail\n", __func__);
+ kfree(buf);
+ buf = NULL;
return rc;
}
@@ -103,6 +116,8 @@ int32_t msm_camera_qup_i2c_read(struct msm_camera_i2c_client *client,
*data = buf[0] << 8 | buf[1];
S_I2C_DBG("%s addr = 0x%x data: 0x%x\n", __func__, addr, *data);
+ kfree(buf);
+ buf = NULL;
return rc;
}
@@ -110,7 +125,7 @@ int32_t msm_camera_qup_i2c_read_seq(struct msm_camera_i2c_client *client,
uint32_t addr, uint8_t *data, uint32_t num_byte)
{
int32_t rc = -EFAULT;
- unsigned char buf[client->addr_type+num_byte];
+ unsigned char *buf = NULL;
int i;
if ((client->addr_type != MSM_CAMERA_I2C_BYTE_ADDR
@@ -118,6 +133,22 @@ int32_t msm_camera_qup_i2c_read_seq(struct msm_camera_i2c_client *client,
|| num_byte == 0)
return rc;
+ if (num_byte > I2C_REG_DATA_MAX) {
+ pr_err("%s: Error num_byte:0x%x exceeds 8K max supported:0x%x\n",
+ __func__, num_byte, I2C_REG_DATA_MAX);
+ return rc;
+ }
+ if (client->addr_type > UINT_MAX - num_byte) {
+ pr_err("%s: integer overflow prevented\n", __func__);
+ return rc;
+ }
+
+ buf = kzalloc(client->addr_type+num_byte, GFP_KERNEL);
+ if (!buf) {
+ pr_err("%s:%d no memory\n", __func__, __LINE__);
+ return -ENOMEM;
+ }
+
if (client->addr_type == MSM_CAMERA_I2C_BYTE_ADDR) {
buf[0] = addr;
} else if (client->addr_type == MSM_CAMERA_I2C_WORD_ADDR) {
@@ -127,6 +158,8 @@ int32_t msm_camera_qup_i2c_read_seq(struct msm_camera_i2c_client *client,
rc = msm_camera_qup_i2c_rxdata(client, buf, num_byte);
if (rc < 0) {
S_I2C_DBG("%s fail\n", __func__);
+ kfree(buf);
+ buf = NULL;
return rc;
}
@@ -136,6 +169,8 @@ int32_t msm_camera_qup_i2c_read_seq(struct msm_camera_i2c_client *client,
S_I2C_DBG("Byte %d: 0x%x\n", i, buf[i]);
S_I2C_DBG("Data: 0x%x\n", data[i]);
}
+ kfree(buf);
+ buf = NULL;
return rc;
}
@@ -294,6 +329,12 @@ int32_t msm_camera_qup_i2c_write_seq_table(struct msm_camera_i2c_client *client,
client_addr_type = client->addr_type;
client->addr_type = write_setting->addr_type;
+ if (reg_setting->reg_data_size > I2C_SEQ_REG_DATA_MAX) {
+ pr_err("%s: number of bytes %u exceeding the max supported %d\n",
+ __func__, reg_setting->reg_data_size, I2C_SEQ_REG_DATA_MAX);
+ return rc;
+ }
+
for (i = 0; i < write_setting->size; i++) {
rc = msm_camera_qup_i2c_write_seq(client, reg_setting->reg_addr,
reg_setting->reg_data, reg_setting->reg_data_size);
diff --git a/drivers/media/platform/msm/vidc/hfi_packetization.c b/drivers/media/platform/msm/vidc/hfi_packetization.c
index 12ae1d982595..235b9aeb7b4c 100644
--- a/drivers/media/platform/msm/vidc/hfi_packetization.c
+++ b/drivers/media/platform/msm/vidc/hfi_packetization.c
@@ -1900,7 +1900,7 @@ int create_pkt_ssr_cmd(enum hal_ssr_trigger_type type,
struct hfi_cmd_sys_test_ssr_packet *pkt)
{
if (!pkt) {
- dprintk(VIDC_ERR, "Invalid params, device: %p\n", pkt);
+ dprintk(VIDC_ERR, "Invalid params, device: %pK\n", pkt);
return -EINVAL;
}
pkt->size = sizeof(struct hfi_cmd_sys_test_ssr_packet);
@@ -1913,7 +1913,7 @@ int create_pkt_cmd_sys_image_version(
struct hfi_cmd_sys_get_property_packet *pkt)
{
if (!pkt) {
- dprintk(VIDC_ERR, "%s invalid param :%p\n", __func__, pkt);
+ dprintk(VIDC_ERR, "%s invalid param :%pK\n", __func__, pkt);
return -EINVAL;
}
pkt->size = sizeof(struct hfi_cmd_sys_get_property_packet);
diff --git a/drivers/media/platform/msm/vidc/hfi_response_handler.c b/drivers/media/platform/msm/vidc/hfi_response_handler.c
index 458832d13262..7b8d522ae10e 100644
--- a/drivers/media/platform/msm/vidc/hfi_response_handler.c
+++ b/drivers/media/platform/msm/vidc/hfi_response_handler.c
@@ -97,7 +97,7 @@ static int validate_session_pkt(struct list_head *sessions,
mutex_unlock(session_lock);
}
if (invalid)
- dprintk(VIDC_WARN, "Invalid session from FW: %p\n", sess);
+ dprintk(VIDC_WARN, "Invalid session from FW: %pK\n", sess);
return invalid;
}
@@ -703,7 +703,7 @@ static void hfi_process_sess_get_prop_profile_level(
dprintk(VIDC_DBG, "Entered %s\n", __func__);
if (!prop) {
dprintk(VIDC_ERR,
- "hal_process_sess_get_profile_level: bad_prop: %p\n",
+ "hal_process_sess_get_profile_level: bad_prop: %pK\n",
prop);
return;
}
@@ -734,7 +734,7 @@ static void hfi_process_sess_get_prop_buf_req(
if (!prop) {
dprintk(VIDC_ERR,
- "hal_process_sess_get_prop_buf_req: bad_prop: %p\n",
+ "hal_process_sess_get_prop_buf_req: bad_prop: %pK\n",
prop);
return;
}
@@ -923,7 +923,7 @@ static void hfi_process_session_init_done(
sess_close = (struct hal_session *)pkt->session_id;
if (sess_close) {
dprintk(VIDC_WARN,
- "Sess init failed: 0x%x, 0x%p\n",
+ "Sess init failed: 0x%x, 0x%pK\n",
sess_close->session_id, sess_close);
}
}
@@ -1077,7 +1077,7 @@ static void hfi_process_session_ftb_done(
data_done.output_done.extra_data_buffer =
pkt->extra_data_buffer;
data_done.output_done.buffer_type = HAL_BUFFER_OUTPUT;
- dprintk(VIDC_DBG, "FBD: Received buf: %p, of len: %d\n",
+ dprintk(VIDC_DBG, "FBD: Received buf: %pK, of len: %d\n",
pkt->packet_buffer, pkt->filled_len);
} else if (is_decoder == 1) {
struct hfi_msg_session_fbd_uncompressed_plane0_packet *pkt =
@@ -1310,7 +1310,7 @@ static void hfi_process_session_get_seq_hdr_done(
data_done.status = hfi_map_err_status((u32)pkt->error_type);
data_done.output_done.packet_buffer1 = pkt->sequence_header;
data_done.output_done.filled_len1 = pkt->header_len;
- dprintk(VIDC_INFO, "seq_hdr: %p, Length: %d\n",
+ dprintk(VIDC_INFO, "seq_hdr: %pK, Length: %d\n",
pkt->sequence_header, pkt->header_len);
callback(SESSION_GET_SEQ_HDR_DONE, &data_done);
}
diff --git a/drivers/media/platform/msm/vidc/msm_smem.c b/drivers/media/platform/msm/vidc/msm_smem.c
index b22bdde8ef4a..f047723ed49a 100644
--- a/drivers/media/platform/msm/vidc/msm_smem.c
+++ b/drivers/media/platform/msm/vidc/msm_smem.c
@@ -56,7 +56,7 @@ static int get_device_address(struct smem_client *smem_client,
struct ion_client *clnt = NULL;
if (!iova || !buffer_size || !hndl || !smem_client) {
- dprintk(VIDC_ERR, "Invalid params: %p, %p, %p, %p\n",
+ dprintk(VIDC_ERR, "Invalid params: %pK, %pK, %pK, %pK\n",
smem_client, hndl, iova, buffer_size);
return -EINVAL;
}
@@ -112,7 +112,7 @@ static void put_device_address(struct smem_client *smem_client,
struct ion_client *clnt = NULL;
if (!hndl || !smem_client) {
- dprintk(VIDC_WARN, "Invalid params: %p, %p\n",
+ dprintk(VIDC_WARN, "Invalid params: %pK, %pK\n",
smem_client, hndl);
return;
}
@@ -146,7 +146,7 @@ static int ion_user_to_kernel(struct smem_client *client, int fd, u32 offset,
hndl = ion_import_dma_buf(client->clnt, fd);
if (IS_ERR_OR_NULL(hndl)) {
- dprintk(VIDC_ERR, "Failed to get handle: %p, %d, %d, %p\n",
+ dprintk(VIDC_ERR, "Failed to get handle: %pK, %d, %d, %pK\n",
client, fd, offset, hndl);
rc = -ENOMEM;
goto fail_import_fd;
@@ -175,7 +175,7 @@ static int ion_user_to_kernel(struct smem_client *client, int fd, u32 offset,
mem->device_addr = iova;
mem->size = buffer_size;
dprintk(VIDC_DBG,
- "%s: ion_handle = 0x%p, fd = %d, device_addr = 0x%x, size = %d, kvaddr = 0x%p, buffer_type = %d\n",
+ "%s: ion_handle = 0x%pK, fd = %d, device_addr = 0x%x, size = %d, kvaddr = 0x%pK, buffer_type = %d\n",
__func__, mem->smem_priv, fd, (u32)mem->device_addr,
mem->size, mem->kvaddr, mem->buffer_type);
return rc;
@@ -218,7 +218,7 @@ static int alloc_ion_mem(struct smem_client *client, size_t size, u32 align,
hndl = ion_alloc(client->clnt, size, align, heap_mask, flags);
if (IS_ERR_OR_NULL(hndl)) {
dprintk(VIDC_ERR,
- "Failed to allocate shared memory = %p, %d, %d, 0x%x\n",
+ "Failed to allocate shared memory = %pK, %d, %d, 0x%x\n",
client, size, align, flags);
rc = -ENOMEM;
goto fail_shared_mem_alloc;
@@ -248,7 +248,7 @@ static int alloc_ion_mem(struct smem_client *client, size_t size, u32 align,
mem->device_addr = iova;
mem->size = size;
dprintk(VIDC_DBG,
- "%s: ion_handle = 0x%p, device_addr = 0x%x, size = %d, kvaddr = 0x%p, buffer_type = %d\n",
+ "%s: ion_handle = 0x%pK, device_addr = 0x%x, size = %d, kvaddr = 0x%pK, buffer_type = %d\n",
__func__, mem->smem_priv, (u32)mem->device_addr,
mem->size, mem->kvaddr, mem->buffer_type);
return rc;
@@ -265,7 +265,7 @@ static void free_ion_mem(struct smem_client *client, struct msm_smem *mem)
int domain, partition, rc;
dprintk(VIDC_DBG,
- "%s: ion_handle = 0x%p, device_addr = 0x%x, size = %d, kvaddr = 0x%p, buffer_type = %d\n",
+ "%s: ion_handle = 0x%pK, device_addr = 0x%x, size = %d, kvaddr = 0x%pK, buffer_type = %d\n",
__func__, mem->smem_priv, (u32)mem->device_addr,
mem->size, mem->kvaddr, mem->buffer_type);
rc = msm_smem_get_domain_partition((void *)client, mem->flags,
@@ -336,7 +336,7 @@ bool msm_smem_compare_buffers(void *clt, int fd, void *priv)
struct ion_handle *handle = NULL;
bool ret = false;
if (!clt || !priv) {
- dprintk(VIDC_ERR, "Invalid params: %p, %p\n",
+ dprintk(VIDC_ERR, "Invalid params: %pK, %pK\n",
clt, priv);
return false;
}
@@ -353,7 +353,7 @@ static int ion_cache_operations(struct smem_client *client,
int rc = 0;
int msm_cache_ops = 0;
if (!mem || !client) {
- dprintk(VIDC_ERR, "Invalid params: %p, %p\n",
+ dprintk(VIDC_ERR, "Invalid params: %pK, %pK\n",
mem, client);
return -EINVAL;
}
@@ -400,7 +400,7 @@ int msm_smem_cache_operations(void *clt, struct msm_smem *mem,
struct smem_client *client = clt;
int rc = 0;
if (!client) {
- dprintk(VIDC_ERR, "Invalid params: %p\n",
+ dprintk(VIDC_ERR, "Invalid params: %pK\n",
client);
return -EINVAL;
}
diff --git a/drivers/media/platform/msm/vidc/msm_v4l2_vidc.c b/drivers/media/platform/msm/vidc/msm_v4l2_vidc.c
index 688bdb4a1e39..474f6de95894 100644
--- a/drivers/media/platform/msm/vidc/msm_v4l2_vidc.c
+++ b/drivers/media/platform/msm/vidc/msm_v4l2_vidc.c
@@ -286,7 +286,7 @@ static int read_platform_resources(struct msm_vidc_core *core,
struct platform_device *pdev)
{
if (!core || !pdev) {
- dprintk(VIDC_ERR, "%s: Invalid params %p %p\n",
+ dprintk(VIDC_ERR, "%s: Invalid params %pK %pK\n",
__func__, core, pdev);
return -EINVAL;
}
@@ -519,7 +519,7 @@ static int msm_vidc_remove(struct platform_device *pdev)
struct msm_vidc_core *core;
if (!pdev) {
- dprintk(VIDC_ERR, "%s invalid input %p", __func__, pdev);
+ dprintk(VIDC_ERR, "%s invalid input %pK", __func__, pdev);
return -EINVAL;
}
core = pdev->dev.platform_data;
diff --git a/drivers/media/platform/msm/vidc/msm_vdec.c b/drivers/media/platform/msm/vidc/msm_vdec.c
index 215ce4947082..df7a3276408d 100644
--- a/drivers/media/platform/msm/vidc/msm_vdec.c
+++ b/drivers/media/platform/msm/vidc/msm_vdec.c
@@ -861,7 +861,7 @@ int msm_vdec_release_buf(struct msm_vidc_inst *inst,
if (inst->state == MSM_VIDC_CORE_INVALID ||
core->state == VIDC_CORE_INVALID) {
dprintk(VIDC_ERR,
- "Core %p in bad state, ignoring release output buf\n",
+ "Core %pK in bad state, ignoring release output buf\n",
core);
goto exit;
}
@@ -954,7 +954,7 @@ int msm_vdec_reqbufs(struct msm_vidc_inst *inst, struct v4l2_requestbuffers *b)
int rc = 0;
if (!inst || !b) {
dprintk(VIDC_ERR,
- "Invalid input, inst = %p, buffer = %p\n", inst, b);
+ "Invalid input, inst = %pK, buffer = %pK\n", inst, b);
return -EINVAL;
}
q = msm_comm_get_vb2q(inst, b->type);
@@ -984,7 +984,7 @@ int msm_vdec_g_fmt(struct msm_vidc_inst *inst, struct v4l2_format *f)
struct hal_buffer_requirements *buff_req_buffer;
if (!inst || !f || !inst->core || !inst->core->device) {
dprintk(VIDC_ERR,
- "Invalid input, inst = %p, format = %p\n", inst, f);
+ "Invalid input, inst = %pK, format = %pK\n", inst, f);
return -EINVAL;
}
hdev = inst->core->device;
@@ -1142,7 +1142,7 @@ int msm_vdec_s_parm(struct msm_vidc_inst *inst, struct v4l2_streamparm *a)
fps = fps - 1;
if (inst->prop.fps != fps) {
- dprintk(VIDC_PROF, "reported fps changed for %p: %d->%d\n",
+ dprintk(VIDC_PROF, "reported fps changed for %pK: %d->%d\n",
inst, inst->prop.fps, fps);
inst->prop.fps = fps;
msm_comm_init_dcvs_load(inst);
@@ -1308,7 +1308,7 @@ int msm_vdec_querycap(struct msm_vidc_inst *inst, struct v4l2_capability *cap)
{
if (!inst || !cap) {
dprintk(VIDC_ERR,
- "Invalid input, inst = %p, cap = %p\n", inst, cap);
+ "Invalid input, inst = %pK, cap = %pK\n", inst, cap);
return -EINVAL;
}
strlcpy(cap->driver, MSM_VIDC_DRV_NAME, sizeof(cap->driver));
@@ -1328,7 +1328,7 @@ int msm_vdec_enum_fmt(struct msm_vidc_inst *inst, struct v4l2_fmtdesc *f)
int rc = 0;
if (!inst || !f) {
dprintk(VIDC_ERR,
- "Invalid input, inst = %p, f = %p\n", inst, f);
+ "Invalid input, inst = %pK, f = %pK\n", inst, f);
return -EINVAL;
}
if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
@@ -1367,7 +1367,7 @@ static int msm_vdec_queue_setup(struct vb2_queue *q,
enum hal_property property_id;
if (!q || !num_buffers || !num_planes
|| !sizes || !q->drv_priv) {
- dprintk(VIDC_ERR, "Invalid input, q = %p, %p, %p\n",
+ dprintk(VIDC_ERR, "Invalid input, q = %pK, %pK, %pK\n",
q, num_buffers, num_planes);
return -EINVAL;
}
@@ -1576,7 +1576,7 @@ static inline int start_streaming(struct msm_vidc_inst *inst)
rc = msm_comm_try_state(inst, MSM_VIDC_START_DONE);
if (rc) {
dprintk(VIDC_ERR,
- "Failed to move inst: %p to start done state\n", inst);
+ "Failed to move inst: %pK to start done state\n", inst);
goto fail_start;
}
msm_comm_init_dcvs_load(inst);
@@ -1615,7 +1615,7 @@ static inline int stop_streaming(struct msm_vidc_inst *inst)
rc = msm_comm_try_state(inst, MSM_VIDC_RELEASE_RESOURCES_DONE);
if (rc)
dprintk(VIDC_ERR,
- "Failed to move inst: %p to start done state\n", inst);
+ "Failed to move inst: %pK to start done state\n", inst);
return rc;
}
@@ -1625,7 +1625,7 @@ static int msm_vdec_start_streaming(struct vb2_queue *q, unsigned int count)
int rc = 0;
struct hfi_device *hdev;
if (!q || !q->drv_priv) {
- dprintk(VIDC_ERR, "Invalid input, q = %p\n", q);
+ dprintk(VIDC_ERR, "Invalid input, q = %pK\n", q);
return -EINVAL;
}
inst = q->drv_priv;
@@ -1658,7 +1658,7 @@ static int msm_vdec_stop_streaming(struct vb2_queue *q)
struct msm_vidc_inst *inst;
int rc = 0;
if (!q || !q->drv_priv) {
- dprintk(VIDC_ERR, "Invalid input, q = %p\n", q);
+ dprintk(VIDC_ERR, "Invalid input, q = %pK\n", q);
return -EINVAL;
}
inst = q->drv_priv;
@@ -1683,7 +1683,7 @@ static int msm_vdec_stop_streaming(struct vb2_queue *q)
if (rc)
dprintk(VIDC_ERR,
- "Failed to move inst: %p, cap = %d to state: %d\n",
+ "Failed to move inst: %pK, cap = %d to state: %d\n",
inst, q->type, MSM_VIDC_RELEASE_RESOURCES_DONE);
return rc;
}
@@ -1740,7 +1740,7 @@ int msm_vdec_cmd(struct msm_vidc_inst *inst, struct v4l2_decoder_cmd *dec)
if (inst->state == MSM_VIDC_CORE_INVALID ||
core->state == VIDC_CORE_INVALID) {
dprintk(VIDC_ERR,
- "Core %p in bad state, Sending CLOSE event\n",
+ "Core %pK in bad state, Sending CLOSE event\n",
core);
msm_vidc_queue_v4l2_event(inst,
V4L2_EVENT_MSM_VIDC_CLOSE_DONE);
@@ -1782,7 +1782,7 @@ int msm_vdec_inst_init(struct msm_vidc_inst *inst)
{
int rc = 0;
if (!inst) {
- dprintk(VIDC_ERR, "Invalid input = %p\n", inst);
+ dprintk(VIDC_ERR, "Invalid input = %pK\n", inst);
return -EINVAL;
}
inst->fmts[OUTPUT_PORT] = &vdec_formats[1];
@@ -2183,7 +2183,7 @@ static int msm_vdec_op_s_ctrl(struct v4l2_ctrl *ctrl)
rc = msm_comm_try_state(inst, MSM_VIDC_OPEN_DONE);
if (rc) {
dprintk(VIDC_ERR,
- "Failed to move inst: %p to start done state\n", inst);
+ "Failed to move inst: %pK to start done state\n", inst);
goto failed_open_done;
}
@@ -2215,7 +2215,7 @@ static int msm_vdec_op_g_volatile_ctrl(struct v4l2_ctrl *ctrl)
rc = msm_comm_try_state(inst, MSM_VIDC_OPEN_DONE);
if (rc) {
dprintk(VIDC_ERR,
- "Failed to move inst: %p to start done state\n", inst);
+ "Failed to move inst: %pK to start done state\n", inst);
goto failed_open_done;
}
for (c = 0; c < master->ncontrols; ++c) {
diff --git a/drivers/media/platform/msm/vidc/msm_venc.c b/drivers/media/platform/msm/vidc/msm_venc.c
index e668d13d63f0..2229f4902974 100644
--- a/drivers/media/platform/msm/vidc/msm_venc.c
+++ b/drivers/media/platform/msm/vidc/msm_venc.c
@@ -1379,7 +1379,7 @@ static inline int start_streaming(struct msm_vidc_inst *inst)
rc = msm_comm_try_state(inst, MSM_VIDC_START_DONE);
if (rc) {
dprintk(VIDC_ERR,
- "Failed to move inst: %p to start done state\n", inst);
+ "Failed to move inst: %pK to start done state\n", inst);
goto fail_start;
}
mutex_lock(&inst->sync_lock);
@@ -1407,7 +1407,7 @@ static int msm_venc_start_streaming(struct vb2_queue *q, unsigned int count)
struct msm_vidc_inst *inst;
int rc = 0;
if (!q || !q->drv_priv) {
- dprintk(VIDC_ERR, "Invalid input, q = %p\n", q);
+ dprintk(VIDC_ERR, "Invalid input, q = %pK\n", q);
return -EINVAL;
}
inst = q->drv_priv;
@@ -1434,7 +1434,7 @@ static int msm_venc_stop_streaming(struct vb2_queue *q)
struct msm_vidc_inst *inst;
int rc = 0;
if (!q || !q->drv_priv) {
- dprintk(VIDC_ERR, "Invalid input, q = %p\n", q);
+ dprintk(VIDC_ERR, "Invalid input, q = %pK\n", q);
return -EINVAL;
}
inst = q->drv_priv;
@@ -1455,7 +1455,7 @@ static int msm_venc_stop_streaming(struct vb2_queue *q)
if (rc)
dprintk(VIDC_ERR,
- "Failed to move inst: %p, cap = %d to state: %d\n",
+ "Failed to move inst: %pK, cap = %d to state: %d\n",
inst, q->type, MSM_VIDC_CLOSE_DONE);
return rc;
}
@@ -2845,7 +2845,7 @@ static int msm_venc_op_s_ctrl(struct v4l2_ctrl *ctrl)
if (rc) {
dprintk(VIDC_ERR,
- "Failed to move inst: %p to start done state\n", inst);
+ "Failed to move inst: %pK to start done state\n", inst);
goto failed_open_done;
}
@@ -2889,7 +2889,7 @@ int msm_venc_inst_init(struct msm_vidc_inst *inst)
{
int rc = 0;
if (!inst) {
- dprintk(VIDC_ERR, "Invalid input = %p\n", inst);
+ dprintk(VIDC_ERR, "Invalid input = %pK\n", inst);
return -EINVAL;
}
inst->fmts[CAPTURE_PORT] = &venc_formats[1];
@@ -2971,7 +2971,7 @@ int msm_venc_querycap(struct msm_vidc_inst *inst, struct v4l2_capability *cap)
{
if (!inst || !cap) {
dprintk(VIDC_ERR,
- "Invalid input, inst = %p, cap = %p\n", inst, cap);
+ "Invalid input, inst = %pK, cap = %pK\n", inst, cap);
return -EINVAL;
}
strlcpy(cap->driver, MSM_VIDC_DRV_NAME, sizeof(cap->driver));
@@ -2991,7 +2991,7 @@ int msm_venc_enum_fmt(struct msm_vidc_inst *inst, struct v4l2_fmtdesc *f)
int rc = 0;
if (!inst || !f) {
dprintk(VIDC_ERR,
- "Invalid input, inst = %p, f = %p\n", inst, f);
+ "Invalid input, inst = %pK, f = %pK\n", inst, f);
return -EINVAL;
}
if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
@@ -3064,7 +3064,7 @@ int msm_venc_s_parm(struct msm_vidc_inst *inst, struct v4l2_streamparm *a)
fps = fps - 1;
if (inst->prop.fps != fps) {
- dprintk(VIDC_PROF, "reported fps changed for %p: %d->%d\n",
+ dprintk(VIDC_PROF, "reported fps changed for %pK: %d->%d\n",
inst, inst->prop.fps, fps);
inst->prop.fps = fps;
frame_rate.frame_rate = inst->prop.fps * (0x1<<16);
@@ -3118,7 +3118,7 @@ int msm_venc_s_fmt(struct msm_vidc_inst *inst, struct v4l2_format *f)
if (!inst || !f) {
dprintk(VIDC_ERR,
- "Invalid input, inst = %p, format = %p\n", inst, f);
+ "Invalid input, inst = %pK, format = %pK\n", inst, f);
return -EINVAL;
}
@@ -3329,7 +3329,7 @@ int msm_venc_g_fmt(struct msm_vidc_inst *inst, struct v4l2_format *f)
if (!inst || !f) {
dprintk(VIDC_ERR,
- "Invalid input, inst = %p, format = %p\n", inst, f);
+ "Invalid input, inst = %pK, format = %pK\n", inst, f);
return -EINVAL;
}
if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
@@ -3384,7 +3384,7 @@ int msm_venc_reqbufs(struct msm_vidc_inst *inst, struct v4l2_requestbuffers *b)
int rc = 0;
if (!inst || !b) {
dprintk(VIDC_ERR,
- "Invalid input, inst = %p, buffer = %p\n", inst, b);
+ "Invalid input, inst = %pK, buffer = %pK\n", inst, b);
return -EINVAL;
}
q = msm_comm_get_vb2q(inst, b->type);
@@ -3483,7 +3483,7 @@ int msm_venc_release_buf(struct msm_vidc_inst *inst,
rc = msm_comm_try_state(inst, MSM_VIDC_RELEASE_RESOURCES_DONE);
if (rc) {
dprintk(VIDC_ERR,
- "Failed to move inst: %p to release res done state\n",
+ "Failed to move inst: %pK to release res done state\n",
inst);
goto exit;
}
diff --git a/drivers/media/platform/msm/vidc/msm_vidc.c b/drivers/media/platform/msm/vidc/msm_vidc.c
index ffa7328da1f3..8f1d41b41e97 100644
--- a/drivers/media/platform/msm/vidc/msm_vidc.c
+++ b/drivers/media/platform/msm/vidc/msm_vidc.c
@@ -329,7 +329,7 @@ struct buffer_info *device_to_uvaddr(struct msm_vidc_inst *inst,
int i;
if (!list || !device_addr || !inst) {
dprintk(VIDC_ERR,
- "Invalid input- list: %p device_addr: %u inst: %p\n",
+ "Invalid input- list: %pK device_addr: %u inst: %pK\n",
list, device_addr, inst);
goto err_invalid_input;
}
@@ -486,7 +486,7 @@ int map_and_register_buf(struct msm_vidc_inst *inst, struct v4l2_buffer *b)
goto exit;
}
- dprintk(VIDC_DBG, "[MAP] Create binfo = %p fd = %d type = %d\n",
+ dprintk(VIDC_DBG, "[MAP] Create binfo = %pK fd = %d type = %d\n",
binfo, b->m.planes[0].reserved[0], b->type);
for (i = 0; i < b->length; ++i) {
@@ -563,7 +563,7 @@ int map_and_register_buf(struct msm_vidc_inst *inst, struct v4l2_buffer *b)
goto exit;
}
dprintk(VIDC_DBG,
- "%s: [MAP] binfo = %p, handle[%d] = %p, device_addr = 0x%x, fd = %d, offset = %d, mapped = %d\n",
+ "%s: [MAP] binfo = %pK, handle[%d] = %pK, device_addr = 0x%x, fd = %d, offset = %d, mapped = %d\n",
__func__, binfo, i, binfo->handle[i],
binfo->device_addr[i], binfo->fd[i],
binfo->buff_off[i], binfo->mapped[i]);
@@ -586,7 +586,7 @@ int unmap_and_deregister_buf(struct msm_vidc_inst *inst,
bool found = false, keep_node = false;
if (!inst || !binfo) {
- dprintk(VIDC_ERR, "%s invalid param: %p %p\n",
+ dprintk(VIDC_ERR, "%s invalid param: %pK %pK\n",
__func__, inst, binfo);
return -EINVAL;
}
@@ -615,7 +615,7 @@ int unmap_and_deregister_buf(struct msm_vidc_inst *inst,
for (i = 0; i < temp->num_planes; i++) {
dprintk(VIDC_DBG,
- "%s: [UNMAP] binfo = %p, handle[%d] = %p, device_addr = 0x%x, fd = %d, offset = %d, mapped = %d\n",
+ "%s: [UNMAP] binfo = %pK, handle[%d] = %pK, device_addr = 0x%x, fd = %d, offset = %d, mapped = %d\n",
__func__, temp, i, temp->handle[i],
temp->device_addr[i], temp->fd[i],
temp->buff_off[i], temp->mapped[i]);
@@ -644,12 +644,12 @@ int unmap_and_deregister_buf(struct msm_vidc_inst *inst,
}
}
if (!keep_node) {
- dprintk(VIDC_DBG, "[UNMAP] AND-FREED binfo: %p\n", temp);
+ dprintk(VIDC_DBG, "[UNMAP] AND-FREED binfo: %pK\n", temp);
list_del(&temp->list);
kfree(temp);
} else {
temp->inactive = true;
- dprintk(VIDC_DBG, "[UNMAP] NOT-FREED binfo: %p\n", temp);
+ dprintk(VIDC_DBG, "[UNMAP] NOT-FREED binfo: %pK\n", temp);
}
exit:
mutex_unlock(&inst->lock);
@@ -664,7 +664,7 @@ int qbuf_dynamic_buf(struct msm_vidc_inst *inst,
struct v4l2_plane plane[VIDEO_MAX_PLANES] = { {0} };
if (!binfo) {
- dprintk(VIDC_ERR, "%s invalid param: %p\n", __func__, binfo);
+ dprintk(VIDC_ERR, "%s invalid param: %pK\n", __func__, binfo);
return -EINVAL;
}
dprintk(VIDC_DBG, "%s fd[0] = %d\n", __func__, binfo->fd[0]);
@@ -687,7 +687,7 @@ int output_buffer_cache_invalidate(struct msm_vidc_inst *inst,
int rc = 0;
if (!inst) {
- dprintk(VIDC_ERR, "%s: invalid inst: %p\n", __func__, inst);
+ dprintk(VIDC_ERR, "%s: invalid inst: %pK\n", __func__, inst);
return -EINVAL;
}
@@ -695,7 +695,7 @@ int output_buffer_cache_invalidate(struct msm_vidc_inst *inst,
return 0;
if (!binfo) {
- dprintk(VIDC_ERR, "%s: invalid buffer info: %p\n",
+ dprintk(VIDC_ERR, "%s: invalid buffer info: %pK\n",
__func__, inst);
return -EINVAL;
}
@@ -777,7 +777,7 @@ int msm_vidc_release_buffers(void *instance, int buffer_type)
rc = msm_comm_try_state(inst, MSM_VIDC_RELEASE_RESOURCES_DONE);
if (rc) {
dprintk(VIDC_ERR,
- "Failed to move inst: %p to release res done\n",
+ "Failed to move inst: %pK to release res done\n",
inst);
}
}
@@ -841,7 +841,7 @@ free_and_unmap:
for (i = 0; i < bi->num_planes; i++) {
if (bi->handle[i] && bi->mapped[i]) {
dprintk(VIDC_DBG,
- "%s: [UNMAP] binfo = %p, handle[%d] = %p, device_addr = 0x%x, fd = %d, offset = %d, mapped = %d\n",
+ "%s: [UNMAP] binfo = %pK, handle[%d] = %pK, device_addr = 0x%x, fd = %d, offset = %d, mapped = %d\n",
__func__, bi, i, bi->handle[i],
bi->device_addr[i], bi->fd[i],
bi->buff_off[i], bi->mapped[i]);
@@ -1063,7 +1063,7 @@ int msm_vidc_enum_framesizes(void *instance, struct v4l2_frmsizeenum *fsize)
struct msm_vidc_core_capability *capability = NULL;
if (!inst || !fsize) {
- dprintk(VIDC_ERR, "%s: invalid parameter: %p %p\n",
+ dprintk(VIDC_ERR, "%s: invalid parameter: %pK %pK\n",
__func__, inst, fsize);
return -EINVAL;
}
@@ -1130,7 +1130,7 @@ void *msm_vidc_smem_get_client(void *instance)
struct msm_vidc_inst *inst = instance;
if (!inst || !inst->mem_client) {
- dprintk(VIDC_ERR, "%s: invalid instance or client = %p %p\n",
+ dprintk(VIDC_ERR, "%s: invalid instance or client = %pK %pK\n",
__func__, inst, inst->mem_client);
return NULL;
}
@@ -1258,7 +1258,7 @@ void *msm_vidc_open(int core_id, int session_type)
goto err_invalid_core;
}
- pr_info(VIDC_DBG_TAG "Opening video instance: %p, %d\n",
+ pr_info(VIDC_DBG_TAG "Opening video instance: %pK, %d\n",
VIDC_MSG_PRIO2STRING(VIDC_INFO), inst, session_type);
mutex_init(&inst->sync_lock);
mutex_init(&inst->bufq[CAPTURE_PORT].lock);
@@ -1462,7 +1462,7 @@ int msm_vidc_close(void *instance)
dprintk(VIDC_ERR,
"Failed to move video instance to uninit state\n");
- pr_info(VIDC_DBG_TAG "Closed video instance: %p\n",
+ pr_info(VIDC_DBG_TAG "Closed video instance: %pK\n",
VIDC_MSG_PRIO2STRING(VIDC_INFO), inst);
kfree(inst);
return 0;
diff --git a/drivers/media/platform/msm/vidc/msm_vidc_common.c b/drivers/media/platform/msm/vidc/msm_vidc_common.c
index dd9497ebee06..647ada1875b9 100644
--- a/drivers/media/platform/msm/vidc/msm_vidc_common.c
+++ b/drivers/media/platform/msm/vidc/msm_vidc_common.c
@@ -136,7 +136,7 @@ static inline int msm_comm_count_active_instances(struct msm_vidc_core *core)
int active_instances = 0;
struct msm_vidc_inst *inst = NULL;
if (!core) {
- dprintk(VIDC_ERR, "%s: Invalid args: %p\n", __func__, core);
+ dprintk(VIDC_ERR, "%s: Invalid args: %pK\n", __func__, core);
return -EINVAL;
}
@@ -194,7 +194,7 @@ static int msm_comm_get_load(struct msm_vidc_core *core,
int num_mbs_per_sec = 0;
if (!core) {
- dprintk(VIDC_ERR, "Invalid args: %p\n", core);
+ dprintk(VIDC_ERR, "Invalid args: %pK\n", core);
return -EINVAL;
}
@@ -291,13 +291,13 @@ static int msm_comm_vote_bus(struct msm_vidc_core *core)
struct vidc_bus_vote_data *vote_data = NULL;
if (!core) {
- dprintk(VIDC_ERR, "%s Invalid args: %p\n", __func__, core);
+ dprintk(VIDC_ERR, "%s Invalid args: %pK\n", __func__, core);
return -EINVAL;
}
hdev = core->device;
if (!hdev) {
- dprintk(VIDC_ERR, "%s Invalid device handle: %p\n",
+ dprintk(VIDC_ERR, "%s Invalid device handle: %pK\n",
__func__, hdev);
return -EINVAL;
}
@@ -392,7 +392,7 @@ const struct msm_vidc_format *msm_comm_get_pixel_fmt_index(
{
int i, k = 0;
if (!fmt || index < 0) {
- dprintk(VIDC_ERR, "Invalid inputs, fmt = %p, index = %d\n",
+ dprintk(VIDC_ERR, "Invalid inputs, fmt = %pK, index = %d\n",
fmt, index);
return NULL;
}
@@ -414,7 +414,7 @@ struct msm_vidc_format *msm_comm_get_pixel_fmt_fourcc(
{
int i;
if (!fmt) {
- dprintk(VIDC_ERR, "Invalid inputs, fmt = %p\n", fmt);
+ dprintk(VIDC_ERR, "Invalid inputs, fmt = %pK\n", fmt);
return NULL;
}
for (i = 0; i < size; i++) {
@@ -467,7 +467,7 @@ static void handle_sys_init_done(enum command_response cmd, void *data)
HAL_VIDEO_CODEC_MVC;
dprintk(VIDC_DBG, "supported_codecs: enc = 0x%x, dec = 0x%x\n",
core->enc_codec_supported, core->dec_codec_supported);
- dprintk(VIDC_DBG, "ptr[%d] = %p\n", index, &(core->completions[index]));
+ dprintk(VIDC_DBG, "ptr[%d] = %pK\n", index, &(core->completions[index]));
complete(&(core->completions[index]));
}
@@ -541,11 +541,11 @@ static void change_inst_state(struct msm_vidc_inst *inst,
mutex_lock(&inst->lock);
if (inst->state == MSM_VIDC_CORE_INVALID) {
dprintk(VIDC_DBG,
- "Inst: %p is in bad state can't change state\n",
+ "Inst: %pK is in bad state can't change state\n",
inst);
goto exit;
}
- dprintk(VIDC_DBG, "Moved inst: %p from state: %d to state: %d\n",
+ dprintk(VIDC_DBG, "Moved inst: %pK from state: %d to state: %d\n",
inst, inst->state, state);
inst->state = state;
exit:
@@ -556,7 +556,7 @@ static int signal_session_msg_receipt(enum command_response cmd,
struct msm_vidc_inst *inst)
{
if (!inst) {
- dprintk(VIDC_ERR, "Invalid(%p) instance id\n", inst);
+ dprintk(VIDC_ERR, "Invalid(%pK) instance id\n", inst);
return -EINVAL;
}
complete(&inst->completions[SESSION_MSG_INDEX(cmd)]);
@@ -572,7 +572,7 @@ static int wait_for_sess_signal_receipt(struct msm_vidc_inst *inst,
msecs_to_jiffies(msm_vidc_hw_rsp_timeout));
if (!rc) {
dprintk(VIDC_ERR,
- "%s: Wait interrupted or timeout[%p]: %d\n",
+ "%s: Wait interrupted or timeout[%pK]: %d\n",
__func__, inst->session, SESSION_MSG_INDEX(cmd));
msm_comm_kill_session(inst);
rc = -EIO;
@@ -589,7 +589,7 @@ static int wait_for_state(struct msm_vidc_inst *inst,
{
int rc = 0;
if (IS_ALREADY_IN_STATE(flipped_state, desired_state)) {
- dprintk(VIDC_INFO, "inst: %p is already in state: %d\n",
+ dprintk(VIDC_INFO, "inst: %pK is already in state: %d\n",
inst, inst->state);
goto err_same_state;
}
@@ -709,7 +709,7 @@ static void handle_event_change(enum command_response cmd, void *data)
u32 *ptr = NULL;
dprintk(VIDC_DBG,
- "%s - inst: %p buffer: %p extra: %p\n",
+ "%s - inst: %pK buffer: %pK extra: %pK\n",
__func__, inst,
event_notify->packet_buffer,
event_notify->exra_data_buffer);
@@ -956,33 +956,33 @@ static void handle_session_error(enum command_response cmd, void *data)
if (!inst || !inst->session || !inst->core->device) {
dprintk(VIDC_ERR,
- "Session (%p) not in a stable enough state to handle session error\n",
+ "Session (%pK) not in a stable enough state to handle session error\n",
inst);
return;
}
hdev = inst->core->device;
- dprintk(VIDC_WARN, "Session error received for session %p\n", inst);
+ dprintk(VIDC_WARN, "Session error received for session %pK\n", inst);
change_inst_state(inst, MSM_VIDC_CORE_INVALID);
mutex_lock(&inst->lock);
- dprintk(VIDC_DBG, "cleaning up inst: %p\n", inst);
+ dprintk(VIDC_DBG, "cleaning up inst: %pK\n", inst);
rc = call_hfi_op(hdev, session_clean, inst->session);
if (rc)
- dprintk(VIDC_ERR, "Session (%p) clean failed: %d\n", inst, rc);
+ dprintk(VIDC_ERR, "Session (%pK) clean failed: %d\n", inst, rc);
inst->session = NULL;
mutex_unlock(&inst->lock);
if (response->status == VIDC_ERR_MAX_CLIENTS) {
dprintk(VIDC_WARN,
- "send max clients reached error to client: %p\n",
+ "send max clients reached error to client: %pK\n",
inst);
msm_vidc_queue_v4l2_event(inst,
V4L2_EVENT_MSM_VIDC_MAX_CLIENTS);
} else {
dprintk(VIDC_ERR,
- "send session error to client: %p\n",
+ "send session error to client: %pK\n",
inst);
msm_vidc_queue_v4l2_event(inst,
V4L2_EVENT_MSM_VIDC_SYS_ERROR);
@@ -1060,7 +1060,7 @@ static void handle_sys_error(enum command_response cmd, void *data)
return;
}
- dprintk(VIDC_WARN, "SYS_ERROR %d received for core %p\n", cmd, core);
+ dprintk(VIDC_WARN, "SYS_ERROR %d received for core %pK\n", cmd, core);
mutex_lock(&core->lock);
core->state = VIDC_CORE_INVALID;
@@ -1076,12 +1076,12 @@ static void handle_sys_error(enum command_response cmd, void *data)
hdev = inst->core->device;
if (hdev && inst->session) {
dprintk(VIDC_DBG,
- "cleaning up inst: 0x%p\n", inst);
+ "cleaning up inst: 0x%pK\n", inst);
rc = call_hfi_op(hdev, session_clean,
(void *) inst->session);
if (rc)
dprintk(VIDC_ERR,
- "Sess clean failed :%p\n",
+ "Sess clean failed :%pK\n",
inst);
}
inst->session = NULL;
@@ -1126,7 +1126,7 @@ static void handle_session_close(enum command_response cmd, void *data)
hdev = inst->core->device;
mutex_lock(&inst->lock);
if (inst->session) {
- dprintk(VIDC_DBG, "cleaning up inst: 0x%p\n", inst);
+ dprintk(VIDC_DBG, "cleaning up inst: 0x%pK\n", inst);
call_hfi_op(hdev, session_clean,
(void *) inst->session);
}
@@ -1507,7 +1507,7 @@ static void handle_fbd(enum command_response cmd, void *data)
if (extra_idx && (extra_idx < VIDEO_MAX_PLANES)) {
dprintk(VIDC_DBG,
- "extradata: userptr = %p;"
+ "extradata: userptr = %pK;"
" bytesused = %d; length = %d\n",
(u8 *)vb->v4l2_planes[extra_idx].m.userptr,
vb->v4l2_planes[extra_idx].bytesused,
@@ -1672,7 +1672,7 @@ void msm_comm_init_dcvs_load(struct msm_vidc_inst *inst)
dprintk(VIDC_DBG, "Init DCVS Load\n");
if (!inst || !inst->core) {
- dprintk(VIDC_ERR, "%s Invalid args: %p\n", __func__, inst);
+ dprintk(VIDC_ERR, "%s Invalid args: %pK\n", __func__, inst);
return;
}
@@ -1748,7 +1748,7 @@ void msm_comm_init_dcvs(struct msm_vidc_inst *inst)
dprintk(VIDC_DBG, "Init DCVS Struct\n");
if (!inst) {
- dprintk(VIDC_ERR, "%s Invalid args: %p\n", __func__, inst);
+ dprintk(VIDC_ERR, "%s Invalid args: %pK\n", __func__, inst);
return;
}
@@ -1765,7 +1765,7 @@ static void msm_comm_monitor_ftb(struct msm_vidc_inst *inst)
struct dcvs_stats *dcvs;
if (!inst) {
- dprintk(VIDC_ERR, "%s Invalid args: %p\n", __func__, inst);
+ dprintk(VIDC_ERR, "%s Invalid args: %pK\n", __func__, inst);
return;
}
@@ -1968,13 +1968,13 @@ static int msm_comm_scale_clocks(struct msm_vidc_core *core)
struct hfi_device *hdev;
if (!core) {
- dprintk(VIDC_ERR, "%s Invalid args: %p\n", __func__, core);
+ dprintk(VIDC_ERR, "%s Invalid args: %pK\n", __func__, core);
return -EINVAL;
}
hdev = core->device;
if (!hdev) {
- dprintk(VIDC_ERR, "%s Invalid device handle: %p\n",
+ dprintk(VIDC_ERR, "%s Invalid device handle: %pK\n",
__func__, hdev);
return -EINVAL;
}
@@ -2212,7 +2212,7 @@ static int msm_comm_session_init(int flipped_state,
hdev = inst->core->device;
if (IS_ALREADY_IN_STATE(flipped_state, MSM_VIDC_OPEN)) {
- dprintk(VIDC_INFO, "inst: %p is already in state: %d\n",
+ dprintk(VIDC_INFO, "inst: %pK is already in state: %d\n",
inst, inst->state);
goto exit;
}
@@ -2314,7 +2314,7 @@ static int msm_vidc_load_resources(int flipped_state,
hdev = core->device;
if (IS_ALREADY_IN_STATE(flipped_state, MSM_VIDC_LOAD_RESOURCES)) {
- dprintk(VIDC_INFO, "inst: %p is already in state: %d\n",
+ dprintk(VIDC_INFO, "inst: %pK is already in state: %d\n",
inst, inst->state);
goto exit;
}
@@ -2370,7 +2370,7 @@ static int msm_vidc_start(int flipped_state, struct msm_vidc_inst *inst)
if (IS_ALREADY_IN_STATE(flipped_state, MSM_VIDC_START)) {
dprintk(VIDC_INFO,
- "inst: %p is already in state: %d\n",
+ "inst: %pK is already in state: %d\n",
inst, inst->state);
goto exit;
}
@@ -2400,7 +2400,7 @@ static int msm_vidc_stop(int flipped_state, struct msm_vidc_inst *inst)
if (IS_ALREADY_IN_STATE(flipped_state, MSM_VIDC_STOP)) {
dprintk(VIDC_INFO,
- "inst: %p is already in state: %d\n",
+ "inst: %pK is already in state: %d\n",
inst, inst->state);
goto exit;
}
@@ -2430,7 +2430,7 @@ static int msm_vidc_release_res(int flipped_state, struct msm_vidc_inst *inst)
if (IS_ALREADY_IN_STATE(flipped_state, MSM_VIDC_RELEASE_RESOURCES)) {
dprintk(VIDC_INFO,
- "inst: %p is already in state: %d\n",
+ "inst: %pK is already in state: %d\n",
inst, inst->state);
goto exit;
}
@@ -2462,7 +2462,7 @@ static int msm_comm_session_close(int flipped_state,
hdev = inst->core->device;
if (IS_ALREADY_IN_STATE(flipped_state, MSM_VIDC_CLOSE)) {
dprintk(VIDC_INFO,
- "inst: %p is already in state: %d\n",
+ "inst: %pK is already in state: %d\n",
inst, inst->state);
goto exit;
}
@@ -2791,16 +2791,16 @@ int msm_comm_try_state(struct msm_vidc_inst *inst, int state)
struct msm_vidc_core *core;
if (!inst) {
dprintk(VIDC_ERR,
- "Invalid instance pointer = %p\n", inst);
+ "Invalid instance pointer = %pK\n", inst);
return -EINVAL;
}
dprintk(VIDC_DBG,
- "Trying to move inst: %p from: 0x%x to 0x%x\n",
+ "Trying to move inst: %pK from: 0x%x to 0x%x\n",
inst, inst->state, state);
core = inst->core;
if (!core) {
dprintk(VIDC_ERR,
- "Invalid core pointer = %p\n", inst);
+ "Invalid core pointer = %pK\n", inst);
return -EINVAL;
}
mutex_lock(&inst->sync_lock);
@@ -2910,18 +2910,18 @@ int msm_comm_qbuf(struct vb2_buffer *vb)
q = vb->vb2_queue;
inst = q->drv_priv;
if (!inst || !vb) {
- dprintk(VIDC_ERR, "Invalid input: %p, %p\n", inst, vb);
+ dprintk(VIDC_ERR, "Invalid input: %pK, %pK\n", inst, vb);
return -EINVAL;
}
core = inst->core;
if (!core) {
dprintk(VIDC_ERR,
- "Invalid input: %p, %p, %p\n", inst, core, vb);
+ "Invalid input: %pK, %pK, %pK\n", inst, core, vb);
return -EINVAL;
}
hdev = core->device;
if (!hdev) {
- dprintk(VIDC_ERR, "Invalid input: %p\n", hdev);
+ dprintk(VIDC_ERR, "Invalid input: %pK\n", hdev);
return -EINVAL;
}
@@ -3058,7 +3058,7 @@ int msm_comm_qbuf(struct vb2_buffer *vb)
(void *) inst->session, &seq_hdr);
if (!rc) {
inst->vb2_seq_hdr = vb;
- dprintk(VIDC_DBG, "Seq_hdr: %p\n",
+ dprintk(VIDC_DBG, "Seq_hdr: %pK\n",
inst->vb2_seq_hdr);
}
atomic_dec(&inst->get_seq_hdr_cnt);
@@ -3192,7 +3192,7 @@ int msm_comm_try_get_prop(struct msm_vidc_inst *inst, enum hal_property ptype,
msecs_to_jiffies(msm_vidc_hw_rsp_timeout));
if (!rc) {
dprintk(VIDC_ERR,
- "%s: Wait interrupted or timeout[%p]: %d\n",
+ "%s: Wait interrupted or timeout[%pK]: %d\n",
__func__, inst->session,
SESSION_MSG_INDEX(SESSION_PROPERTY_INFO));
inst->state = MSM_VIDC_CORE_INVALID;
@@ -3229,18 +3229,18 @@ int msm_comm_release_output_buffers(struct msm_vidc_inst *inst)
struct hfi_device *hdev;
if (!inst) {
dprintk(VIDC_ERR,
- "Invalid instance pointer = %p\n", inst);
+ "Invalid instance pointer = %pK\n", inst);
return -EINVAL;
}
core = inst->core;
if (!core) {
dprintk(VIDC_ERR,
- "Invalid core pointer = %p\n", core);
+ "Invalid core pointer = %pK\n", core);
return -EINVAL;
}
hdev = core->device;
if (!hdev) {
- dprintk(VIDC_ERR, "Invalid device pointer = %p\n", hdev);
+ dprintk(VIDC_ERR, "Invalid device pointer = %pK\n", hdev);
return -EINVAL;
}
mutex_lock(&inst->lock);
@@ -3286,18 +3286,18 @@ int msm_comm_release_scratch_buffers(struct msm_vidc_inst *inst)
struct hfi_device *hdev;
if (!inst) {
dprintk(VIDC_ERR,
- "Invalid instance pointer = %p\n", inst);
+ "Invalid instance pointer = %pK\n", inst);
return -EINVAL;
}
core = inst->core;
if (!core) {
dprintk(VIDC_ERR,
- "Invalid core pointer = %p\n", core);
+ "Invalid core pointer = %pK\n", core);
return -EINVAL;
}
hdev = core->device;
if (!hdev) {
- dprintk(VIDC_ERR, "Invalid device pointer = %p\n", hdev);
+ dprintk(VIDC_ERR, "Invalid device pointer = %pK\n", hdev);
return -EINVAL;
}
mutex_lock(&inst->lock);
@@ -3355,18 +3355,18 @@ int msm_comm_release_persist_buffers(struct msm_vidc_inst *inst)
struct hfi_device *hdev;
if (!inst) {
dprintk(VIDC_ERR,
- "Invalid instance pointer = %p\n", inst);
+ "Invalid instance pointer = %pK\n", inst);
return -EINVAL;
}
core = inst->core;
if (!core) {
dprintk(VIDC_ERR,
- "Invalid core pointer = %p\n", core);
+ "Invalid core pointer = %pK\n", core);
return -EINVAL;
}
hdev = core->device;
if (!hdev) {
- dprintk(VIDC_ERR, "Invalid device pointer = %p\n", hdev);
+ dprintk(VIDC_ERR, "Invalid device pointer = %pK\n", hdev);
return -EINVAL;
}
mutex_lock(&inst->lock);
@@ -3419,7 +3419,7 @@ int msm_comm_try_set_prop(struct msm_vidc_inst *inst,
int rc = 0;
struct hfi_device *hdev;
if (!inst) {
- dprintk(VIDC_ERR, "Invalid input: %p\n", inst);
+ dprintk(VIDC_ERR, "Invalid input: %pK\n", inst);
return -EINVAL;
}
@@ -3646,7 +3646,7 @@ void msm_comm_flush_pending_dynamic_buffers(struct msm_vidc_inst *inst)
if (binfo && binfo->type ==
V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
dprintk(VIDC_DBG,
- "%s: binfo = %p device_addr = 0x%pa\n",
+ "%s: binfo = %pK device_addr = 0x%pa\n",
__func__, binfo, &binfo->device_addr[0]);
buf_ref_put(inst, binfo);
}
@@ -3665,18 +3665,18 @@ int msm_comm_flush(struct msm_vidc_inst *inst, u32 flags)
struct hfi_device *hdev;
if (!inst) {
dprintk(VIDC_ERR,
- "Invalid instance pointer = %p\n", inst);
+ "Invalid instance pointer = %pK\n", inst);
return -EINVAL;
}
core = inst->core;
if (!core) {
dprintk(VIDC_ERR,
- "Invalid core pointer = %p\n", core);
+ "Invalid core pointer = %pK\n", core);
return -EINVAL;
}
hdev = core->device;
if (!hdev) {
- dprintk(VIDC_ERR, "Invalid device pointer = %p\n", hdev);
+ dprintk(VIDC_ERR, "Invalid device pointer = %pK\n", hdev);
return -EINVAL;
}
@@ -3693,7 +3693,7 @@ int msm_comm_flush(struct msm_vidc_inst *inst, u32 flags)
if (inst->state == MSM_VIDC_CORE_INVALID ||
core->state == VIDC_CORE_INVALID) {
dprintk(VIDC_ERR,
- "Core %p and inst %p are in bad state\n",
+ "Core %pK and inst %pK are in bad state\n",
core, inst);
msm_comm_flush_in_invalid_state(inst);
return 0;
@@ -3889,7 +3889,7 @@ int msm_vidc_trigger_ssr(struct msm_vidc_core *core,
int rc = 0;
struct hfi_device *hdev;
if (!core || !core->device) {
- dprintk(VIDC_WARN, "Invalid parameters: %p\n", core);
+ dprintk(VIDC_WARN, "Invalid parameters: %pK\n", core);
return -EINVAL;
}
hdev = core->device;
@@ -4173,7 +4173,7 @@ int msm_comm_kill_session(struct msm_vidc_inst *inst)
msecs_to_jiffies(msm_vidc_hw_rsp_timeout));
if (!rc) {
dprintk(VIDC_ERR,
- "%s: Wait interrupted or timed out [%p]: %d\n",
+ "%s: Wait interrupted or timed out [%pK]: %d\n",
__func__, inst, abort_completion);
msm_comm_generate_sys_error(inst);
} else {
@@ -4181,7 +4181,7 @@ int msm_comm_kill_session(struct msm_vidc_inst *inst)
}
} else {
dprintk(VIDC_WARN,
- "Inactive session %p, triggering an internal session error\n",
+ "Inactive session %pK, triggering an internal session error\n",
inst);
msm_comm_generate_session_error(inst);
@@ -4211,7 +4211,7 @@ struct msm_smem *msm_comm_smem_alloc(struct msm_vidc_inst *inst,
enum hal_buffer buffer_type, int map_kernel)
{
if (!inst) {
- dprintk(VIDC_ERR, "%s: invalid inst: %p\n", __func__, inst);
+ dprintk(VIDC_ERR, "%s: invalid inst: %pK\n", __func__, inst);
return NULL;
}
if (power_on_for_smem(inst))
@@ -4225,7 +4225,7 @@ void msm_comm_smem_free(struct msm_vidc_inst *inst, struct msm_smem *mem)
{
if (!inst || !mem) {
dprintk(VIDC_ERR,
- "%s: invalid params: %p %p\n", __func__, inst, mem);
+ "%s: invalid params: %pK %pK\n", __func__, inst, mem);
return;
}
if (power_on_for_smem(inst))
@@ -4239,7 +4239,7 @@ int msm_comm_smem_cache_operations(struct msm_vidc_inst *inst,
{
if (!inst || !mem) {
dprintk(VIDC_ERR,
- "%s: invalid params: %p %p\n", __func__, inst, mem);
+ "%s: invalid params: %pK %pK\n", __func__, inst, mem);
return -EINVAL;
}
return msm_smem_cache_operations(inst->mem_client, mem, cache_ops);
@@ -4249,7 +4249,7 @@ struct msm_smem *msm_comm_smem_user_to_kernel(struct msm_vidc_inst *inst,
int fd, u32 offset, enum hal_buffer buffer_type)
{
if (!inst) {
- dprintk(VIDC_ERR, "%s: invalid inst: %p\n", __func__, inst);
+ dprintk(VIDC_ERR, "%s: invalid inst: %pK\n", __func__, inst);
return NULL;
}
if (power_on_for_smem(inst))
@@ -4264,7 +4264,7 @@ int msm_comm_smem_get_domain_partition(struct msm_vidc_inst *inst,
int *domain_num, int *partition_num)
{
if (!inst || !domain_num || !partition_num) {
- dprintk(VIDC_ERR, "%s: invalid params: %p %p %p\n",
+ dprintk(VIDC_ERR, "%s: invalid params: %pK %pK %pK\n",
__func__, inst, domain_num, partition_num);
return -EINVAL;
}
diff --git a/drivers/media/platform/msm/vidc/msm_vidc_debug.c b/drivers/media/platform/msm/vidc/msm_vidc_debug.c
index 2f217a543b4d..05118041f000 100644
--- a/drivers/media/platform/msm/vidc/msm_vidc_debug.c
+++ b/drivers/media/platform/msm/vidc/msm_vidc_debug.c
@@ -66,13 +66,13 @@ static ssize_t core_info_read(struct file *file, char __user *buf,
struct hfi_device *hdev;
int i = 0;
if (!core || !core->device) {
- dprintk(VIDC_ERR, "Invalid params, core: %p\n", core);
+ dprintk(VIDC_ERR, "Invalid params, core: %pK\n", core);
return 0;
}
hdev = core->device;
INIT_DBG_BUF(dbg_buf);
write_str(&dbg_buf, "===============================\n");
- write_str(&dbg_buf, "CORE %d: 0x%p\n", core->id, core);
+ write_str(&dbg_buf, "CORE %d: 0x%pK\n", core->id, core);
write_str(&dbg_buf, "===============================\n");
write_str(&dbg_buf, "state: %d\n", core->state);
write_str(&dbg_buf, "base addr: 0x%x\n",
@@ -191,7 +191,7 @@ struct dentry *msm_vidc_debugfs_init_core(struct msm_vidc_core *core,
struct dentry *dir = NULL;
char debugfs_name[MAX_DEBUGFS_NAME];
if (!core) {
- dprintk(VIDC_ERR, "Invalid params, core: %p\n", core);
+ dprintk(VIDC_ERR, "Invalid params, core: %pK\n", core);
goto failed_create_dir;
}
@@ -257,15 +257,15 @@ static ssize_t inst_info_read(struct file *file, char __user *buf,
struct msm_vidc_inst *inst = file->private_data;
int i, j;
if (!inst) {
- dprintk(VIDC_ERR, "Invalid params, core: %p\n", inst);
+ dprintk(VIDC_ERR, "Invalid params, core: %pK\n", inst);
return 0;
}
INIT_DBG_BUF(dbg_buf);
write_str(&dbg_buf, "===============================\n");
- write_str(&dbg_buf, "INSTANCE: 0x%p (%s)\n", inst,
+ write_str(&dbg_buf, "INSTANCE: 0x%pK (%s)\n", inst,
inst->session_type == MSM_VIDC_ENCODER ? "Encoder" : "Decoder");
write_str(&dbg_buf, "===============================\n");
- write_str(&dbg_buf, "core: 0x%p\n", inst->core);
+ write_str(&dbg_buf, "core: 0x%pK\n", inst->core);
write_str(&dbg_buf, "height: %d\n", inst->prop.height[CAPTURE_PORT]);
write_str(&dbg_buf, "width: %d\n", inst->prop.width[CAPTURE_PORT]);
write_str(&dbg_buf, "fps: %d\n", inst->prop.fps);
@@ -323,10 +323,10 @@ struct dentry *msm_vidc_debugfs_init_inst(struct msm_vidc_inst *inst,
struct dentry *dir = NULL;
char debugfs_name[MAX_DEBUGFS_NAME];
if (!inst) {
- dprintk(VIDC_ERR, "Invalid params, inst: %p\n", inst);
+ dprintk(VIDC_ERR, "Invalid params, inst: %pK\n", inst);
goto failed_create_dir;
}
- snprintf(debugfs_name, MAX_DEBUGFS_NAME, "inst_%p", inst);
+ snprintf(debugfs_name, MAX_DEBUGFS_NAME, "inst_%pK", inst);
dir = debugfs_create_dir(debugfs_name, parent);
if (!dir) {
dprintk(VIDC_ERR, "Failed to create debugfs for msm_vidc\n");
diff --git a/drivers/media/platform/msm/vidc/q6_hfi.c b/drivers/media/platform/msm/vidc/q6_hfi.c
index 806f57601232..b83b9c5e5518 100644
--- a/drivers/media/platform/msm/vidc/q6_hfi.c
+++ b/drivers/media/platform/msm/vidc/q6_hfi.c
@@ -202,7 +202,7 @@ static int q6_hfi_register_iommu_domains(struct q6_hfi_device *device)
struct iommu_info *iommu_map;
if (!device || !device->res) {
- dprintk(VIDC_ERR, "Invalid parameter: %p\n", device);
+ dprintk(VIDC_ERR, "Invalid parameter: %pK\n", device);
return -EINVAL;
}
@@ -220,7 +220,7 @@ static int q6_hfi_register_iommu_domains(struct q6_hfi_device *device)
domain = iommu_group_get_iommudata(iommu_map->group);
if (IS_ERR_OR_NULL(domain)) {
dprintk(VIDC_ERR,
- "Failed to get domain data for group %p\n",
+ "Failed to get domain data for group %pK\n",
iommu_map->group);
rc = -EINVAL;
goto fail_group;
@@ -228,7 +228,7 @@ static int q6_hfi_register_iommu_domains(struct q6_hfi_device *device)
iommu_map->domain = msm_find_domain_no(domain);
if (iommu_map->domain < 0) {
dprintk(VIDC_ERR,
- "Failed to get domain index for domain %p\n",
+ "Failed to get domain index for domain %pK\n",
domain);
rc = -EINVAL;
goto fail_group;
@@ -254,7 +254,7 @@ static void q6_hfi_deregister_iommu_domains(struct q6_hfi_device *device)
int i = 0;
if (!device || !device->res) {
- dprintk(VIDC_ERR, "Invalid parameter: %p\n", device);
+ dprintk(VIDC_ERR, "Invalid parameter: %pK\n", device);
return;
}
@@ -347,7 +347,7 @@ static void *q6_hfi_get_device(u32 device_id,
int rc = 0;
if (!callback) {
- dprintk(VIDC_ERR, "%s Invalid params: %p\n",
+ dprintk(VIDC_ERR, "%s Invalid params: %pK\n",
__func__, callback);
return NULL;
}
@@ -1211,7 +1211,7 @@ static int q6_hfi_iommu_attach(struct q6_hfi_device *device)
struct iommu_info *iommu_map;
if (!device || !device->res) {
- dprintk(VIDC_ERR, "Invalid parameter: %p\n", device);
+ dprintk(VIDC_ERR, "Invalid parameter: %pK\n", device);
return -EINVAL;
}
@@ -1226,7 +1226,7 @@ static int q6_hfi_iommu_attach(struct q6_hfi_device *device)
rc = IS_ERR(domain) ? PTR_ERR(domain) : -EINVAL;
break;
}
- dprintk(VIDC_DBG, "Attaching domain(id:%d) %p to group %p\n",
+ dprintk(VIDC_DBG, "Attaching domain(id:%d) %pK to group %pK\n",
iommu_map->domain, domain, group);
rc = iommu_attach_group(domain, group);
if (rc) {
@@ -1257,7 +1257,7 @@ static void q6_hfi_iommu_detach(struct q6_hfi_device *device)
int i;
if (!device || !device->res) {
- dprintk(VIDC_ERR, "Invalid parameter: %p\n", device);
+ dprintk(VIDC_ERR, "Invalid parameter: %pK\n", device);
return;
}
@@ -1386,7 +1386,7 @@ int q6_hfi_initialize(struct hfi_device *hdev, u32 device_id,
int rc = 0;
if (!hdev || !res || !callback) {
- dprintk(VIDC_ERR, "Invalid params: %p %p %p\n",
+ dprintk(VIDC_ERR, "Invalid params: %pK %pK %pK\n",
hdev, res, callback);
rc = -EINVAL;
goto err_hfi_init;
diff --git a/drivers/media/platform/msm/vidc/venus_hfi.c b/drivers/media/platform/msm/vidc/venus_hfi.c
index 184cbb416e7f..f7f817d1c6f6 100644
--- a/drivers/media/platform/msm/vidc/venus_hfi.c
+++ b/drivers/media/platform/msm/vidc/venus_hfi.c
@@ -265,7 +265,7 @@ static int venus_hfi_write_queue(void *info, u8 *packet, u32 *rx_req_is_set)
venus_hfi_sim_modify_cmd_packet(packet);
if (msm_vidc_debug & VIDC_PKT) {
- dprintk(VIDC_PKT, "%s: %p\n", __func__, qinfo);
+ dprintk(VIDC_PKT, "%s: %pK\n", __func__, qinfo);
venus_hfi_dump_packet(packet);
}
@@ -448,7 +448,7 @@ static int venus_hfi_read_queue(void *info, u8 *packet, u32 *pb_tx_req_is_set)
*pb_tx_req_is_set = (1 == queue->qhdr_tx_req) ? 1 : 0;
venus_hfi_hal_sim_modify_msg_packet(packet);
if (msm_vidc_debug & VIDC_PKT) {
- dprintk(VIDC_PKT, "%s: %p\n", __func__, qinfo);
+ dprintk(VIDC_PKT, "%s: %pK\n", __func__, qinfo);
venus_hfi_dump_packet(packet);
}
return rc;
@@ -478,7 +478,7 @@ static int venus_hfi_alloc(struct venus_hfi_device *dev, void *mem,
rc = -ENOMEM;
goto fail_smem_alloc;
}
- dprintk(VIDC_DBG, "venus_hfi_alloc: ptr = %p, size = %d\n",
+ dprintk(VIDC_DBG, "venus_hfi_alloc: ptr = %pK, size = %d\n",
alloc->kvaddr, size);
rc = msm_smem_cache_operations(dev->hal_client, alloc,
SMEM_CACHE_CLEAN);
@@ -498,7 +498,7 @@ fail_smem_alloc:
static void venus_hfi_free(struct venus_hfi_device *dev, struct msm_smem *mem)
{
if (!dev || !mem) {
- dprintk(VIDC_ERR, "invalid param %p %p\n", dev, mem);
+ dprintk(VIDC_ERR, "invalid param %pK %pK\n", dev, mem);
return;
}
venus_hfi_power_enable(dev);
@@ -511,7 +511,7 @@ static void venus_hfi_write_register(struct venus_hfi_device *device, u32 reg,
u32 hwiosymaddr = reg;
u8 *base_addr;
if (!device) {
- dprintk(VIDC_ERR, "Invalid params: %p\n", device);
+ dprintk(VIDC_ERR, "Invalid params: %pK\n", device);
return;
}
@@ -551,7 +551,7 @@ static int venus_hfi_read_register(struct venus_hfi_device *device, u32 reg)
int rc ;
u8 *base_addr;
if (!device) {
- dprintk(VIDC_ERR, "Invalid params: %p\n", device);
+ dprintk(VIDC_ERR, "Invalid params: %pK\n", device);
return -EINVAL;
}
@@ -663,7 +663,7 @@ static void venus_hfi_iommu_detach(struct venus_hfi_device *device)
int i;
if (!device || !device->res) {
- dprintk(VIDC_ERR, "Invalid paramter: %p\n", device);
+ dprintk(VIDC_ERR, "Invalid paramter: %pK\n", device);
return;
}
@@ -954,7 +954,7 @@ static inline int venus_hfi_clk_enable(struct venus_hfi_device *device)
struct clock_info *cl;
if (!device) {
- dprintk(VIDC_ERR, "Invalid params: %p\n", device);
+ dprintk(VIDC_ERR, "Invalid params: %pK\n", device);
return -EINVAL;
}
if (device->clocks_enabled) {
@@ -1000,7 +1000,7 @@ static inline void venus_hfi_clk_disable(struct venus_hfi_device *device)
struct clock_info *cl;
if (!device) {
- dprintk(VIDC_ERR, "Invalid params: %p\n", device);
+ dprintk(VIDC_ERR, "Invalid params: %pK\n", device);
return;
}
if (!device->clocks_enabled) {
@@ -1039,7 +1039,7 @@ static int venus_hfi_halt_axi(struct venus_hfi_device *device)
u32 reg;
int rc = 0;
if (!device) {
- dprintk(VIDC_ERR, "Invalid input: %p\n", device);
+ dprintk(VIDC_ERR, "Invalid input: %pK\n", device);
return -EINVAL;
}
if (venus_hfi_clk_gating_off(device)) {
@@ -1066,7 +1066,7 @@ static inline int venus_hfi_power_off(struct venus_hfi_device *device)
{
int rc = 0;
if (!device) {
- dprintk(VIDC_ERR, "Invalid params: %p\n", device);
+ dprintk(VIDC_ERR, "Invalid params: %pK\n", device);
return -EINVAL;
}
if (!device->power_enabled) {
@@ -1106,7 +1106,7 @@ static inline int venus_hfi_power_on(struct venus_hfi_device *device)
{
int rc = 0;
if (!device) {
- dprintk(VIDC_ERR, "Invalid params: %p\n", device);
+ dprintk(VIDC_ERR, "Invalid params: %pK\n", device);
return -EINVAL;
}
@@ -1194,7 +1194,7 @@ static int venus_hfi_power_enable(void *dev)
int rc = 0;
struct venus_hfi_device *device = dev;
if (!device) {
- dprintk(VIDC_ERR, "Invalid params: %p\n", device);
+ dprintk(VIDC_ERR, "Invalid params: %pK\n", device);
return -EINVAL;
}
mutex_lock(&device->clk_pwr_lock);
@@ -1212,7 +1212,7 @@ static inline int venus_hfi_clk_gating_off(struct venus_hfi_device *device)
{
int rc = 0;
if (!device) {
- dprintk(VIDC_ERR, "Invalid params: %p\n", device);
+ dprintk(VIDC_ERR, "Invalid params: %pK\n", device);
return -EINVAL;
}
if (device->clocks_enabled) {
@@ -1250,7 +1250,7 @@ static int venus_hfi_scale_clocks(void *dev, int load)
struct clock_info *cl;
if (!device) {
- dprintk(VIDC_ERR, "Invalid args: %p\n", device);
+ dprintk(VIDC_ERR, "Invalid args: %pK\n", device);
return -EINVAL;
}
device->clk_load = load;
@@ -1877,7 +1877,7 @@ static int venus_hfi_get_q_size(struct venus_hfi_device *dev,
static inline void venus_hfi_clk_gating_on(struct venus_hfi_device *device)
{
if (!device) {
- dprintk(VIDC_ERR, "Invalid params: %p\n", device);
+ dprintk(VIDC_ERR, "Invalid params: %pK\n", device);
return;
}
if (!device->clocks_enabled) {
@@ -2221,7 +2221,7 @@ static int venus_hfi_session_clean(void *session)
return -EINVAL;
}
sess_close = session;
- dprintk(VIDC_DBG, "deleted the session: 0x%p\n",
+ dprintk(VIDC_DBG, "deleted the session: 0x%pK\n",
sess_close);
mutex_lock(&((struct venus_hfi_device *)
sess_close->device)->session_lock);
@@ -2759,7 +2759,7 @@ static void venus_hfi_core_work_handler(struct work_struct *work)
dprintk(VIDC_INFO, "GOT INTERRUPT\n");
if (!device->callback) {
- dprintk(VIDC_ERR, "No interrupt callback function: %p\n",
+ dprintk(VIDC_ERR, "No interrupt callback function: %pK\n",
device);
return;
}
@@ -2843,7 +2843,7 @@ static inline int venus_hfi_init_clocks(struct msm_vidc_platform_resources *res,
struct clock_info *cl = NULL;
if (!res || !device) {
- dprintk(VIDC_ERR, "Invalid params: %p\n", device);
+ dprintk(VIDC_ERR, "Invalid params: %pK\n", device);
return -EINVAL;
}
@@ -2909,7 +2909,7 @@ static inline void venus_hfi_disable_clks(struct venus_hfi_device *device)
{
struct clock_info *cl;
if (!device) {
- dprintk(VIDC_ERR, "Invalid params: %p\n", device);
+ dprintk(VIDC_ERR, "Invalid params: %pK\n", device);
return;
}
@@ -2935,7 +2935,7 @@ static inline int venus_hfi_enable_clks(struct venus_hfi_device *device)
struct clock_info *cl = NULL, *cl_fail = NULL;
int rc = 0;
if (!device) {
- dprintk(VIDC_ERR, "Invalid params: %p\n", device);
+ dprintk(VIDC_ERR, "Invalid params: %pK\n", device);
return -EINVAL;
}
@@ -2992,7 +2992,7 @@ static int venus_hfi_register_iommu_domains(struct venus_hfi_device *device,
domain = iommu_group_get_iommudata(iommu_map->group);
if (!domain) {
dprintk(VIDC_ERR,
- "Failed to get domain data for group %p\n",
+ "Failed to get domain data for group %pK\n",
iommu_map->group);
rc = -EINVAL;
goto fail_group;
@@ -3000,7 +3000,7 @@ static int venus_hfi_register_iommu_domains(struct venus_hfi_device *device,
iommu_map->domain = msm_find_domain_no(domain);
if (iommu_map->domain < 0) {
dprintk(VIDC_ERR,
- "Failed to get domain index for domain %p\n",
+ "Failed to get domain index for domain %pK\n",
domain);
rc = -EINVAL;
goto fail_group;
@@ -3105,7 +3105,7 @@ static int venus_hfi_set_ocmem(void *dev, struct ocmem_buf *ocmem)
struct venus_hfi_device *device = dev;
int rc = 0;
if (!device || !ocmem) {
- dprintk(VIDC_ERR, "Invalid params, core:%p, ocmem: %p\n",
+ dprintk(VIDC_ERR, "Invalid params, core:%pK, ocmem: %pK\n",
device, ocmem);
return -EINVAL;
}
@@ -3130,7 +3130,7 @@ static int venus_hfi_unset_ocmem(void *dev)
int rc = 0;
if (!device) {
- dprintk(VIDC_ERR, "%s Invalid params, device:%p\n",
+ dprintk(VIDC_ERR, "%s Invalid params, device:%pK\n",
__func__, device);
rc = -EINVAL;
goto ocmem_unset_failed;
@@ -3202,7 +3202,7 @@ static int venus_hfi_alloc_ocmem(void *dev, unsigned long size)
struct venus_hfi_device *device = dev;
if (!device || !size) {
- dprintk(VIDC_ERR, "%s Invalid param, core: %p, size: %lu\n",
+ dprintk(VIDC_ERR, "%s Invalid param, core: %pK, size: %lu\n",
__func__, device, size);
return -EINVAL;
}
@@ -3246,7 +3246,7 @@ static int venus_hfi_free_ocmem(void *dev)
int rc = 0;
if (!device) {
- dprintk(VIDC_ERR, "%s invalid device handle %p\n",
+ dprintk(VIDC_ERR, "%s invalid device handle %pK\n",
__func__, device);
return -EINVAL;
}
@@ -3316,7 +3316,7 @@ static int venus_hfi_init_resources(struct venus_hfi_device *device,
device->res = res;
if (!res) {
- dprintk(VIDC_ERR, "Invalid params: %p\n", res);
+ dprintk(VIDC_ERR, "Invalid params: %pK\n", res);
return -ENODEV;
}
@@ -3378,7 +3378,7 @@ static int venus_hfi_iommu_get_domain_partition(void *dev, u32 flags,
struct venus_hfi_device *device = dev;
if (!device) {
- dprintk(VIDC_ERR, "%s: Invalid param device: %p\n",
+ dprintk(VIDC_ERR, "%s: Invalid param device: %pK\n",
__func__, device);
return -EINVAL;
}
@@ -3402,7 +3402,7 @@ static int protect_cp_mem(struct venus_hfi_device *device)
iommu_group_set = &device->res->iommu_group_set;
if (!iommu_group_set) {
- dprintk(VIDC_ERR, "invalid params: %p\n", iommu_group_set);
+ dprintk(VIDC_ERR, "invalid params: %pK\n", iommu_group_set);
return -EINVAL;
}
@@ -3559,7 +3559,7 @@ static int venus_hfi_load_fw(void *dev)
struct venus_hfi_device *device = dev;
if (!device) {
- dprintk(VIDC_ERR, "%s Invalid paramter: %p\n",
+ dprintk(VIDC_ERR, "%s Invalid paramter: %pK\n",
__func__, device);
return -EINVAL;
}
@@ -3630,7 +3630,7 @@ static void venus_hfi_unload_fw(void *dev)
{
struct venus_hfi_device *device = dev;
if (!device) {
- dprintk(VIDC_ERR, "%s Invalid paramter: %p\n",
+ dprintk(VIDC_ERR, "%s Invalid paramter: %pK\n",
__func__, device);
return;
}
@@ -3661,7 +3661,7 @@ static int venus_hfi_resurrect_fw(void *dev)
int rc = 0;
if (!device) {
- dprintk(VIDC_ERR, "%s Invalid paramter: %p\n",
+ dprintk(VIDC_ERR, "%s Invalid paramter: %pK\n",
__func__, device);
return -EINVAL;
}
@@ -3708,7 +3708,7 @@ static int venus_hfi_get_fw_info(void *dev, enum fw_info info)
struct venus_hfi_device *device = dev;
if (!device) {
- dprintk(VIDC_ERR, "%s Invalid paramter: %p\n",
+ dprintk(VIDC_ERR, "%s Invalid paramter: %pK\n",
__func__, device);
return -EINVAL;
}
@@ -3872,7 +3872,7 @@ static void *venus_hfi_get_device(u32 device_id,
int rc = 0;
if (!res || !callback) {
- dprintk(VIDC_ERR, "Invalid params: %p %p\n", res, callback);
+ dprintk(VIDC_ERR, "Invalid params: %pK %pK\n", res, callback);
return NULL;
}
@@ -3969,7 +3969,7 @@ int venus_hfi_initialize(struct hfi_device *hdev, u32 device_id,
int rc = 0;
if (!hdev || !res || !callback) {
- dprintk(VIDC_ERR, "Invalid params: %p %p %p\n",
+ dprintk(VIDC_ERR, "Invalid params: %pK %pK %pK\n",
hdev, res, callback);
rc = -EINVAL;
goto err_venus_hfi_init;
diff --git a/drivers/media/platform/msm/vidc/vidc_hfi.c b/drivers/media/platform/msm/vidc/vidc_hfi.c
index ef0de370eb09..a9e87a03720c 100644
--- a/drivers/media/platform/msm/vidc/vidc_hfi.c
+++ b/drivers/media/platform/msm/vidc/vidc_hfi.c
@@ -61,7 +61,7 @@ void vidc_hfi_deinitialize(enum msm_vidc_hfi_type hfi_type,
struct hfi_device *hdev)
{
if (!hdev) {
- dprintk(VIDC_ERR, "%s invalid device %p", __func__, hdev);
+ dprintk(VIDC_ERR, "%s invalid device %pK", __func__, hdev);
return;
}
diff --git a/drivers/misc/qcom/qdsp6v2/audio_utils.c b/drivers/misc/qcom/qdsp6v2/audio_utils.c
index f39cfb7de83e..5a99932b61a9 100644
--- a/drivers/misc/qcom/qdsp6v2/audio_utils.c
+++ b/drivers/misc/qcom/qdsp6v2/audio_utils.c
@@ -23,11 +23,14 @@
#include <asm/ioctls.h>
#include "audio_utils.h"
-#define MIN_FRAME_SIZE 1536
-#define NUM_FRAMES 5
+/*
+ * Define maximum buffer size. Below values are chosen considering the higher
+ * values used among all native drivers.
+ */
+#define MAX_FRAME_SIZE 1536
+#define MAX_FRAMES 5
#define META_SIZE (sizeof(struct meta_out_dsp))
-#define FRAME_SIZE (1 + ((MIN_FRAME_SIZE + META_SIZE) * NUM_FRAMES))
-
+#define MAX_BUFFER_SIZE (1 + ((MAX_FRAME_SIZE + META_SIZE) * MAX_FRAMES))
static int audio_in_pause(struct q6audio_in *audio)
{
@@ -264,8 +267,7 @@ long audio_in_ioctl(struct file *file,
rc = -EINVAL;
break;
}
- if ((cfg.buffer_size > FRAME_SIZE) ||
- (cfg.buffer_count != FRAME_NUM)) {
+ if (cfg.buffer_size > MAX_BUFFER_SIZE) {
rc = -EINVAL;
break;
}
diff --git a/drivers/misc/qseecom.c b/drivers/misc/qseecom.c
index 272be10bf8ae..21fd727e99de 100644
--- a/drivers/misc/qseecom.c
+++ b/drivers/misc/qseecom.c
@@ -1192,7 +1192,7 @@ int __qseecom_process_rpmb_svc_cmd(struct qseecom_dev_handle *data_ptr,
void *req_buf = NULL;
if ((req_ptr == NULL) || (send_svc_ireq_ptr == NULL)) {
- pr_err("Error with pointer: req_ptr = %p, send_svc_ptr = %p\n",
+ pr_err("Error with pointer: req_ptr = %pK, send_svc_ptr = %pK\n",
req_ptr, send_svc_ireq_ptr);
return -EINVAL;
}
@@ -2374,7 +2374,7 @@ int qseecom_send_command(struct qseecom_handle *handle, void *send_buf,
if (ret)
return ret;
- pr_debug("sending cmd_req->rsp size: %u, ptr: 0x%p\n",
+ pr_debug("sending cmd_req->rsp size: %u, ptr: 0x%pK\n",
req.resp_len, req.resp_buf);
return ret;
}
diff --git a/drivers/staging/android/ion/ion_heap.c b/drivers/staging/android/ion/ion_heap.c
index e176e2babe22..e9e604e8bde4 100644
--- a/drivers/staging/android/ion/ion_heap.c
+++ b/drivers/staging/android/ion/ion_heap.c
@@ -344,8 +344,9 @@ struct ion_heap *ion_heap_create(struct ion_platform_heap *heap_data)
switch (heap_data->type) {
case ION_HEAP_TYPE_SYSTEM_CONTIG:
- heap = ion_system_contig_heap_create(heap_data);
- break;
+ pr_err("%s: Heap type is disabled: %d\n", __func__,
+ heap_data->type);
+ return ERR_PTR(-EINVAL);
case ION_HEAP_TYPE_SYSTEM:
heap = ion_system_heap_create(heap_data);
break;
@@ -381,7 +382,8 @@ void ion_heap_destroy(struct ion_heap *heap)
switch (heap->type) {
case ION_HEAP_TYPE_SYSTEM_CONTIG:
- ion_system_contig_heap_destroy(heap);
+ pr_err("%s: Heap type is disabled: %d\n", __func__,
+ heap->type);
break;
case ION_HEAP_TYPE_SYSTEM:
ion_system_heap_destroy(heap);
diff --git a/drivers/tty/tty_ldisc.c b/drivers/tty/tty_ldisc.c
index b7b8048f1253..420dd6e52a27 100644
--- a/drivers/tty/tty_ldisc.c
+++ b/drivers/tty/tty_ldisc.c
@@ -415,6 +415,10 @@ EXPORT_SYMBOL_GPL(tty_ldisc_flush);
* they are not on hot paths so a little discipline won't do
* any harm.
*
+ * The line discipline-related tty_struct fields are reset to
+ * prevent the ldisc driver from re-using stale information for
+ * the new ldisc instance.
+ *
* Locking: takes termios_mutex
*/
@@ -423,6 +427,9 @@ static void tty_set_termios_ldisc(struct tty_struct *tty, int num)
mutex_lock(&tty->termios_mutex);
tty->termios.c_line = num;
mutex_unlock(&tty->termios_mutex);
+
+ tty->disc_data = NULL;
+ tty->receive_room = 0;
}
/**
diff --git a/fs/ioprio.c b/fs/ioprio.c
index e50170ca7c33..46f0e24f43e9 100644
--- a/fs/ioprio.c
+++ b/fs/ioprio.c
@@ -149,8 +149,10 @@ static int get_task_ioprio(struct task_struct *p)
if (ret)
goto out;
ret = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, IOPRIO_NORM);
+ task_lock(p);
if (p->io_context)
ret = p->io_context->ioprio;
+ task_unlock(p);
out:
return ret;
}
diff --git a/fs/proc/base.c b/fs/proc/base.c
index 16712d59d3cc..d653273105a6 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -844,7 +844,8 @@ static ssize_t environ_read(struct file *file, char __user *buf,
int ret = 0;
struct mm_struct *mm = file->private_data;
- if (!mm)
+ /* Ensure the process spawned far enough to have an environment. */
+ if (!mm || !mm->env_end)
return 0;
page = (char *)__get_free_page(GFP_TEMPORARY);
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index 3d0723d93ec3..44d0a0222489 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -29,6 +29,19 @@
#define ULLONG_MAX (~0ULL)
#define SIZE_MAX (~(size_t)0)
+#define U8_MAX ((u8)~0U)
+#define S8_MAX ((s8)(U8_MAX>>1))
+#define S8_MIN ((s8)(-S8_MAX - 1))
+#define U16_MAX ((u16)~0U)
+#define S16_MAX ((s16)(U16_MAX>>1))
+#define S16_MIN ((s16)(-S16_MAX - 1))
+#define U32_MAX ((u32)~0U)
+#define S32_MAX ((s32)(U32_MAX>>1))
+#define S32_MIN ((s32)(-S32_MAX - 1))
+#define U64_MAX ((u64)~0ULL)
+#define S64_MAX ((s64)(U64_MAX>>1))
+#define S64_MIN ((s64)(-S64_MAX - 1))
+
#define STACK_MAGIC 0xdeadbeef
#define REPEAT_BYTE(x) ((~0ul / 0xff) * (x))
diff --git a/include/media/msm_cam_sensor.h b/include/media/msm_cam_sensor.h
index b8b178fa3fd6..288bad0f4f9b 100644
--- a/include/media/msm_cam_sensor.h
+++ b/include/media/msm_cam_sensor.h
@@ -10,6 +10,7 @@
#define I2C_SEQ_REG_SETTING_MAX 5
#define I2C_SEQ_REG_DATA_MAX 256
+#define I2C_REG_DATA_MAX (8*1024)
#define MAX_CID 16
#define MSM_SENSOR_MCLK_8HZ 8000000
diff --git a/include/net/tcp.h b/include/net/tcp.h
index 9e015ac6a457..4b94a61fc04e 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -1408,6 +1408,8 @@ static inline void tcp_check_send_head(struct sock *sk, struct sk_buff *skb_unli
{
if (sk->sk_send_head == skb_unlinked)
sk->sk_send_head = NULL;
+ if (tcp_sk(sk)->highest_sack == skb_unlinked)
+ tcp_sk(sk)->highest_sack = NULL;
}
static inline void tcp_init_send_head(struct sock *sk)
diff --git a/include/sound/q6asm-v2.h b/include/sound/q6asm-v2.h
index 66823366c31e..f934556e2297 100644
--- a/include/sound/q6asm-v2.h
+++ b/include/sound/q6asm-v2.h
@@ -198,7 +198,7 @@ struct audio_client *q6asm_get_audio_client(int session_id);
int q6asm_audio_client_buf_alloc(unsigned int dir/* 1:Out,0:In */,
struct audio_client *ac,
unsigned int bufsz,
- unsigned int bufcnt);
+ uint32_t bufcnt);
int q6asm_audio_client_buf_alloc_contiguous(unsigned int dir
/* 1:Out,0:In */,
struct audio_client *ac,
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 267309e32011..5e07e2da1c98 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -5468,7 +5468,7 @@ static int cgroup_css_links_read(struct cgroup *cont,
struct css_set *cg = link->cg;
struct task_struct *task;
int count = 0;
- seq_printf(seq, "css_set %p\n", cg);
+ seq_printf(seq, "css_set %pK\n", cg);
list_for_each_entry(task, &cg->tasks, cg_list) {
if (count++ > MAX_TASKS_SHOWN_PER_CSS) {
seq_puts(seq, " ...\n");
diff --git a/kernel/events/core.c b/kernel/events/core.c
index f99f8c251211..8178cfdec2d7 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -5408,7 +5408,6 @@ static int swevent_hlist_get_cpu(struct perf_event *event, int cpu)
int err = 0;
mutex_lock(&swhash->hlist_mutex);
-
if (!swevent_hlist_deref(swhash) && cpu_online(cpu)) {
struct swevent_hlist *hlist;
@@ -7511,13 +7510,7 @@ static void perf_event_exit_cpu_context(int cpu)
static void perf_event_exit_cpu(int cpu)
{
- struct swevent_htable *swhash = &per_cpu(swevent_htable, cpu);
-
perf_event_exit_cpu_context(cpu);
-
- mutex_lock(&swhash->hlist_mutex);
- swevent_hlist_release(swhash);
- mutex_unlock(&swhash->hlist_mutex);
}
#else
static inline void perf_event_exit_cpu(int cpu) { }
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index 121268581ec0..f3cd66228768 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -1699,7 +1699,12 @@ restart_locked:
goto out_unlock;
}
- if (unlikely(unix_peer(other) != sk && unix_recvq_full(other))) {
+ /* other == sk && unix_peer(other) != sk if
+ * - unix_peer(sk) == NULL, destination address bound to sk
+ * - unix_peer(sk) == sk by time of get but disconnected before lock
+ */
+ if (other != sk &&
+ unlikely(unix_peer(other) != sk && unix_recvq_full(other))) {
if (timeo) {
timeo = unix_wait_for_peer(other, timeo);
diff --git a/sound/soc/msm/qdsp6v2/msm-compr-q6-v2.c b/sound/soc/msm/qdsp6v2/msm-compr-q6-v2.c
index ea1d5cf8df27..f80a1c6dacf3 100644
--- a/sound/soc/msm/qdsp6v2/msm-compr-q6-v2.c
+++ b/sound/soc/msm/qdsp6v2/msm-compr-q6-v2.c
@@ -1037,6 +1037,7 @@ static int msm_compr_ioctl_shared(struct snd_pcm_substream *substream,
struct snd_dec_ddp *ddp =
&compr->info.codec_param.codec.options.ddp;
uint32_t params_length = 0;
+ memset(params_value, 0, MAX_AC3_PARAM_SIZE);
/* check integer overflow */
if (ddp->params_length > UINT_MAX/sizeof(int)) {
pr_err("%s: Integer overflow ddp->params_length %d\n",
@@ -1081,6 +1082,7 @@ static int msm_compr_ioctl_shared(struct snd_pcm_substream *substream,
struct snd_dec_ddp *ddp =
&compr->info.codec_param.codec.options.ddp;
uint32_t params_length = 0;
+ memset(params_value, 0, MAX_AC3_PARAM_SIZE);
/* check integer overflow */
if (ddp->params_length > UINT_MAX/sizeof(int)) {
pr_err("%s: Integer overflow ddp->params_length %d\n",
diff --git a/sound/soc/msm/qdsp6v2/q6asm.c b/sound/soc/msm/qdsp6v2/q6asm.c
index 6fbedced8942..189fa720f00b 100644
--- a/sound/soc/msm/qdsp6v2/q6asm.c
+++ b/sound/soc/msm/qdsp6v2/q6asm.c
@@ -44,7 +44,7 @@
#define TRUE 0x01
#define FALSE 0x00
-#define FRAME_NUM (8)
+
/* TODO, combine them together */
static DEFINE_MUTEX(session_lock);
struct asm_mmap {
@@ -919,7 +919,7 @@ err:
int q6asm_audio_client_buf_alloc(unsigned int dir,
struct audio_client *ac,
unsigned int bufsz,
- unsigned int bufcnt)
+ uint32_t bufcnt)
{
int cnt = 0;
int rc = 0;
@@ -940,9 +940,12 @@ int q6asm_audio_client_buf_alloc(unsigned int dir,
pr_debug("%s: buffer already allocated\n", __func__);
return 0;
}
- if (bufcnt != FRAME_NUM)
- goto fail;
mutex_lock(&ac->cmd_lock);
+ if (bufcnt > (U32_MAX/sizeof(struct audio_buffer))) {
+ pr_err("%s: Buffer size overflows", __func__);
+ mutex_unlock(&ac->cmd_lock);
+ goto fail;
+ }
buf = kzalloc(((sizeof(struct audio_buffer))*bufcnt),
GFP_KERNEL);
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index 3879eae7e874..65f43a30f4a2 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -136,6 +136,7 @@ static int create_fixed_stream_quirk(struct snd_usb_audio *chip,
snd_printk(KERN_ERR "cannot memdup\n");
return -ENOMEM;
}
+ INIT_LIST_HEAD(&fp->list);
if (fp->nr_rates > MAX_NR_RATES) {
kfree(fp);
return -EINVAL;
@@ -153,16 +154,12 @@ static int create_fixed_stream_quirk(struct snd_usb_audio *chip,
stream = (fp->endpoint & USB_DIR_IN)
? SNDRV_PCM_STREAM_CAPTURE : SNDRV_PCM_STREAM_PLAYBACK;
err = snd_usb_add_audio_stream(chip, stream, fp);
- if (err < 0) {
- kfree(fp);
- kfree(rate_table);
- return err;
- }
+ if (err < 0)
+ goto error;
if (fp->iface != get_iface_desc(&iface->altsetting[0])->bInterfaceNumber ||
fp->altset_idx >= iface->num_altsetting) {
- kfree(fp);
- kfree(rate_table);
- return -EINVAL;
+ err = -EINVAL;
+ goto error;
}
alts = &iface->altsetting[fp->altset_idx];
if (fp->datainterval == 0)
@@ -173,6 +170,12 @@ static int create_fixed_stream_quirk(struct snd_usb_audio *chip,
snd_usb_init_pitch(chip, fp->iface, alts, fp);
snd_usb_init_sample_rate(chip, fp->iface, alts, fp, fp->rate_max);
return 0;
+
+ error:
+ list_del(&fp->list); /* unlink for avoiding double-free */
+ kfree(fp);
+ kfree(rate_table);
+ return err;
}
/*
@@ -239,6 +242,7 @@ static int create_uaxx_quirk(struct snd_usb_audio *chip,
fp->ep_attr = get_endpoint(alts, 0)->bmAttributes;
fp->datainterval = 0;
fp->maxpacksize = le16_to_cpu(get_endpoint(alts, 0)->wMaxPacketSize);
+ INIT_LIST_HEAD(&fp->list);
switch (fp->maxpacksize) {
case 0x120:
@@ -262,6 +266,7 @@ static int create_uaxx_quirk(struct snd_usb_audio *chip,
? SNDRV_PCM_STREAM_CAPTURE : SNDRV_PCM_STREAM_PLAYBACK;
err = snd_usb_add_audio_stream(chip, stream, fp);
if (err < 0) {
+ list_del(&fp->list); /* unlink for avoiding double-free */
kfree(fp);
return err;
}
diff --git a/sound/usb/stream.c b/sound/usb/stream.c
index 7db2f8958e79..97e678ba194e 100644
--- a/sound/usb/stream.c
+++ b/sound/usb/stream.c
@@ -307,7 +307,9 @@ static struct snd_pcm_chmap_elem *convert_chmap(int channels, unsigned int bits,
/*
* add this endpoint to the chip instance.
* if a stream with the same endpoint already exists, append to it.
- * if not, create a new pcm stream.
+ * if not, create a new pcm stream. note, fp is added to the substream
+ * fmt_list and will be freed on the chip instance release. do not free
+ * fp or do remove it from the substream fmt_list to avoid double-free.
*/
int snd_usb_add_audio_stream(struct snd_usb_audio *chip,
int stream,
@@ -643,6 +645,7 @@ int snd_usb_parse_audio_interface(struct snd_usb_audio *chip, int iface_no)
fp->attributes = parse_uac_endpoint_attributes(chip, alts, protocol, iface_no);
fp->clock = clock;
fp->chmap = convert_chmap(num_channels, chconfig, protocol);
+ INIT_LIST_HEAD(&fp->list);
/* some quirks for attributes here */
@@ -687,6 +690,7 @@ int snd_usb_parse_audio_interface(struct snd_usb_audio *chip, int iface_no)
snd_printdd(KERN_INFO "%d:%u:%d: add audio endpoint %#x\n", dev->devnum, iface_no, altno, fp->endpoint);
err = snd_usb_add_audio_stream(chip, stream, fp);
if (err < 0) {
+ list_del(&fp->list); /* unlink for avoiding double-free */
kfree(fp->rate_table);
kfree(fp->chmap);
kfree(fp);