Re: [v2] serial_core:recognize invalid pointer from userspace

2016-03-10 Thread Lu.Jiang
On 2016年03月10日 21:46, One Thousand Gnomes wrote: When userspace get setting with TIOCGSERIAL, 1.On 64bit kernel + 32bit rootfs, compat ioctl code use 0x to mark invalid conversion. Start at the beginning. What is being passed back and forth that causes the problem. What memory address d

Re: [v2] serial_core:recognize invalid pointer from userspace

2016-03-10 Thread One Thousand Gnomes
> When userspace get setting with TIOCGSERIAL, > > 1.On 64bit kernel + 32bit rootfs, compat ioctl code use 0x to > mark invalid conversion. Start at the beginning. What is being passed back and forth that causes the problem. What memory address does your uart have ? > 2.On 32bit kernel

Re: [v2] serial_core:recognize invalid pointer from userspace

2016-03-09 Thread Lu.Jiang
On 2016年03月10日 11:34, Greg KH wrote: On Thu, Mar 10, 2016 at 11:17:23AM +0800, Jiang Lu wrote: compat_ioctl use 0x as a magic number to mark invalid pointer for iomem_base in serial_struct when truncating a 64bit pointer into 32bit. Serial driver need recognize this invalid pointer when

Re: [v2] serial_core:recognize invalid pointer from userspace

2016-03-09 Thread Greg KH
On Thu, Mar 10, 2016 at 11:17:23AM +0800, Jiang Lu wrote: > compat_ioctl use 0x as a magic number to mark invalid pointer > for iomem_base in serial_struct when truncating a 64bit pointer into > 32bit. > > Serial driver need recognize this invalid pointer when parsing > serial_struct from

[v2]serial_core:recognize invalid pointer from userspace

2016-03-09 Thread Jiang Lu
Hi, [v1 -> v2] Fix a compile warning with data convert. [v1 log] When running setserial, application issue a TIOCGSERIAL iotcl to get serial setting, then update serial setting with TIOCSSERIAL ioctl. It always failed with TIOCSSERIAL ioctl, for application pass 0x for iomem_base i

[v2] serial_core:recognize invalid pointer from userspace

2016-03-09 Thread Jiang Lu
compat_ioctl use 0x as a magic number to mark invalid pointer for iomem_base in serial_struct when truncating a 64bit pointer into 32bit. Serial driver need recognize this invalid pointer when parsing serial_struct from userspace. Signed-off-by: Jiang Lu --- drivers/tty/serial/serial_co