Re: [PATCH v5 03/14] ASoC: SOF: Add driver debug support.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/29/19 12:04 PM, Takashi Iwai wrote:
On Thu, 21 Mar 2019 17:10:05 +0100,
Pierre-Louis Bossart wrote:

+static ssize_t sof_dfsentry_read(struct file *file, char __user *buffer,
+				 size_t count, loff_t *ppos)
+{
+	struct snd_sof_dfsentry *dfse = file->private_data;
+	struct snd_sof_dev *sdev = dfse->sdev;
+	int size;
+	u32 *buf;
+	loff_t pos = *ppos;
+	size_t size_ret;
+
+	size = dfse->size;
+
+	/* validate position & count */
+	if (pos < 0)
+		return -EINVAL;
+	if (pos >= size || !count)
+		return 0;
+	/* find the minimum. min() is not used since it adds sparse warnings */
+	if (count > size - pos)
+		count = size - pos;
+
+	/* intermediate buffer size must be u32 multiple */
+	size = ALIGN(count, 4);

Doesn't pos need to be aligned to 32bit as well (at least at actually
reading from iomem)?

Good point, we can either return an error if the count in both a multiple of 32 bits, or do some caching to allow for arbitrary size access. The former is very simple but not sure if this is accepted behavior for debugfs.
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux