drivers/tty/serial/serial_core.c | 7 +++++++ 1 file changed, 7 insertions(+)
Current serial core driver doesn't support compat_ioctl
due to which 32-bit application is not able to send
ioctls to driver on a 64-bit platform.
Added compat_ioctl support in serial core to handle
ioctls from 32-bit applications on a 64-bit platform.
Signed-off-by: Viken Dadhaniya <quic_vdadhani@quicinc.com>
---
drivers/tty/serial/serial_core.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
index b9fbbee598b8..ad4c3a5a3d29 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -1601,6 +1601,12 @@ uart_ioctl(struct tty_struct *tty, unsigned int cmd, unsigned long arg)
return ret;
}
+static long
+uart_compat_ioctl(struct tty_struct *tty, unsigned int cmd, unsigned long arg)
+{
+ return (long)uart_ioctl(tty, cmd, arg);
+};
+
static void uart_set_ldisc(struct tty_struct *tty)
{
struct uart_state *state = tty->driver_data;
@@ -2670,6 +2676,7 @@ static const struct tty_operations uart_ops = {
.chars_in_buffer= uart_chars_in_buffer,
.flush_buffer = uart_flush_buffer,
.ioctl = uart_ioctl,
+ .compat_ioctl = uart_compat_ioctl,
.throttle = uart_throttle,
.unthrottle = uart_unthrottle,
.send_xchar = uart_send_xchar,
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation
On Wed, Jan 25, 2023 at 05:04:18PM +0530, Viken Dadhaniya wrote: > Current serial core driver doesn't support compat_ioctl > due to which 32-bit application is not able to send > ioctls to driver on a 64-bit platform. > > Added compat_ioctl support in serial core to handle > ioctls from 32-bit applications on a 64-bit platform. > > Signed-off-by: Viken Dadhaniya <quic_vdadhani@quicinc.com> > --- > drivers/tty/serial/serial_core.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c > index b9fbbee598b8..ad4c3a5a3d29 100644 > --- a/drivers/tty/serial/serial_core.c > +++ b/drivers/tty/serial/serial_core.c > @@ -1601,6 +1601,12 @@ uart_ioctl(struct tty_struct *tty, unsigned int cmd, unsigned long arg) > return ret; > } > > +static long > +uart_compat_ioctl(struct tty_struct *tty, unsigned int cmd, unsigned long arg) > +{ > + return (long)uart_ioctl(tty, cmd, arg); How does this "fix" your out-of-tree driver at all? What command is being sent that has this incorrect that this simple "pass through" is going to solve? Can you point us at the out-of-tree code please? thanks, greg k-h
Hi Greg, "Can you point us at the out-of-tree code please?" Please refer: https://git.codelinaro.org/clo/la/kernel/msm-5.10/-/blob/KERNEL.PLATFORM.1.0.r3-01300-kernel.0/drivers/tty/serial/msm_geni_serial.c#L750 Thanks Viken Dadhaniya On 1/25/2023 5:54 PM, Greg KH wrote: > On Wed, Jan 25, 2023 at 05:04:18PM +0530, Viken Dadhaniya wrote: >> Current serial core driver doesn't support compat_ioctl >> due to which 32-bit application is not able to send >> ioctls to driver on a 64-bit platform. >> >> Added compat_ioctl support in serial core to handle >> ioctls from 32-bit applications on a 64-bit platform. >> >> Signed-off-by: Viken Dadhaniya <quic_vdadhani@quicinc.com> >> --- >> drivers/tty/serial/serial_core.c | 7 +++++++ >> 1 file changed, 7 insertions(+) >> >> diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c >> index b9fbbee598b8..ad4c3a5a3d29 100644 >> --- a/drivers/tty/serial/serial_core.c >> +++ b/drivers/tty/serial/serial_core.c >> @@ -1601,6 +1601,12 @@ uart_ioctl(struct tty_struct *tty, unsigned int cmd, unsigned long arg) >> return ret; >> } >> >> +static long >> +uart_compat_ioctl(struct tty_struct *tty, unsigned int cmd, unsigned long arg) >> +{ >> + return (long)uart_ioctl(tty, cmd, arg); > How does this "fix" your out-of-tree driver at all? What command is > being sent that has this incorrect that this simple "pass through" is > going to solve? > > Can you point us at the out-of-tree code please? > > thanks, > > greg k-h
A: http://en.wikipedia.org/wiki/Top_post Q: Were do I find info about this thing called top-posting? A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? A: No. Q: Should I include quotations after my reply? http://daringfireball.net/2007/07/on_top On Thu, Feb 02, 2023 at 03:44:45PM +0530, Viken Dadhaniya wrote: > Hi Greg, > > "Can you point us at the out-of-tree code please?" > > Please refer: https://git.codelinaro.org/clo/la/kernel/msm-5.10/-/blob/KERNEL.PLATFORM.1.0.r3-01300-kernel.0/drivers/tty/serial/msm_geni_serial.c#L750 As this is a 5.10 link, are you sure this is the same codebase you are using? That ioctl handler does not touch the arg parameter at all, so what would a compat_ioctl() handler be required for? confused, greg k-h
© 2016 - 2025 Red Hat, Inc.