From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f74.google.com (mail-ed1-f74.google.com [209.85.208.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 541CE324B17 for ; Fri, 13 Feb 2026 08:25:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.74 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770971108; cv=none; b=pfrctC/fpL5Z2YYleQNPJ82htpSQ1AxpD7Axu9Fa8dcCasBJq+AmiGddc3Mol01bni7IHnNoH91R2RDpD7I0DltbOE8T9Lv3ZI+K4qorsVf0DnATl0KZAgJo1RaUZXzryO+43tRlRa44DUXETDuDI4l0ELUM4bmnXhpabtYNyJo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770971108; c=relaxed/simple; bh=wdAPKjIRiMdZ+Khg/uMu9T4qLHqv1NI2m6oLP6txWl0=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=DtOpLCmF6n46c1UfA1s1uLSLlcQHwsPPSdl3k+cEIgnaQHz7ZbNbPbOfRpBJucSjBcjxzB7kEW8unbuwPNS8XCvwGuKQ/wzVSb6O7zYWeNYG8jwZIjGF12cRTCNQfFmH75bBx/kw98vMXp4HOwA5w+u+sJLOf5Li6stztuKnfv8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=MCXiWErZ; arc=none smtp.client-ip=209.85.208.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="MCXiWErZ" Received: by mail-ed1-f74.google.com with SMTP id 4fb4d7f45d1cf-65ba5ca08eeso620280a12.0 for ; Fri, 13 Feb 2026 00:25:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1770971105; x=1771575905; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=k/Fpict9RP9phqDA33q323VHfgCoK0WPDmqyq4ZAEDo=; b=MCXiWErZW7dW9d3/Ygk7leQELmVVwfu2vtALCiQdtgUEI0ATZGBSvm1I3R5hja1o0X gxtWU1uJ2oUjqE+wLCwupl9P+BJNw9TU2anohHXv0yHGJR9MBVApsv/0Qyqlu4afHW5i AOTjSvmIYcMPSwOcbi07eWS3GOOX9GUD62168AvRy5RjKXsua1hJS3sXlNCnVAC6FMCe SqGyfLYAV9Jqr66cYvllvSWmjl4DmNXm7Ivzzn6RHU5NFI6cfZWFr0rxPhvOMz4/gpoj WfOfbaKK2KVhowIrTTsf4mY/0C4RUVC5YQNquRUICX/lbMjEImYhdchb4HRImYFcaJzg dQxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770971105; x=1771575905; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=k/Fpict9RP9phqDA33q323VHfgCoK0WPDmqyq4ZAEDo=; b=WHh+8oV8QHRSo+2gyCnsStMLf3JZaizO+2EQlPiQtDIXzxxvfjtbwcQZEdC+0ykDuO bI1YjrsD8StwiQx8OZSGwAkoH0prf8HmVO8dJtszA8tKXB9nzOXCmtPzFZ0jbXpl8dzu JkttGKjfIfGKOMal8j/1FEPg7S4UENArupumlR8H6kYo8CtOjIVp6LpU7+dqKoHWqcCj 1hWQQ4WR9Tu6SuZz5rtRAhEPM/qMWq9RRVmqubIlYntVTyqMVSLtqMDZjRJzlJqWQljM WiIywqHkvU9cxIeARZaZVdwGmHwpIkj/UnZ/5R+VbMw8UF633QDnH4FEOkCl37e3/lht +9qw== X-Forwarded-Encrypted: i=1; AJvYcCVUmz8uXO9tTTrU/BNmKZBg0YOxY117da5xFU5XF1eep1MS6XbQfC7pFGXMlFufjmHk92SfNqDAN+8f3LI=@vger.kernel.org X-Gm-Message-State: AOJu0Yy9k0a3kvMbheuY5lWDUitpQIRXOqCljpB/rqINJB8C9wBKxaB4 FMjKUcMEsHUoqs2/OoiTrdH441JtHAo1nbdcBrVbpvNJmsfYDaijUoDD+F6j25ezYAbOZO75THh VPVfXWl35Khh8eMgvKQ== X-Received: from ejchd40.prod.google.com ([2002:a17:907:96a8:b0:b8d:f04c:ebbb]) (user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by 2002:a17:907:747:b0:b87:9b53:b67c with SMTP id a640c23a62f3a-b8facd3d77fmr103279866b.26.1770971104551; Fri, 13 Feb 2026 00:25:04 -0800 (PST) Date: Fri, 13 Feb 2026 08:25:03 +0000 In-Reply-To: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: Message-ID: Subject: Re: rust binder: many pr_warn!() / pr_err!() with missing newlines From: Alice Ryhl To: Jann Horn Cc: Greg Kroah-Hartman , "Arve =?utf-8?B?SGrDuG5uZXbDpWc=?=" , Todd Kjos , Christian Brauner , Carlos Llamas , kernel list Content-Type: text/plain; charset="utf-8" On Thu, Feb 12, 2026 at 11:30:01PM +0100, Jann Horn wrote: > Hi! > > I've noticed that in many of the rust files under > drivers/android/binder/, there are pr_warn!() and pr_err!() statements > that lack the terminating newline, wrongly indicating that the log > lines are supposed to be followed by continuations: > > $ git grep 'pr_.*("' drivers/android/ | grep -v '\\n"' > drivers/android/binder.c: pr_info_ratelimited("%pV", &vaf); > drivers/android/binder.c: pr_info_ratelimited("%pV", &vaf); > drivers/android/binder/allocation.rs: > pr_warn!("Failed to clear data on free: {:?}", e); > drivers/android/binder/context.rs: > pr_err!("Context::register_process called on the wrong context."); > drivers/android/binder/context.rs: > pr_err!("Context::deregister_process called on the wrong context."); > drivers/android/binder/context.rs: > pr_warn!("BINDER_SET_CONTEXT_MGR already set"); > drivers/android/binder/node.rs: pr_err!("inc_ref_done > called when no active inc_refs"); > drivers/android/binder/node.rs: pr_err!("Failure: > refcount underflow!"); > drivers/android/binder/page_range.rs: pr_err!("set_page > called when there is already a page"); > drivers/android/binder/page_range.rs: pr_debug!("Failed to > register with vma: invalid vma->vm_mm"); > drivers/android/binder/page_range.rs: pr_debug!("Failed to > register with vma: size zero"); > drivers/android/binder/page_range.rs: pr_debug!("Failed to > register with vma: already registered"); > drivers/android/binder/page_range.rs: > pr_warn!("Error in use_page_slow: {:?}", err); > drivers/android/binder/page_range.rs: pr_warn!("Page is null!"); > drivers/android/binder/process.rs: pr_warn!("Notification > added to `delivered_deaths` twice."); > drivers/android/binder/process.rs: > pr_err!("get_current_thread was called from the wrong process."); > drivers/android/binder/process.rs: pr_err!("Cannot > create two threads with the same id."); > drivers/android/binder/process.rs: > pr_err!("Detected mismatch between handle_is_present and by_handle"); > drivers/android/binder/process.rs: pr_warn!("use_range > failure {:?}", err); > drivers/android/binder/process.rs: > pr_err!("outstanding_txns underflow"); > drivers/android/binder/process.rs: pr_err!("Same thread > registered with `ready_threads` twice."); > drivers/android/binder/range_alloc/tree.rs: > pr_warn!("ENOSPC from range_alloc.reserve_new - size: {}", size); > drivers/android/binder/rust_binder_main.rs: pr_warn!("Loaded > Rust Binder."); > drivers/android/binder/thread.rs: pr_warn!("Thread reply > work is already in use."); > drivers/android/binder/thread.rs: pr_warn!("Thread return > work is already in use."); > drivers/android/binder/thread.rs: > pr_err!("UserSlice::read_all returned wrong length in > BINDER_TYPE_FDA"); > drivers/android/binder/thread.rs: pr_warn!("Failed > copying into alloc: {:?}", err); > drivers/android/binder/thread.rs: > pr_warn!("Failed copying ptr into alloc: {:?}", err); > drivers/android/binder/thread.rs: pr_warn!("Failed > skipping {} from reader: {:?}", fixup_len, err); > drivers/android/binder/thread.rs: pr_warn!("Failed > copying remainder into alloc: {:?}", err); > drivers/android/binder/thread.rs: pr_warn!("Failed > to get security ctx for id {}: {:?}", secid, err); > drivers/android/binder/thread.rs: pr_warn!("Got > transaction with invalid offset."); > drivers/android/binder/thread.rs: > pr_warn!("Error while translating object."); > drivers/android/binder/thread.rs: pr_warn!("Failure in > apply_sg: {:?}", err); > drivers/android/binder/thread.rs: pr_warn!("Failed to > write security context: {:?}", err); > drivers/android/binder/thread.rs: pr_warn!("got new > transaction with bad transaction stack"); > drivers/android/binder/thread.rs: pr_warn!("Transaction > stack changed during transaction!"); > drivers/android/binder/thread.rs: pr_warn!("Failure > when writing BR_NOOP at beginning of buffer."); > drivers/android/binder/thread.rs: > pr_warn!("Failure in work getter: {:?}", err); > drivers/android/binder/transaction.rs: > pr_warn!("Failure in copy_transaction_data: {:?}", err); > drivers/android/binder/transaction.rs: pr_warn!("Oneway > transaction should not be in a transaction stack."); > drivers/android/binder/transaction.rs: > pr_warn!("Failure in copy_transaction_data: {:?}", err); > drivers/android/binder/transaction.rs: pr_err!("Failed > to submit oneway transaction to node."); > > My understanding is that in practice, this likely mostly has the > effect that these lines will be printed with an unintended delay. Yes, that sounds right. > I'm not going to send a patch for this, I think the binder maintainers > probably have a better idea of how/when to fix that in a way that > won't lead to ugly merge conflicts somewhere. Thanks for reporting this. I think all that needs to happen is a patch fixing them, and we backport it whereever is required. Alice