2013-06-14 20:47:46

by Ross Lagerwall

[permalink] [raw]
Subject: Possible tty VT1 disallocate regression

Hi,

Ever since commit 421b40a6286e ("tty/vt: Fix vc_deallocate() lock
order"), the first VT does not clear when I log out. AFAIK, this means
that disallocation is not working? The problem only affects the first
VT, the others clear when logging out.

Regards
--
Ross Lagerwall


2013-06-14 21:35:09

by Greg KH

[permalink] [raw]
Subject: Re: Possible tty VT1 disallocate regression

On Fri, Jun 14, 2013 at 09:47:40PM +0100, Ross Lagerwall wrote:
> Hi,
>
> Ever since commit 421b40a6286e ("tty/vt: Fix vc_deallocate() lock
> order"), the first VT does not clear when I log out. AFAIK, this means
> that disallocation is not working? The problem only affects the first
> VT, the others clear when logging out.

And if you revert that patch, does it all start working again?

thanks,

greg k-h

p.s. In the future, please cc: the people who handled the patch you are
asking about, otherwise stuff like this often gets missed in the noise
of lkml.

2013-06-14 22:02:16

by Peter Hurley

[permalink] [raw]
Subject: Re: Possible tty VT1 disallocate regression

On 06/14/2013 05:35 PM, Greg KH wrote:
> On Fri, Jun 14, 2013 at 09:47:40PM +0100, Ross Lagerwall wrote:
>> Hi,
>>
>> Ever since commit 421b40a6286e ("tty/vt: Fix vc_deallocate() lock
>> order"), the first VT does not clear when I log out. AFAIK, this means
>> that disallocation is not working? The problem only affects the first
>> VT, the others clear when logging out.
>
> And if you revert that patch, does it all start working again?
>
> thanks,
>
> greg k-h
>
> p.s. In the future, please cc: the people who handled the patch you are
> asking about, otherwise stuff like this often gets missed in the noise
> of lkml.

I've already been re-reviewing the VT indexing to see if or what I missed.

Thanks,
Peter Hurley

2013-06-14 22:24:47

by Ross Lagerwall

[permalink] [raw]
Subject: [PATCH] tty/vt: Return EBUSY if deallocating VT1 and it is busy

Commit 421b40a6286e ("tty/vt: Fix vc_deallocate() lock order") changed
the behavior when deallocating VT 1. Previously if trying to
deallocate VT1 and it is busy, we would return EBUSY. The commit
changed this to return 0 (success).

This commit restores the old behavior.

Signed-off-by: Ross Lagerwall <[email protected]>
---
On 06/14/2013 05:35 PM, Greg KH wrote:
> p.s. In the future, please cc: the people who handled the patch you are
> asking about, otherwise stuff like this often gets missed in the noise
> of lkml.

Yes, sorry about that. I only remembered after I sent the email.

drivers/tty/vt/vt_ioctl.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/tty/vt/vt_ioctl.c b/drivers/tty/vt/vt_ioctl.c
index fc2c06c..2bd78e2 100644
--- a/drivers/tty/vt/vt_ioctl.c
+++ b/drivers/tty/vt/vt_ioctl.c
@@ -289,13 +289,10 @@ static int vt_disallocate(unsigned int vc_num)
struct vc_data *vc = NULL;
int ret = 0;

- if (!vc_num)
- return 0;
-
console_lock();
if (VT_BUSY(vc_num))
ret = -EBUSY;
- else
+ else if (vc_num)
vc = vc_deallocate(vc_num);
console_unlock();

--
1.8.3.1

2013-06-14 23:02:01

by Peter Hurley

[permalink] [raw]
Subject: Re: [PATCH] tty/vt: Return EBUSY if deallocating VT1 and it is busy

On 06/14/2013 06:24 PM, Ross Lagerwall wrote:
> Commit 421b40a6286e ("tty/vt: Fix vc_deallocate() lock order") changed
> the behavior when deallocating VT 1. Previously if trying to
> deallocate VT1 and it is busy, we would return EBUSY. The commit
> changed this to return 0 (success).
>
> This commit restores the old behavior.
>
> Signed-off-by: Ross Lagerwall <[email protected]>

Thanks.

Acked-by: Peter Hurley <[email protected]>

2013-06-15 04:47:52

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH] tty/vt: Return EBUSY if deallocating VT1 and it is busy

On Fri, Jun 14, 2013 at 07:01:56PM -0400, Peter Hurley wrote:
> On 06/14/2013 06:24 PM, Ross Lagerwall wrote:
> >Commit 421b40a6286e ("tty/vt: Fix vc_deallocate() lock order") changed
> >the behavior when deallocating VT 1. Previously if trying to
> >deallocate VT1 and it is busy, we would return EBUSY. The commit
> >changed this to return 0 (success).
> >
> >This commit restores the old behavior.
> >
> >Signed-off-by: Ross Lagerwall <[email protected]>
>
> Thanks.
>
> Acked-by: Peter Hurley <[email protected]>

Thanks for this, I'll queue it up for Linus soon.

greg k-h

2013-06-16 17:38:11

by Mikael Pettersson

[permalink] [raw]
Subject: Re: [PATCH] tty/vt: Return EBUSY if deallocating VT1 and it is busy

Ross Lagerwall writes:
> Commit 421b40a6286e ("tty/vt: Fix vc_deallocate() lock order") changed
> the behavior when deallocating VT 1. Previously if trying to
> deallocate VT1 and it is busy, we would return EBUSY. The commit
> changed this to return 0 (success).
>
> This commit restores the old behavior.
>
> Signed-off-by: Ross Lagerwall <[email protected]>

This solves the VT blanking regression I've seen with the 3.10-rc
kernels.

Tested-by: Mikael Pettersson <[email protected]>

> ---
> On 06/14/2013 05:35 PM, Greg KH wrote:
> > p.s. In the future, please cc: the people who handled the patch you are
> > asking about, otherwise stuff like this often gets missed in the noise
> > of lkml.
>
> Yes, sorry about that. I only remembered after I sent the email.
>
> drivers/tty/vt/vt_ioctl.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/drivers/tty/vt/vt_ioctl.c b/drivers/tty/vt/vt_ioctl.c
> index fc2c06c..2bd78e2 100644
> --- a/drivers/tty/vt/vt_ioctl.c
> +++ b/drivers/tty/vt/vt_ioctl.c
> @@ -289,13 +289,10 @@ static int vt_disallocate(unsigned int vc_num)
> struct vc_data *vc = NULL;
> int ret = 0;
>
> - if (!vc_num)
> - return 0;
> -
> console_lock();
> if (VT_BUSY(vc_num))
> ret = -EBUSY;
> - else
> + else if (vc_num)
> vc = vc_deallocate(vc_num);
> console_unlock();
>
> --
> 1.8.3.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>